function MovePages(
const PageIndices: array of Integer;
DestPageIndex : Integer): Boolean;
تعيد الدالة MovePages ترتيب صفحات هذا المستند. وتسرد
PageIndices الفهارس التي تبدأ من الصفر للصفحات المراد نقلها (بأي ترتيب وبأي
عدد حتى PageCount)؛ أما DestPageIndex فهو
فهرس الهدف لأول صفحة منقولة بعد اكتمال النقل. وتنزاح الصفحات الأخرى حول الكتلة المنقولة كي يبقى طول
المستند كما هو.
مثال: في مستند من 5 صفحات مرقمة
[0, 1, 2, 3, 4]،
ينتج MovePages([2, 3], 0)
[2, 3, 0, 1, 4] — تُنتزع الصفحتان 2 و 3،
وتنزاح الصفحة 0 إلى الموضع 2 (حيث كانت الصفحة 2)، وتنزاح الصفحة 1 إلى
الموضع 3، وتبقى الصفحة 4 في مكانها.
تُرجع True عند النجاح. وتُرجع False
إذا كان أي فهرس في PageIndices خارج النطاق، أو كان
DestPageIndex خارج النطاق، أو احتوت
PageIndices على تكرارات.
هذا هو الاستدعاء المناسب لعمليات "نقل المصغرات المحددة لأعلى / أسفل" /
إعادة ترتيب الصفحات بالسحب والإفلات في واجهة مستخدم. ولـ نسخ مجموعة فرعية
من الصفحات من مستند آخر استخدم ImportPagesByIndex؛ و
لحذف الصفحات استخدم DeletePage.
Active. ولا تغير إعادة الترتيب قيمة PageCount.PageNumber الحالي إلى الإشارة إلى صفحة مختلفة بعد النقل — فحدّث أي حالة في الواجهة تتتبع الصفحة الحالية.
// In a 5-page document, move pages 2 and 3 to the start.
// Result: [2, 3, 0, 1, 4]
if not Pdf1.MovePages([2, 3], 0) then
ShowMessage('Invalid indices passed to MovePages');
// Reverse the entire document
var
I: Integer;
Indices: array of Integer;
begin
SetLength(Indices, Pdf1.PageCount);
for I := 0 to High(Indices) do
Indices[I] := High(Indices) - I;
Pdf1.MovePages(Indices, 0);
end;