GetStringListItemA
Funzioni varie
Descrizione
Il suffisso A indica l'entry point DLL ANSI (char); l'interfaccia ActiveX/COM espone soltanto la forma Unicode. Il comportamento è identico a GetStringListItem e gli argomenti stringa vengono interpretati usando la code page corrente di SetAnsiMode
Restituisce la stringa nella posizione ItemIndex dell'elenco di stringhe identificato da StringListID. Gli elenchi di stringhe vengono prodotti da altre funzioni API, più comunemente CheckFileCompliance, che restituisce una voce per ogni problema di conformità rilevato
Sintassi
Delphi
Function DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;
DLL
const char * DLGetStringListItemA(int InstanceID, int StringListID, int ItemIndex);
Parametri
| StringListID | ID dell'elenco di stringhe restituito da una funzione produttrice come CheckFileCompliance. |
|---|---|
| ItemIndex | Indice in base uno dell'elemento da recuperare. Il primo elemento è 1; l'ultimo è GetStringListCount(StringListID). Gli indici fuori intervallo restituiscono una stringa vuota |
Valore restituito
Stringa all'indice richiesto oppure vuota se StringListID non è valido o ItemIndex è fuori [1 .. GetStringListCount].
Note
Per gli elenchi prodotti da CheckFileCompliance, il formato degli elementi è CODE: human-readable description, dove CODE è uno dei codici problema a cinque cifre documentati nella pagina di CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Rimuovere il prefisso prima dei due punti per agire sul codice a livello di programmazione
Esempio
// 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;