FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Gestionnaire de Projets Panoramic
par Minibug Aujourd'hui à 2:10

» Mah-Jong européen new-look
par jjn4 Hier à 16:35

» Button_picture
par pascal10000 Hier à 11:41

» Pourquoi le compilateur stagne
par Minibug Hier à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Hier à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Hier à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Hier à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Mer 13 Déc 2017 - 17:27

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Besoin d'une fonction de recherche ultra rapide.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

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

MessageSujet: Besoin d'une fonction de recherche ultra rapide.   Ven 7 Avr 2017 - 11:45

Bonjour.

@Klaus.

J'aurais besoin d'une fonction de recherche ultra-rapide, permettant de rechercher les occurrences de multiples mots dans un fichier.

Je m'explique:

Une chaîne contenant, par exemple: 'le chat boit du lait.'

La fonction devrait rechercher l'ensemble des occurrences de chacun des mots de la chaîne, dans un fichier texte, et placer le résultat global dans une combo, list ou memo.

Le but étant de limiter à une seule fois l'appel à la fonction de recherche, et non d'appeler de multiples fois la fonction SearchStringInTextFile.

La chaîne de départ pouvant avoir une longueur bien plus grande.

Est-ce possible ?

Merci de la suite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Besoin d'une fonction de recherche ultra rapide.   Ven 7 Avr 2017 - 11:55

Certes. Pourquoi pas... Je vais regarder ce que cela implique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Besoin d'une fonction de recherche ultra rapide.   Ven 7 Avr 2017 - 19:52

C'est fait ! Regarde la nouvelle version de KGF.dll. J'ai étendu les possibilités de la fonction SearchStringInTextFile.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: Besoin d'une fonction de recherche ultra rapide.   Ven 7 Avr 2017 - 21:28

Bonsoir.

Un grand merci Klaus, la nouvelle commande fonctionne à merveille.
Te serait-il possible d'ajouter une option permettant de ne pas afficher chacun des mots recherchés entre crochets, avant l'affichage de chacune des listes de résultats ?

Ceci afin d'éviter de réaliser un test sur chacune des lignes, afin d'éliminer celles-ci:

Exemple:

[chien]
chien assis;ms;buharda;fs;architecture
chien assis;ms;buhardilla;fs;
chien assis;ms;buhardilla;fs;architecture
chien basset;ms;basset;ms;
chien d'aveugle;ms;lazarillo;ms;
chien d'aveugle;ms;perro guía ou;ms; [très mauvais]
chien de berger;ms;perro ovejero;ms;Zoologie
chien de berger;ms;perro pastor;ms;Zoologie
chien de chasse/de garde;ms;perro de caza/guardián;ms; [très mauvais]


La ligne en rouge étant inutile.

Merci de la suite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Besoin d'une fonction de recherche ultra rapide.   Sam 8 Avr 2017 - 1:06

Télécharge la DLL à nouveau et essaie cette version du programme de démo. J'ai modifié comme suit:
Code:
OutType:  chercher le critère entier:         0=clipboard   1=Memo   2=Combo   3=List
          chercher tous les mots séparément: 10=clipboard  11=Memo  12=Combo  13=List   sans signaler mes mots
          chercher tous les mots séparément: 20=clipboard  21=Memo  22=Combo  23=List   en signalant les mots
Si ça convient comme ça, je ferai la mise à jour de la doc. Voici le programme de démo adapté:
Code:
' test_SearchStringInTextFile.bas

label exec

dim res%, fic$, crit$, ind%

full_space 0
dll_on "KGF.dll"
memo  1  : bar_both 1 : top 1,40 : width 1,300 : height 1,400
combo 2  : left 2,310 : top 2,40 : width 2,300 : height 2,400
list  3  : left 3,620 : top 3,40 : width 3,300 : height 3,400

option 10 : top 10,10 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,10 : left 11,110 : caption 11,"Memo"
option 12 : top 12,10 : left 12,210 : caption 12,"Combo"
option 13 : top 13,10 : left 13,310 : caption 13,"List"
check 14 : top 14,10 : left 14,400 : caption 14,"Mots individuels"
check 15 : top 15,10 : left 15,500 : caption 15,"Signaler les mots"

alpha  20 : top 20,10 : left 20,610 : caption 20,"Critère:"
edit   21 : top 21,10 : left 21,680 : width 21,100
button 22 : top 22,10 : left 22,790 : caption 22,"Exécuter" : on_click 22,exec
mark_on 10

fic$ = "dico_français_espagnol.txt"
text 21,"travail"
end

exec:
  ind% = checked(14)*10
  if ind%>0 then ind% = ind% + checked(15)*10
  crit$ = text$(21)
  ' res% = dll_call4("SearchStringInTextFile",adr(fic$),adr(crit$),LineNumbers%, AtStartOnly%, OutType%, OutHandle%)
  '     LineNumbers: 0=pas de numéros de ligne  <>0=numéros de ligne
  '     AtStartOnly: 0=dans toute la ligne      <>0=au début de la ligne uniquement
  '     OutType%:    0=clipboard  1=memo  2=combo  3=list
  if checked(10)=1
    clear 1
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+0,0)
    clipboard_paste 1
  end_if
  if checked(11)=1
    clear 1
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+1,handle(1))
  end_if
  if checked(12)=1
    clear 2
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+2,handle(2))
  end_if
  if checked(13)=1
    clear 3
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+3,handle(3))
  end_if
  message str$(res%)+" lignes trouvées"
  return

end

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: Besoin d'une fonction de recherche ultra rapide.   Sam 8 Avr 2017 - 6:23

Bonjour.

Encore merci Klaus, cette fonction me convient très bien, et simplifie grandement mon code, grâce à un seul appel de dll.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Besoin d'une fonction de recherche ultra rapide.   

Revenir en haut Aller en bas
 
Besoin d'une fonction de recherche ultra rapide.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» G2R : Google Recherche Rapide
» recherche d'une police de caractère
» [Résolu] Recherche d'un BON aspirateur de sites + formulaire informat
» recherche logiciel pour créer un site
» Serveur Proxy

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: