GetStringListItemA
Fonctions diverses
Description
Le A final indique le point d’entrée ANSI (char) de la DLL ; la surface ActiveX/COM n’expose que la forme Unicode. Le comportement est identique à celui de GetStringListItem et les arguments de chaîne sont interprétés selon la page de codes SetAnsiMode actuelle
Renvoie la chaîne située à la position ItemIndex dans la liste identifiée par StringListID. Les listes sont produites par d’autres fonctions d’API, le plus souvent CheckFileCompliance, qui renvoie une entrée par problème de conformité détecté
Syntaxe
Delphi
Function DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;
DLL
const char * DLGetStringListItemA(int InstanceID, int StringListID, int ItemIndex);
Paramètres
| StringListID | ID de la liste de chaînes tel que renvoyé par une fonction productrice comme CheckFileCompliance |
|---|---|
| ItemIndex | Index de base un de l’élément à récupérer. Le premier élément vaut 1 et le dernier GetStringListCount(StringListID). Un index hors limites renvoie une chaîne vide |
Valeur de retour
Chaîne à l'indice demandé, ou chaîne vide si StringListID est non valide ou si ItemIndex est hors de [1 .. GetStringListCount]
Remarques
Pour les listes produites par CheckFileCompliance, le format d’un élément est CODE: human-readable description, où CODE est l’un des codes de problème à cinq chiffres documentés sur la page CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Supprimez le préfixe précédant les deux-points pour traiter le code par programme
Exemple
// 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;