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
» PANORAMIC V 1
Recherche d'un item dans un fichier. Emptypar Klaus Aujourd'hui à 14:18

» Gestion d'un système client-serveur.
Recherche d'un item dans un fichier. Emptypar Klaus Aujourd'hui à 13:18

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Recherche d'un item dans un fichier. Emptypar Froggy One Aujourd'hui à 11:16

» @Jack
Recherche d'un item dans un fichier. Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Recherche d'un item dans un fichier. Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Recherche d'un item dans un fichier. Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Recherche d'un item dans un fichier. Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Recherche d'un item dans un fichier. Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Recherche d'un item dans un fichier. Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Recherche d'un item dans un fichier. Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Recherche d'un item dans un fichier. Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Recherche d'un item dans un fichier. Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Recherche d'un item dans un fichier. Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Recherche d'un item dans un fichier. Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Recherche d'un item dans un fichier. Emptypar leclode Mer 17 Avr 2024 - 11:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

 

 Recherche d'un item dans un fichier.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1551
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 : 1250
Age : 69
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 dans le forum
» Ajouter une recherche dans l'aide

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: