FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Problème avec les StringList. Emptypar Jack Aujourd'hui à 9:03

» Un autre pense-bête...
Problème avec les StringList. Emptypar Froggy One Jeu 21 Nov 2024 - 14:54

» Récupération du contenu d'une page html.
Problème avec les StringList. Emptypar Pedro Sam 16 Nov 2024 - 13:04

» Décompilation
Problème avec les StringList. Emptypar JL35 Mar 12 Nov 2024 - 18:57

» Un album photos comme du temps des grands-mères
Problème avec les StringList. Emptypar jjn4 Mar 12 Nov 2024 - 16:23

» traitement d'une feuille excel
Problème avec les StringList. Emptypar jjn4 Jeu 7 Nov 2024 - 2:52

» Aide-mémoire mensuel
Problème avec les StringList. Emptypar jjn4 Lun 4 Nov 2024 - 17:56

» Des incomprèhension avec Timer
Problème avec les StringList. Emptypar Klaus Mer 30 Oct 2024 - 17:26

» KGF_dll - nouvelles versions
Problème avec les StringList. Emptypar Klaus Mar 29 Oct 2024 - 16:58

» instructions panoramic
Problème avec les StringList. Emptypar maelilou Lun 28 Oct 2024 - 18:51

» Figures fractales
Problème avec les StringList. Emptypar Marc Ven 25 Oct 2024 - 10:18

» Panoramic et Scanette
Problème avec les StringList. Emptypar Yannick Mer 25 Sep 2024 - 20:16

» Editeur d étiquette avec QR évolutif
Problème avec les StringList. Emptypar JL35 Lun 23 Sep 2024 - 20:40

» BUG QR Code DelphiZXingQRCode
Problème avec les StringList. Emptypar Yannick Dim 22 Sep 2024 - 9:40

» fichier.exe
Problème avec les StringList. Emptypar leclode Ven 20 Sep 2024 - 17:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -20%
Drone Dji DJI Mini 4K (EU)
Voir le deal
239 €

 

 Problème avec les StringList.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Problème avec les StringList. Empty
MessageSujet: Problème avec les StringList.   Problème avec les StringList. EmptyDim 19 Avr 2015 - 14:33

Bonjour.

@Klaus.

Je rencontre un problème avec la recherche d'éléments dans une StringList.

Code:
dim element$, fichier$, res%, temporaire$

dll_on "kgf.dll"

fichier$="test.txt"
res%=dll_call2("CreateStringList",1,1)
if res%=0 then res%=dll_call2("LoadStringList",1,adr(fichier$))

list 2
sort_on 2
file_load 2,fichier$

element$="acheté#"

temporaire$=string$(255," ")
res%=abs(dll_call3("SearchStringList",1,adr(element$),adr(temporaire$)))
message str$(res%)+" "+trim$(temporaire$)

' SearchStringList fournit la ligne où devrait apparaître element$.
' Ex: 'jolie;' -> fournit la ligne 'joliment;'.
if left$(temporaire$,len(element$))<>element$ then res%=0

' message trim$(temporaire$)+" "+str$(res%)

res%=dll_call3("SearchListBox",handle(2),0,adr(element$))
message str$(res%)+" "+item_read$(2,res%)

dll_off
terminate

Voici le contenu du fichier 'test.txt':

achetas#929;3;2
achètas#929;6;2
achetâtes#929;3;5
achète#929;1;1
achète#929;1;3
achete#929;2;2
acheté#929;9;1
acheté#929;9;2
acheté#929;9;3
acheté#929;9;4
acheté#929;9;5
acheté#929;9;6

Le résultat donné par SearchStringList n'est pas correct, contrairement à celui de l'objet List.

Merci de ton aide.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème avec les StringList. Empty
MessageSujet: Re: Problème avec les StringList.   Problème avec les StringList. EmptyDim 19 Avr 2015 - 17:13

Crée ta StringList de la manière suivante:
Code:
res%=dll_call2("CreateStringList",1,2)
et il trouvera correctement "acheté". Bien que pas dans la même position que dans l'objet LIST, le bon élément est bel et bien trouvé.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Problème avec les StringList. Empty
MessageSujet: Problème avec les StringList.   Problème avec les StringList. EmptyDim 19 Avr 2015 - 18:45

