GetStringListItemA

Razne funkcije

Opis

Sufiks A na kraju označuje ulaznu točku DLL-a vrste ANSI (char); sučelje ActiveX/COM izlaže samo oblik Unicode. Ponašanje je jednako GetStringListItem, a znakovni argumenti tumače se pomoću trenutne kodne stranice SetAnsiMode

Vraća niz znakova na poziciji ItemIndex u popisu nizova znakova koji je označen s StringListID. Popise nizova znakova proizvode druge funkcije API-ja — najčešće CheckFileCompliance, koja vraća jedan unos po svakoj otkrivenoj problematici usklađenosti.

Sintaksa

Delphi

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

DLL

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

Parametri

StringListIDID popisa nizova znakova kakav vraća proizvodna funkcija poput CheckFileCompliance
ItemIndexIndeks stavke koja se dohvaća, u 1-baziranom brojanju. Prva stavka je 1; zadnja je GetStringListCount(StringListID). Indeksi izvan raspona vraćaju prazan niz znakova

Povratna vrijednost

Niz znakova na zatraženom indeksu, ili prazan niz znakova ako je StringListID nevaljan ili je ItemIndex izvan [1 .. GetStringListCount]

Napomene

Naziv značajke uparen s ključem 311. Za popise koje proizvodi CheckFileCompliance format stavke je CODE: human-readable description, gdje je CODE jedan od peteroznamenkastih kodova problema dokumentiranih na stranici CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Skinite prefiks ispred dvotočke za programsko djelovanje na kod

Primjer

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

Vidi također

GetStringListCount, ReleaseStringList, CheckFileCompliance