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;