| Demande d'amélioration de 'SearchStringInTextFile'. | |
|
|
Auteur | Message |
---|
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande d'amélioration de 'SearchStringInTextFile'. Mer 11 Avr 2018 - 17:53 | |
| Bonjour.
@Klaus.
J'aurais vraiment besoin d'une amélioration de cette fonction, tout en sachant qu'elle retourne toutes les occurrences d'un critère demandé dans un fichier texte.
Serait-il possible de l'améliorer, en prévoyant le cas du retour de la 1ère occurrence trouvée uniquement.
Merci de la suite. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'amélioration de 'SearchStringInTextFile'. Mer 11 Avr 2018 - 18:41 | |
| Oui, c'est possible. Je te fais ça ce soir. Ce mode sera activé en additionnant 100 à l'avant-dernier paramètre. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'amélioration de 'SearchStringInTextFile'. Mer 11 Avr 2018 - 20:52 | |
| C'est fait. Recharge la DLL à partir d'une des 3 sources. Puis, ajoute 100 au 5ème paramètre de la fonction (OutType). La fonction retournera le premier trouvé quel qu'il soit, en fonction des autres paramètres dont le sens reste inchangé. | |
|
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande d'amélioration de 'SearchStringInTextFile'. Mer 11 Avr 2018 - 21:03 | |
| Bonsoir. Klaus, lorsque j'utilise 12 en 5è paramètre, la combo est bien remplie avec les résultats corrects. Mais, lorsque j'utilise la valeur 112, la combo reste désespérément vide. Le fichier txt est téléchargeable à l'adresse indiquée dans le code. Merci de la suite. - Code:
-
' https://e-nautia.com/share/69844-upcsu209
dim debut$, res%, f$, crit$, k%
f$="index_français_espagnol.txt" crit$=" chat; mange; souris; "
dll_on "kgf"
combo 3:width 3,500:font_size 3,14:font_bold 3
debut$=time$
for k%=1 to 10 res%=dll_call6("SearchStringInTextFile",adr(f$),adr(crit$),1,1,112,handle(3)) next k%
message debut$+" : "+time$ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'amélioration de 'SearchStringInTextFile'. Mer 11 Avr 2018 - 21:37 | |
| | |
|
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande d'amélioration de 'SearchStringInTextFile'. Jeu 12 Avr 2018 - 7:52 | |
| Bonjour. Klaus, il subsiste encore un petit problème. Seule la 1ère occurrence du premier mot est trouvée. La fonction ne donne pas l'occurrence du 3è mot. Merci de voir. Essaies donc ce code avec 21 puis 121: les résultats sont différents. - Code:
-
dim debut$, res%, f$, crit$, k%
f$="index_français_espagnol.txt" crit$=" chat; mange; souris; "
dll_on "kgf"
memo 3:width 3,500:height 3,400:font_size 3,14:font_bold 3
debut$=time$
for k%=1 to 10 res%=dll_call6("SearchStringInTextFile",adr(f$),adr(crit$),1,1,21,handle(3)) next k%
message debut$+" : "+time$ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'amélioration de 'SearchStringInTextFile'. Jeu 12 Avr 2018 - 8:34 | |
| Voici ce que j'obtiens: C'est bon, non ? Par sécurité, j'ai refait mes copies sur les 3 sources de téléchargement... | |
|
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande d'amélioration de 'SearchStringInTextFile'. Jeu 12 Avr 2018 - 9:12 | |
| Bonjour. Non, désolé Klaus, ce n'est pas correct. On voit bien que la ligne correspondant au 3è mot n'est pas affichée ! Essaie avec le code 21, et tu le verras bien. La fonction devrait afficher ce qui suit: - Code:
-
[chat;] 58184 chat; [mange;] [souris;] 1031118 souris; | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| |
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande d'amélioration de 'SearchStringInTextFile'. Jeu 12 Avr 2018 - 15:52 | |
| Bonjour. Merci Klaus, tout semble fonctionner maintenant. Je regrette cependant le manque de performances de cette fonction. Le test avec une Dlist indique une durée globale de 0 sec pour 1000 itérations ! - Code:
-
dim debut$, res%, f$, crit$, k%, te$
f$="index_français_espagnol.txt" dlist 1 file_load 1,f$ te$=string$(255," ") crit$="chat;"
dll_on "kgf"
combo 3:width 3,500:height 3,400:font_size 3,14:font_bold 3
debut$=time$
for k%=1 to 1000 ' 24 sec. res%=dll_call6("SearchStringInTextFile",adr(f$),adr(crit$),1,1,111,handle(3)) ' 0 sec. ' res%=dll_call3("SearchStringList",object_internal(1),adr(crit$),adr(te$)) ' message trim$(te$) next k%
message debut$+" : "+time$ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'amélioration de 'SearchStringInTextFile'. Jeu 12 Avr 2018 - 15:57 | |
| Eh oui, c'est la différence engtre une recherche en mémoire et une autre dans un fichier. La recherche dans le fichier implique des lectures séquentielles dans tout le fichier, pour chaque mot. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Demande d'amélioration de 'SearchStringInTextFile'. | |
| |
|
| |
| Demande d'amélioration de 'SearchStringInTextFile'. | |
|