GetStringListItemA

Διάφορες συναρτήσεις

Περιγραφή

Το καταληκτικό A υποδηλώνει το σημείο εισόδου ANSI (char) του DLL· η διεπαφή ActiveX/COM εκθέτει μόνο τη μορφή Unicode. Η συμπεριφορά είναι ταυτόσημη με το GetStringListItem και τα ορίσματα συμβολοσειράς ερμηνεύονται χρησιμοποιώντας την τρέχουσα σελίδα κωδίκων του SetAnsiMode

Επιστρέφει τη συμβολοσειρά στη θέση ItemIndex της λίστας συμβολοσειρών που προσδιορίζεται από το StringListID. Οι λίστες συμβολοσειρών παράγονται από άλλες συναρτήσεις API — συνηθέστερα από την CheckFileCompliance, η οποία επιστρέφει μία εγγραφή για κάθε εντοπισμένο πρόβλημα συμμόρφωσης

Σύνταξη

Delphi

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

DLL

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

Παράμετροι

StringListIDΤο ID της λίστας συμβολοσειρών όπως το επιστρέφει παραγωγός όπως το CheckFileCompliance.
ItemIndexΟ δείκτης βάσης 1 του στοιχείου προς ανάκτηση. Το πρώτο στοιχείο είναι 1· το τελευταίο είναι GetStringListCount(StringListID). Εκτός εύρους δείκτες επιστρέφουν κενή συμβολοσειρά.

Τιμή επιστροφής

Η συμβολοσειρά στον ζητούμενο δείκτη, ή κενή συμβολοσειρά αν το StringListID είναι άκυρο ή το ItemIndex εκτός [1 .. GetStringListCount].

Παρατηρήσεις

Για λίστες που παράγονται από το CheckFileCompliance, η μορφή του στοιχείου είναι CODE: human-readable description, όπου το CODE είναι ένας από τους πενταψήφιους κωδικούς προβλήματος που τεκμηριώνονται στη σελίδα CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Αφαιρέστε το πρόθεμα πριν από την άνω και κάτω τελεία για να ενεργήσετε προγραμματιστικά με τον κωδικό

Παράδειγμα

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

Δείτε επίσης

GetStringListCount, ReleaseStringList, CheckFileCompliance