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

StringListIDID dell'elenco di stringhe restituito da una funzione produttrice come CheckFileCompliance.
ItemIndexIndice 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;

Vedere anche

GetStringListCount, ReleaseStringList, CheckFileCompliance