Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: StringList dans KGF.dll (similaire à DLIST) Lun 14 Jan 2013 - 17:57 | |
| J'ai ajouté des fonctions à KGF.dll pour gérer un objet Delphi TStringList. C'est similaire à une DLIST, mais on peut faire des recherches dedans. KGF_SUB.bas et demo_KGF_SUB.bas ont été mis à jour. Voici les fonctions: - Code:
-
res% = dll_call2("CreateStringList",N%,mode%) res% = dll_call2("LoadStringList",N%,adr(file$)) res% = dll_call1("DeleteStringList",N%) res% = dll_call3("SearchStringList",N%,adr(crit$),adr(rec$)) res% = dll_call3("ReadStringList",N%,ind%,adr(rec$))
CreateStringList crée un tel objet avec un identifiant N% entre 1 et 20 (20 maxi simultanément). mode% indique si la liste doit êtgre triée (mode%=1) ou non (mode%=0). Retour: 0 si ok, -1 si erreur. LoadStringList charge un fichier texte dans la liste N%. Retour: nombre de lignes si ok, -1 si erreir. DeleteStringList supprime la liste N%. Retour: 0 si ok, -1 si erreur. SearchStringList cherche le critère crit$ dans la liste N% et retourne la première ligne dont le début est identique ou supérieur au critère. Retour: indice de la ligne retournée si ok, ou -1 si erreur. En cas d'erreur, le texte retourné dans rec$ donne une explication. ReadStringList lit la ligne ind% de la liste N%. Retour: indice de la ligne retournée si ok, ou -1 si erreur. En cas d'erreur, le texte retourné dans rec$ donne une explication. Le grand avantage de ces fonctions, c'est que le chargement du fichier texte est ultra-rapide, même si la liste doit être triée. Et la recherche par SearchStringList est ultra-rapide dans le cas d'une liste triée. | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: StringList dans KGF.dll (similaire à DLIST) Mar 22 Jan 2013 - 1:01 | |
| J'ai ajouté 6 nouvelles fonctions au groupe des fonctions gérant les stringlist. Il s'agit des fonctions de modification ! - Code:
-
res% = dll_call2("SaveStringList",N%,adr(file$)) res% = dll_call2("DeleteStringListItem",N%,ind%) res% = dll_call2("AddStringListItem",N%,adt(txt$)) res% = dll_call3("InsertStrintListItem",N%,ind%,adr(txt$) res% = dll_call3("ReplaceStringListItem",n%,ind%adr(txt$)) res% = dll_call1("StringListItemCount",N%)
Le nom de ces fonctions donne leur utilisation. KGF_SUB.bas et demo_KGF_SUB.bas ont été mis à jour. Maintenant, on a un jeu de fonctions complètes: - créer/charger/supprimer une stringlist - chercher dans une stringlist - lire une ligne précise d'une stringlist - ajouter ou insérer une ligne dans une stringlist - supprimer une ligne dans une stringlist - remplacer une ligne dans une stringlist - connaître le nombre de lignes d'une stringlist En fait, cela est l'implémentation d'un fichier en accès direct (par numéro d'enregistrement) à longueur d'enregistrement variable. Exactement ce qui manquait à Panoramic: se positionner dans un fichier texte par numéro d'enregistrement, changer une ligne, réécrire le fichier, sans avoir à gérer soi-même les boucles de lecture/écriture. EDIT Je viens d'ajouter StringListItemCount(N%). | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: StringList dans KGF.dll (similaire à DLIST) Mar 22 Jan 2013 - 12:47 | |
| Merci Klaus, en effet, ça manquait | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 22 Jan 2013 - 12:57 | |
| Bon, bien, il me reste plus qu'à me mettre à jours...
Bravo Klaus !!! | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: StringList dans KGF.dll (similaire à DLIST) Mer 23 Jan 2013 - 19:40 | |
| Nouvelle version de KGF.dll:
correction d'un bug dans SearchStringList lorsque la clé recherchée est plus grande que la plus grande clé dans la liste. Cela provoquait un plantage.
Maintenant, le traitement d'erreur est normal (retour de 0, ligne retournée "<inexistant>"). | |
|
Contenu sponsorisé
| Sujet: Re: StringList dans KGF.dll (similaire à DLIST) | |
| |
|