Bonsoir.

OK, merci Klaus.

Mais maintenant, j'obtiens l'erreur 'EStringListError' dans le module kgf.dll !!

Merci de ton aide.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème avec les StringList. Empty
MessageSujet: Re: Problème avec les StringList.   Problème avec les StringList. EmptyDim 19 Avr 2015 - 19:14

Euh... avec le code que tu as posté ci-dessus ? Pas chez moi ! J'ai simplement changé le dernier paramètre de la fonction CreateStringList ainsi que le nom du fichier (car test.txt existe chez moi...):
Code:
dim element$, fichier$, res%, temporaire$

dll_on "kgf.dll"

fichier$="test_pedro.txt"
res%=dll_call2("CreateStringList",1,2) : ' <============= modification ici !
if res%=0 then res%=dll_call2("LoadStringList",1,adr(fichier$))

list 2
sort_on 2
file_load 2,fichier$

element$="acheté#"

temporaire$=string$(255," ")
res%=abs(dll_call3("SearchStringList",1,adr(element$),adr(temporaire$)))
message str$(res%)+" "+trim$(temporaire$)

' SearchStringList fournit la ligne où devrait apparaître element$.
' Ex: 'jolie;' -> fournit la ligne 'joliment;'.
if left$(temporaire$,len(element$))<>element$ then res%=0

' message trim$(temporaire$)+" "+str$(res%)

res%=dll_call3("SearchListBox",handle(2),0,adr(element$))
message str$(res%)+" "+item_read$(2,res%)

dll_off
terminate

Tout marche bien...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Problème avec les StringList. Empty
MessageSujet: Problème avec les StringList.   Problème avec les StringList. EmptyDim 19 Avr 2015 - 19:30

Bonsoir.

Non, l'erreur apparaît dans mon programme principal, en utilisant le même code !!

Merci de ton aide.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Problème avec les StringList. Empty
MessageSujet: Re: Problème avec les StringList.   Problème avec les StringList. EmptyDim 19 Avr 2015 - 20:25

Voici les cas où une telle erreur se produit:
Citation :

1. There is not enough memory to expand the list.
2. The list tried to grow beyond its maximal capacity.
3. A non-existent element of the list was referenced. (i.e. the list index was out of bounds)
4. An attempt was made to add a duplicate entry to a TStringList when TStringList.Duplicates is False.

Je pense qu'on peut exclure les cas 1 et 2. C'est probablement le cas 3 (tentative d'accès à un élément non existant (indice 0 ou plus grand que le nombre d'enregistrements dans la StringList).

Et, la doc dit:
Citation :
The default value for the Duplicates property is dupIgnore
Et c'est ce qui se passe: je ne spécifie rien de particulier, à la création de la StringList, sur le comportement en cas de doublon. Donc, tout doublon est ignoré. Donc, le cas 4 ne peut se produire, puisqu'il n'y aura pas de doublons.

En résumé, c'est le cas 3: tu accèdes un enregistrement inexistant, ou tu passes un indexe 0... Et c'est donc probablement la fonction ReadStringList qui provoque cette erreur, ou DeleteStringListItem. A moins que tu utilises InsertStringListItem sur une liste triée ce qui est interdit - il faut utiliser AddStringListItem pour ajouter un élément à une StringList triée. La fonction ReplaceStringListItem est également problématique sur une liste triée - il vaut mieux supprimer par DeleteStringListItem, puis ajouter par AddStringListItem (comme en Panoramic, d'ailleurs !).

La prochaine fois, essaie de localiser l'endroit où se produit l'erreur (en plaçant des commandes MESSAGE à des endroits stratégiques du code). Lorsque tu as trouvé l'endroit en question, affiche par MESSAGE l'ensemble des paramètres donnés à la fonction, juste avant d'appeler celle-ci. Ainsi, tu auras une vue nettement plus précise que simplement "ça ne marche pas"... Smile Smile Smile
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Problème avec les StringList. Empty
MessageSujet: Re: Problème avec les StringList.   Problème avec les StringList. Empty

Revenir en haut Aller en bas
 
Problème avec les StringList.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème avec les StringList.
» Problème avec StringList.
» Problème avec les StringList.
» Problème avec un objet StringList.
» Problème avec l'objet StringList.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: