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
| StringListID | ID popisa nizova znakova kakav vraća proizvodna funkcija poput CheckFileCompliance |
|---|---|
| ItemIndex | Indeks 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;