GetStringListItemA

Různé funkce

Popis

Koncové A označuje vstupní bod ANSI (char) knihovny DLL; rozhraní ActiveX/COM zpřístupňuje pouze formu Unicode. Chování je shodné s GetStringListItem a řetězcové argumenty jsou interpretovány pomocí aktuální znakové stránky nastavené funkcí SetAnsiMode

Returns the string at position ItemIndex in the string list identified by StringListID. String lists are produced by other API functions — most commonly CheckFileCompliance, which returns one entry per detected compliance issue.

Syntaxe

Delphi

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

DLL

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

Parametry

StringListIDID seznamu řetězců, jak ho vrací produkční funkce jako CheckFileCompliance
ItemIndexIndex položky počítaný od 1. První položka je 1; poslední položka je GetStringListCount(StringListID). Indexy mimo rozsah vrací prázdný řetězec

Návratová hodnota

Řetězec na požadovaném indexu, nebo prázdný řetězec, je-li StringListID neplatné nebo ItemIndex mimo [1 .. GetStringListCount]

Poznámky

U seznamů vytvořených funkcí CheckFileCompliance má položka formát CODE: lidsky čitelný popis, kde CODE je jeden z pěticiferných kódů závad popsaných na stránce CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Chcete-li s kódem pracovat programově, odstraňte prefix před dvojtečkou

Příklad

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

Viz také

GetStringListCount, ReleaseStringList, CheckFileCompliance