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.
Recherche d'un item dans un fichier. Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Recherche d'un item dans un fichier. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Recherche d'un item dans un fichier. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Recherche d'un item dans un fichier. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Recherche d'un item dans un fichier. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Recherche d'un item dans un fichier. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Recherche d'un item dans un fichier. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Recherche d'un item dans un fichier. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Recherche d'un item dans un fichier. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Recherche d'un item dans un fichier. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Recherche d'un item dans un fichier. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Recherche d'un item dans un fichier. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Recherche d'un item dans un fichier. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Recherche d'un item dans un fichier. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Recherche d'un item dans un fichier. Emptypar leclode Ven 20 Sep 2024 - 19: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
-29%
Le deal à ne pas rater :
DYSON V8 Origin – Aspirateur balai sans fil
269.99 € 379.99 €
Voir le deal

 

 Recherche d'un item dans un fichier.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


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

Recherche d'un item dans un fichier. Empty
MessageSujet: Recherche d'un item dans un fichier.   Recherche d'un item dans un fichier. EmptyLun 23 Sep 2019 - 18:21

Bonjour.

J'ai longtemps planché sur la recherche de la méthode la plus rapide, permettant de rechercher un item dans un fichier.

Et voici ma solution, qui fait simplement appel à la commande instr.
Cette méthode est plus de 10 fois plus rapide que celle utilisée par appel d'une fonction de recherche de KGF !!

Code:
dim a$, crlf$, element$, f$, i%, k%, no%, param3%, res%, te$

dll_on "kgf"

crlf$=chr$(10)+chr$(13)
f$="fichiers\indicatif_present_francais.txt"

if dll_call2("CreateStringList",1,0)=0 then res%=dll_call2("LoadStringList",1,adr(f$))

' list 3019:file_load 3019,f$

create_hide
memo 3019:file_load 3019,f$
a$=text$(3019)

element$="#manger3"

i%=number_ticks
for k%=1 to 1000
    res%=instr(a$,element$)
    ' chercher(element$,3019,1)
next k%

' memo:       156
' List:          1891
' dlist:        1719
' StringList: 2063

caption 0,str$(res%)+": "+str$(number_ticks-i%)

' #manger3mange
if res%>0 then message "Item: ["+mid$(a$,res%,instr_pos(a$,"#",res%+1)-res%-2)+"]"

' terminate
end

sub chercher(element$,no%,param3%)
    if param3%=1
       ' Recherche un élément dans une liste.
       ' On passe une chaîne de caractères en paramètre qui représente le début de l'élément recherché.
       ' On peut chercher également l'élément exact.
       ' La recherche est insensible à la casse.
       ' L'objet LIST ciblé peut être un objet Panoramic, dans n'importe quelle fenêtre, ou alors un objet LIST d'une application externe, Panoramic ou non.

       ' 0 = la recherche aboutit si le début d'un élément correspond au critère.
       ' 1 = la recherche aboutit si l'élément en sa totalité correspond au critère.
       ' res% fournit 0 si l'élément n'est pas trouvé.
       res%=dll_call3("SearchListBox",handle(no%),0,adr(element$))
          else
       ' te$ ne doit pas égal à une chaîne vide.
       te$=" "
       if no%<21
          ' Objets StringList.
          res%=dll_call3("SearchStringList",no%,adr(element$),adr(te$))
             else
          ' Objets Dlist.
          res%=dll_call3("SearchStringList",object_internal(no%),adr(element$),adr(te$))
       end_if
    end_if
end_sub
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Recherche d'un item dans un fichier. Empty
MessageSujet: Re: Recherche d'un item dans un fichier.   Recherche d'un item dans un fichier. EmptyMar 24 Sep 2019 - 8:46

Oui la recherche par INSTR dans une chaîne de caractères est souvent plus rapide !

Je l'utilise souvent dans mes programmes, p. ex. dans un éditeur ou un compilateur pour chercher dans une liste de mots-clés.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
 
Recherche d'un item dans un fichier.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Recherche rapide d'un item dans un dlist, sans DLL.
» Recherche d'une suite de valeurs dans un fichier binaire
» imposer un item dans un list
» Recherche d'une chaîne de caractères dans une arborescence
» Recherche d'une expression dans un source

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: