GetStringListItemA

Vegyes funkciók

Leírás

A záró A a DLL ANSI-belépési pontját (char) jelöli; az ActiveX/COM felület csak a Unicode formát teszi elérhetővé. A működés megegyezik ezzel: GetStringListItem, és a sztringargumentumok a jelenlegi SetAnsiMode kódlap alapján értelmeződnek

Visszaadja a StringListID által azonosított karakterlánclista ItemIndex helyén lévő karakterláncot. A karakterlánclistákat más API-függvények hozzák létre — leggyakrabban az CheckFileCompliance, amely minden észlelt megfelelőségi problémához egy bejegyzést ad vissza

Szintaxis

Delphi

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

DLL

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

Paraméterek

StringListIDA karakterlánclista azonosítója, amelyet olyan előállító függvény ad vissza, mint a CheckFileCompliance
ItemIndexA lekérendő elem egytől kezdődő indexe. Az első elem 1; az utolsó elem a GetStringListCount(StringListID). A tartományon kívüli indexek üres karakterláncot adnak vissza

Visszatérési érték

A kért indexen lévő karakterlánc, vagy üres karakterlánc, ha a StringListID érvénytelen, illetve az ItemIndex kívül esik a [1 .. GetStringListCount] tartományon

Megjegyzések

A CheckFileCompliance által létrehozott listák elemeinek formátuma CODE: human-readable description, ahol a CODE a CheckFileCompliance oldalon dokumentált öt számjegyű hibakódok egyike (00002, 00003, 00005, 00006, 00007, 00011, 00012). A kód programozott kezeléséhez távolítsa el a kettőspont előtti előtagot

Példa

// 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;

Lásd még

GetStringListCount, ReleaseStringList, CheckFileCompliance