مستندات HotXLS

متد CreateLoadedCellCursor

مکان‌نمایی کششی روی سلول‌های ذخیره‌شده یک کتاب کار کلاسیک XLS بارگذاری‌شده می‌سازد، با گزینه‌ای برای گنجاندن سلول‌های خالی که به‌استقلال سبک‌دار شده‌اند

نحو

function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(
  AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;

ترتیب پیمایش و هزینه

مکان‌نما کاربرگ‌ها را به ترتیب مجموعه و سپس سلول‌ها را به ترتیب صعودی سطر و ستون بازدید می‌کند

SheetIndex، Row و Col مختصات عمومی مبتنی بر یک هستند

پیمایش مستقیماً از شاخه‌های تخصیص‌یافته ذخیره‌سازی خلوت کلاسیک پیروی می‌کند؛ بنابراین وضعیت مکان‌نما ثابت می‌ماند و آرایه‌هایی به اندازه حدود سطر یا ستون کاربرگ تخصیص نمی‌دهد

سربارگذاری بدون پارامتر از سلول‌های خالی صرف‌نظر می‌کند و قرارداد پیمایش فعلی مقدار و فرمول را حفظ می‌کند

برای گنجاندن سلول‌های خالی ذخیره‌شده‌ای که قالب XF آن‌ها با قالب به‌ارث‌رسیده سطر، ستون یا کاربرگ تفاوت دارد، True بفرستید

قالب به‌ارث‌رسیده به‌تنهایی هیچ مختصات خالی‌ای را عینیت نمی‌بخشد و صادر نمی‌کند

فیلدهای تصویر لحظه‌ای

فیلدمعنی
SheetIndex / SheetNameهویت کاربرگ مالک در لحظه ثبت
Row / Colمختصات سلول مبتنی بر یک
StyleIndexاندیس سبک XF کلاسیک
KindxlckText، xlckNumber، xlckDateTime، xlckBoolean، xlckFormula یا xlckBlank
Valueمقدار Variant متعلق به فراخوان که برای سلول جاری ثبت شده است
Formulaمتن فرمول برای سلول‌های فرمول‌دار، در غیر این صورت رشته خالی

رشته‌ها و مقدارهای Variant در TXLSLoadedCellSnapshot مقادیر متعلق به فراخوان‌اند و اشیای داخلی سلول را افشا نمی‌کنند

برای سلول‌های فرمول‌دار، Value از دلالت‌های معمول دسترسی به مقدار کتاب کار کلاسیک پیروی می‌کند، از جمله محاسبه در صورت لزوم

برای xlckBlank، مقدار Value برابر Unassigned و Formula خالی است و StyleIndex قالب XF ذخیره‌شده سلول را مشخص می‌کند

وضعیت و بی‌اعتبارسازی

State برابر xlccBeforeFirst است تا آنکه نخستین MoveNext موفق رخ دهد، برابر xlccActive است تا زمانی که Current در دسترس است، و پس از پایان پیمایش برابر xlccEof می‌شود

خواندن Current پیش از نخستین سلول یا پس از EOF استثنای EXLSLoadedCellCursorState را ایجاد می‌کند

ایجاد یا حذف سلول‌های ذخیره‌شده، افزودن یا حذف یا جابه‌جایی کاربرگ‌ها، یا جایگزینی مدل کتاب کار، مکان‌نما را بی‌اعتبار می‌کند

فراخوانی بعدی MoveNext یا Current در آن صورت استثنای EXLSLoadedCellCursorInvalidated را ایجاد می‌کند

تغییر مقدار، فرمول یا قالب یک سلول موجود مکان‌نما را بی‌اعتبار نمی‌کند و تصویر لحظه‌ای ثبت‌شده پیشین دست‌نخورده می‌ماند

مثال

Cursor := Workbook.CreateLoadedCellCursor;
while Cursor.MoveNext do
begin
  Cell := Cursor.Current;
  Memo1.Lines.Add(Format('%s!R%dC%d = %s',
    [Cell.SheetName, Cell.Row, Cell.Col, VarToStr(Cell.Value)]));
end;

همچنین ببینید