GetStringListItemA

Diverse funksjoner

Beskrivelse

Den avsluttende A angir ANSI-inngangspunktet (char) i DLL-en; ActiveX/COM-flaten eksponerer kun Unicode-formen. Oppførselen er identisk med GetStringListItem og strengargumenter tolkes ut fra gjeldende kodetabell i SetAnsiMode

Returnerer strengen ved posisjon ItemIndex i strenglisten identifisert av StringListID. Strenglister produseres av andre API-funksjoner — oftest CheckFileCompliance, som returnerer én oppføring per oppdaget samsvarsfunn

Syntaks

Delphi

Function DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;

DLL

const char * DLGetStringListItemA(int InstanceID, int StringListID, int ItemIndex);

Parametere

StringListIDID-en til strenglisten slik den returneres av en produsentfunksjon slik som CheckFileCompliance
ItemIndexElementindeksen (fra 1) som skal hentes. Det første elementet er 1; det siste elementet er GetStringListCount(StringListID). Indekser utenfor området returnerer en tom streng

Returverdi

Strengen på ønsket indeks, eller en tom streng hvis StringListID er ugyldig eller ItemIndex er utenfor [1 .. GetStringListCount]

Merknader

For lister produsert av CheckFileCompliance er elementformatet CODE: human-readable description, der CODE er en av de femsifrede problemkodene dokumentert på CheckFileCompliance-siden (00002, 00003, 00005, 00006, 00007, 00011, 00012). Fjern prefikset foran kolonet for å komme til koden programmatisk

Eksempel

// 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;

Se også

GetStringListCount, ReleaseStringList, CheckFileCompliance