GetStringListItemA

Çeşitli işlevler

Açıklama

Sondaki A, ANSI (char) DLL giriş noktasını belirtir; ActiveX/COM yüzeyi yalnızca Unicode biçimini sunar. Davranış GetStringListItem ile aynıdır ve dize bağımsız değişkenleri geçerli SetAnsiMode kod sayfası kullanılarak yorumlanır

StringListID ile tanımlanan dize listesinde ItemIndex konumundaki dizeyi döndürür. Dize listeleri başka API işlevleri tarafından üretilir — en yaygın olarak algılanan her uygunluk sorunu için bir girdi döndüren CheckFileCompliance tarafından

Sözdizimi

Delphi

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

DLL

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

Parametreler

StringListIDCheckFileCompliance gibi bir üretici işlevinin döndürdüğü dize listesinin ID değeri
ItemIndexAlınacak öğenin bir tabanlı dizini. İlk öğe 1, son öğe GetStringListCount(StringListID) değeridir. Aralık dışındaki dizinler boş dize döndürür

Dönüş değeri

İstenen dizindeki dize; StringListID geçersizse veya ItemIndex [1 .. GetStringListCount] aralığının dışındaysa boş dize

Açıklamalar

CheckFileCompliance tarafından üretilen listelerde öğe biçimi CODE: human-readable description şeklindedir; burada CODE, CheckFileCompliance sayfasında belgelenen beş basamaklı sorun kodlarından biridir (00002, 00003, 00005, 00006, 00007, 00011, 00012). Kod üzerinde programlı işlem yapmak için iki noktadan önceki öneki ayırın

Örnek

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

Ayrıca bkz

GetStringListCount, ReleaseStringList, CheckFileCompliance