GetStringListItemA

توابع متنوع

توضیحات

حرف A انتهایی نشان‌دهنده نقطه ورودی ANSI (char) در DLL است؛ رابط ActiveX/COM تنها فرم Unicode را نشان می‌دهد. رفتار آن با GetStringListItem یکسان است و آرگومان‌های رشته‌ای با استفاده از صفحه کد فعلی SetAnsiMode تفسیر می‌شوند

رشته‌ای را در موقعیت ItemIndex از string list مشخص‌شده با StringListID برمی‌گرداند. String listها توسط سایر توابع API تولید می‌شوند — رایج‌ترینشان CheckFileCompliance است که برای هر مشکل انطباق شناسایی‌شده یک entry برمی‌گرداند

نحو

Delphi

Function DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;

DLL

const char * DLGetStringListItemA(int InstanceID, int StringListID, int ItemIndex);

پارامترها

StringListIDشناسهٔ فهرست رشته‌ها همان‌طور که توسط یک تابع تولیدکننده مانند CheckFileCompliance برگردانده شده است
ItemIndexشاخص یک‌مبنهٔ مورد برای بازیابی. اولین مورد 1 است؛ آخرین مورد GetStringListCount(StringListID). شاخص‌های خارج از بازه رشتهٔ خالی برمی‌گردانند

مقدار بازگشتی

رشته در شاخص درخواستی، یا رشتهٔ خالی اگر StringListID نامعتبر باشد یا ItemIndex بیرون [1 .. GetStringListCount] باشد

ملاحظات

برای فهرست‌هایی که توسط CheckFileCompliance تولید می‌شوند، قالب item برابر CODE: human-readable description است؛ CODE یکی از کدهای پنج‌رقمی issue است که در صفحه CheckFileCompliance مستند شده‌اند (00002، 00003، 00005، 00006، 00007، 00011، 00012). برای اقدام برنامه‌ریزی‌شده روی code، prefix را قبل از colon حذف کنید

مثال

// Parse the issue code from each compliance issue line
var
  Issues, Count, I, ColonPos: Integer;
  Line, Code: WideString;
begin
  Issues := PDF.CheckFileCompliance('archive.pdf', '', 1, 0);
  if Issues = 0 then Exit;

  Count := PDF.GetStringListCount(Issues);
  for I := 1 to Count do
  begin
    Line := PDF.GetStringListItem(Issues, I);
    ColonPos := Pos(':', Line);
    if ColonPos > 0 then
      Code := Trim(Copy(Line, 1, ColonPos - 1))
    else
      Code := Line;

    if Code = '00006' then
      WriteLn('Document is encrypted — cannot be PDF/A')
    else
      WriteLn('Issue ', Code, ': ', Line);
  end;
  PDF.ReleaseStringList(Issues);
end;

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

GetStringListCount, ReleaseStringList, CheckFileCompliance