GetStringListItemA
Įvairios funkcijos
Aprašymas
Galūnė A žymi ANSI (char) DLL įėjimo tašką; ActiveX/COM sąsaja atskleidžia tik Unicode formą. Elgsena tokia pat kaip GetStringListItem, o eilučių argumentai aiškinami naudojant dabartinį SetAnsiMode kodų puslapį
Grąžina eilutę pozicijoje ItemIndex eilučių sąraše, identifikuotame StringListID. Eilučių sąrašus kuria kitos API funkcijos – dažniausiai CheckFileCompliance, kuri grąžina po įrašą kiekvienam rastam atitikties pažeidimui.
Sintaksė
Delphi
Function DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;
DLL
const char * DLGetStringListItemA(int InstanceID, int StringListID, int ItemIndex);
Parametrai
| StringListID | Eilučių sąrašo ID, toks, kokį grąžina gamintojo funkcija, tokia kaip CheckFileCompliance |
|---|---|
| ItemIndex | Gaunamino elemento indeksas, skaičiuojamas nuo 1. Pirmasis elementas – 1; paskutinis – GetStringListCount(StringListID). Už ribų esantys indeksai grąžina tuščią eilutę |
Grąžinama reikšmė
Eilutė pageidaujamajame indekse arba tuščioji eilutė, jei StringListID netinkama arba ItemIndex už [1 .. GetStringListCount] ribų
Pastabos
CheckFileCompliance gaminamiems sąrašams elemento formatas yra CODE: human-readable description, kur CODE – vienas iš penkženklų problemų kodų, dokumentuotų CheckFileCompliance puslapyje (00002, 00003, 00005, 00006, 00007, 00011, 00012). Norėdami su kodu dirbti programiškai, nukerkite priešdėlį prieš dvitaškį
Pavyzdys
// 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;