GetStringListItemA
Funciones varias
Descripción
El sufijo A indica el punto de entrada ANSI (char) de la DLL; la superficie ActiveX/COM expone únicamente la forma Unicode. El comportamiento es idéntico a GetStringListItem y los argumentos de cadena se interpretan utilizando la página de códigos SetAnsiMode actual
Devuelve la cadena en ItemIndex de la lista StringListID. Funciones como CheckFileCompliance producen estas listas
Sintaxis
Delphi
Function DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;
DLL
const char * DLGetStringListItemA(int InstanceID, int StringListID, int ItemIndex);
Parámetros
| StringListID | El identificador de la lista de cadenas devuelto por una función productora, como CheckFileCompliance |
|---|---|
| ItemIndex | El índice basado en uno del elemento que se recuperará. El primer elemento es 1; el último es GetStringListCount(StringListID). Los índices fuera del intervalo devuelven una cadena vacía |
Valor devuelto
La cadena del índice solicitado, o una cadena vacía si StringListID no es válido o ItemIndex está fuera de [1 .. GetStringListCount]
Observaciones
En listas de CheckFileCompliance, el formato es CODE: human-readable description; CODE es uno de los documentados en CheckFileCompliance: 00002, 00003, 00005, 00006, 00007, 00011 o 00012. Quite el prefijo hasta los dos puntos
Ejemplo
// 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;