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 de chaînes de caractères : FINDSTR Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Recherche de chaînes de caractères : FINDSTR Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Recherche de chaînes de caractères : FINDSTR Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Recherche de chaînes de caractères : FINDSTR Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Recherche de chaînes de caractères : FINDSTR Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Recherche de chaînes de caractères : FINDSTR Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Recherche de chaînes de caractères : FINDSTR Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Recherche de chaînes de caractères : FINDSTR Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Recherche de chaînes de caractères : FINDSTR Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Recherche de chaînes de caractères : FINDSTR Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Recherche de chaînes de caractères : FINDSTR Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Recherche de chaînes de caractères : FINDSTR Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Recherche de chaînes de caractères : FINDSTR Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Recherche de chaînes de caractères : FINDSTR Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Recherche de chaînes de caractères : FINDSTR 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
Le Deal du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

 

 Recherche de chaînes de caractères : FINDSTR

Aller en bas 
5 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptySam 3 Déc 2016 - 20:50

Recherche de chaînes de caractères dans les fichiers à l aide de la commande  "FINDSTR" de la ligne de commande.

Vous pouvez télécharger la liste de 22740 mots  utilisée  par le code  sur ce lien

Tout est expliqué dans le code.

Taper dans l'EDIT la (les) première(s) lettre(s) et ... remarquez la rapidité du traitement !

Code:

rem ============================================================================
rem     Recherche de chaînes de caractères dans les fichiers.
rem     à l aide de la commande "FINDSTR" de la ligne de commande
rem ============================================================================
rem Syntaxe :
rem FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
rem         [/F:fichier] [/C:chaîne] [/G:fichier] [/D:liste de répertoires]
rem         [/A:attributs de couleur] [chaînes]
rem         [[lecteur:][chemin]nom de fichier[ ...]]
rem ============================================================================
rem /B           Recherche l élément si il est en début de ligne.
rem /E           Recherche l élément si il est en fin de ligne.
rem /L           Recherche les chaînes littéralement.
rem /R           Recherche les chaînes en tant qu expressions.
rem /S           Recherche les fichiers correspondants dans le répertoire actif
rem              et dans tous ses sous-répertoires.
rem /I           Spécifie que la recherche ne doit pas tenir compte de la casse.
rem /X           Affiche les lignes correspondant parfaitement.
rem /V           N affiche que les lignes non correspondantes.
rem /N           Affiche le numéro de ligne devant chaque ligne correspondante.
rem /M           Affiche uniquement le nom des fichiers contenant des chaînes
rem              correspondantes.
rem /O           Affiche le décalage des caractères pour chaque ligne
rem              correspondante.
rem /P           Ignore les fichiers ne contenant pas de caractères affichables.
rem /OFFLINE     Ne pas ignorer les fichiers dont l attribut hors connexion a été réglé.
rem /A:attr      Spécifie l attribut de couleur avec 2 chiffres hexadécimaux.
rem              Entrez "color /?".
rem /F:fichier   Lit la liste des fichiers dans le fichier spécifié (/ pour la
rem              console).
rem /C:chaîne    Recherche la chaîne spécifiée littéralement.
rem /G:fichier   Obtient les chaînes à rechercher à partir du fichier spécifié
rem              (/ pour la console).
rem /D:rép       Recherche dans une liste de répertoires délimitée par des
rem              points-virgules.
rem chaînes      Chaînes à rechercher.
rem [lecteur:][chemin]nom de fichier
rem              Spécifie les fichiers dans lesquels effectuer la recherche.
rem ============================================================================
rem Utilisez des espaces pour séparer plusieurs chaînes à rechercher, sauf si
rem l argument est précédé de /C.
rem Exemple :
rem FINDSTR "bonne journée" x.y    <--- recherche "bonne" ou "journée" dans le fichier x.y
rem FINDSTR /C:"bonne journée" x.y <--- recherche "bonne journée"  dans le fichier x.y
rem ============================================================================
' ==============================================================================
rem Le code suivant cherche les mots qui commencent par la (ou les) lettre(s)
rem tapée(s) dans un EDIT.
rem La recherche se fait dans un fichier texte contenant 22740 mots de la langue française.
rem Remarquez la rapidité du traitement !
rem Le résultat est instantanné.
' ==============================================================================
rem ============================================================================
label findstr
dim p,l,t$,dico$
dico$ = "c:\users\acer\desktop\liste_francais.txt" : ' 22 740 mots
' à télecharger sur :
' http://www.freelang.com/dictionnaire/dic-francais.php
EDIT 10 : WIDTH 10,200 : set_focus 10 : ON_CHANGE 10,findstr
memo 20 : HIDE 20 : TOP 20,40 : WIDTH 20,200 : HEIGHT 20,400 : bar_both 20
COLOR 20,250,200,100

end
rem ============================================================================
Findstr:
   clear 20
   t$ = text$(10)
   execute_wait "cmd /c findstr /b /i " + chr$(34) + t$ + chr$(34) + " " + dico$ + "|clip"
   item_add 20, clipboard_string_paste$ : show 20
return
rem ============================================================================


@Minibug

Si ça peut te servir dans ta "saisie prédictive" , sers-toi Idea


Dernière édition par papydall le Dim 4 Déc 2016 - 12:56, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re   Recherche de chaînes de caractères : FINDSTR EmptySam 3 Déc 2016 - 21:10

Ne devrait on pas parler de saisie intuitive plutôt ?
Avec " prédictive ", je m attends a voir apparaitre
Madame Irma à n importe quel moment...
lol!
Revenir en haut Aller en bas
Pedro

Pedro


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

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Findstr.   Recherche de chaînes de caractères : FINDSTR EmptySam 3 Déc 2016 - 21:25

Bonsoir à tous.

Je viens de tester la commande DOS Findstr, afin de rechercher des mots dans mon dico français-anglais.

En effet, la vitesse de recherche est très rapide, peut-être même plus rapide que la commande Search de l'objet StringList.

Mais un problème se pose: elle ne permet pas d'afficher correctement les caractères accentués dans l'objet Edit !!
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 3:07

Pedro alvarez a écrit:

Mais un problème se pose: elle ne permet pas d'afficher correctement les caractères accentués dans l'objet Edit !!


Voici une solution qui permet d'afficher correctement les caractères accentués.
Le résultat est acceptable du point de vue temps d’exécution si la liste n’est pas trop longue !

Code:

rem ============================================================================
rem     Recherche de chaînes de caractères dans les fichiers.
rem     à l aide de la commande "FINDSTR" de la ligne de commande
rem ============================================================================
rem Syntaxe :
rem FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
rem         [/F:fichier] [/C:chaîne] [/G:fichier] [/D:liste de répertoires]
rem         [/A:attributs de couleur] [chaînes]
rem         [[lecteur:][chemin]nom de fichier[ ...]]
rem ============================================================================
rem /B           Recherche l élément si il est en début de ligne.
rem /E           Recherche l élément si il est en fin de ligne.
rem /L           Recherche les chaînes littéralement.
rem /R           Recherche les chaînes en tant qu expressions.
rem /S           Recherche les fichiers correspondants dans le répertoire actif
rem              et dans tous ses sous-répertoires.
rem /I           Spécifie que la recherche ne doit pas tenir compte de la casse.
rem /X           Affiche les lignes correspondant parfaitement.
rem /V           N affiche que les lignes non correspondantes.
rem /N           Affiche le numéro de ligne devant chaque ligne correspondante.
rem /M           Affiche uniquement le nom des fichiers contenant des chaînes
rem              correspondantes.
rem /O           Affiche le décalage des caractères pour chaque ligne
rem              correspondante.
rem /P           Ignore les fichiers ne contenant pas de caractères affichables.
rem /OFFLINE     Ne pas ignorer les fichiers dont l attribut hors connexion a été réglé.
rem /A:attr      Spécifie l attribut de couleur avec 2 chiffres hexadécimaux.
rem              Entrez "color /?".
rem /F:fichier   Lit la liste des fichiers dans le fichier spécifié (/ pour la
rem              console).
rem /C:chaîne    Recherche la chaîne spécifiée littéralement.
rem /G:fichier   Obtient les chaînes à rechercher à partir du fichier spécifié
rem              (/ pour la console).
rem /D:rép       Recherche dans une liste de répertoires délimitée par des
rem              points-virgules.
rem chaînes      Chaînes à rechercher.
rem [lecteur:][chemin]nom de fichier
rem              Spécifie les fichiers dans lesquels effectuer la recherche.
rem ============================================================================
rem Utilisez des espaces pour séparer plusieurs chaînes à rechercher, sauf si
rem l argument est précédé de /C.
rem Exemple :
rem FINDSTR "bonne journée" x.y    <--- recherche "bonne" ou "journée" dans le fichier x.y
rem FINDSTR /C:"bonne journée" x.y <--- recherche "bonne journée"  dans le fichier x.y
rem ============================================================================
' ==============================================================================
rem Le code suivant cherche les mots qui commencent par la (ou les) lettre(s)
rem tapée(s) dans un EDIT.
rem La recherche se fait dans un fichier texte contenant 22740 mots de la langue française.
rem Remarquez la rapidité du traitement !
rem Le résultat est instantanné.
' ==============================================================================
rem ============================================================================
label findstr
dim i,t$,dico$
dim ansi$(256)
dico$ = "c:\users\acer\desktop\liste_francais.txt" : ' 22 740 mots
' à télecharger sur :
' http://www.freelang.com/dictionnaire/dic-francais.php
EDIT 10 : WIDTH 10,200 : set_focus 10 : ON_CHANGE 10,findstr
memo 20 : HIDE 20 : TOP 20,40 : WIDTH 20,200 : HEIGHT 20,400 : bar_both 20
COLOR 20,250,200,100
for i = 0 to 255 : read ansi$(i) : next i

end
rem ============================================================================
Findstr:
   clear 20
   t$ = text$(10)
   if len(t$) < 2 then return
   execute_wait "cmd /c findstr /b /i " + chr$(34) + t$ + chr$(34) + " " + dico$ + "|clip"
   AnsiToOem(clipboard_string_paste$)
return
rem ============================================================================
SUB AnsiToOem(c$)
    dim_local OldLine$, NewLine$, OldC, NewC$, i
    OldLine$ = c$ : NewLine$ = ""
    for i = 1 to len(OldLine$)
        Oldc = asc(mid$(OldLine$,i,1))
        NewLine$ = NewLine$ + chr$(hex(ansi$(oldc)))
    next i
    item_add 20, NewLine$ : show 20
END_SUB
rem ============================================================================
data "00","01","02","03","04","05","06","07","08","09","0A","0B","0C","0D","0E","0F"
data "10","11","12","13","14","15","16","17","18","19","1A","1B","1C","1D","1E","1F"
data "20","21","22","23","24","25","26","27","28","29","2A","2B","2C","2D","2E","2F"
data "30","31","32","33","34","35","36","37","38","39","3A","3B","3C","3D","3E","3F"
data "40","41","42","43","44","45","46","47","48","49","4A","4B","4C","4D","4E","4F"
data "50","51","52","53","54","55","56","57","58","59","5A","5B","5C","5D","5E","5F"
data "60","61","62","63","64","65","66","67","68","69","6A","6B","6C","6D","6E","6F"
data "70","71","72","73","74","75","76","77","78","79","7A","7B","7C","7D","7E","7F"
data "5F","5F","27","9F","22","2E","C5","CE","5E","25","53","3C","4F","5F","5A","5F"
data "5F","27","27","22","22","07","2D","2D","7E","54","73","3E","6F","5F","7A","59"
data "FF","AD","BD","9C","CF","BE","DD","F5","F9","B8","A6","AE","AA","F0","A9","EE"
data "F8","F1","FD","FC","EF","E6","F4","FA","F7","FB","A7","AF","AC","AB","F3","A8"
data "B7","B5","B6","C7","8E","8F","92","80","D4","90","D2","D3","DE","D6","D7","D8"
data "D1","A5","E3","E0","E2","E5","99","9E","9D","EB","E9","EA","9A","ED","E8","E1"
data "85","A0","83","C6","84","86","91","87","8A","82","88","89","8D","A1","8C","8B"
data "D0","A4","95","A2","93","E4","94","F6","9B","97","A3","96","81","EC","E7","98"
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Pedro

Pedro


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

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Findstr.   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 8:16

Bonjour à tous.

Merci Papydall.

Mais la nouvelle routine bloque le programme, lorsque la liste à traiter est un peu trop longue.
Cela est dû au 'on_change'.

Désolé.

Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 12:27

Bonjour Papydall

C'est juste SUPER !! cheers

Je n'avais pas eu le temps de regarder hier soir, étant absent. drunken
C'est effectivement très rapide vu le nombre de mots !

Juste cette contrainte de la fenêtre dos à faire disparaître. Il me semble qu'il y a une solution qui a déjà était donnée...
Merci et Bravo pour cette excellente astuce qui risque d'avoir de nombreuses utilisations ! sunny

PS : je pense qu'au lieu de Mindstorm tu voulais dire Minibug ! geek
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 13:06

Minibug a écrit:
PS : je pense qu'au lieu de Mindstorm tu voulais dire Minibug !  

C’est juste !
Que veux-tu que je fasse entre la tempête (storm) et l’insecte (bug) ?

Ok ! je vais sortir mais pas avant de te dire que notre talentueux JL35 a posté (qui cherche trouve) une astuce pour faire disparaître la furtive fenêtre en noir.


EDIT :
J'ai "minibugué" l'"esprit de tempête" là-haut !!!!
lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 13:15

J'ai retrouver dans ce post un script de JL35 qui évite l'affichage de la fenêtre DOS.

J'essaie de l'insérer dans le programme de Papydall mais sans résultat ! scratch
J'ai l'impression que le problème se situe dans le contenu du presse papier.

Voici le sous_programme de Papydall à la base modifier avec les infos de la sub de JL35 :

Code:
Findstr:

   clear 20
   t$ = text$(10)

    pr$ = "cmd /c findstr /b /i " + chr$(34) + t$ + chr$(34) + " " + dico$ + "|clip"

    ' Exécution d'un programme externe sans la fenêtre noire Ms-DOS

    scr$ = "C:\TEMP\Vbscript.vbs"
    bat$ = "C:\TEMP\Bat.bat"
    qu$ = CHR$(34)
    ' ===== Création du fichier .bat
    FILE_OPEN_WRITE 90, bat$: FILE_WRITELN 90, pr$ : FILE_CLOSE 90
    ' ===== Création du script .vbs
    FILE_OPEN_WRITE 90, scr$
    FILE_WRITELN 90, "CreateObject("+qu$+"Wscript.Shell"+qu$+").Run "+qu$+bat$+qu$+",0,True"
    FILE_CLOSE 90
    ' ===== Exécution du script
    EXECUTE_WAIT "WSCRIPT.exe "+scr$

   item_add 20, clipboard_string_paste$ : show 20

    FILE_DELETE bat$: FILE_DELETE scr$

return

PS : Avant l'execution pensez à rajouter les variables suivantes : scr$ , qu$ , pr$ , bat$

@Papydall : on s'est croisé ! Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 14:31

@Minibug,

Dans ton exemple, mets un espace entre dico$ et '|clip', ça ira mieux.

Par exemple, pour trouver la version de Panoramic_Editor actuellement en service:
Code:
DIM t$,f$
f$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC_EDITOR.exe"
t$ = "PANORAMIC Version"
Findstr(t$,f$)
MESSAGE clipboard_string_paste$
END

SUB Findstr(txt$,f$)
' Recherche de la chaîne txt$ dans le fichier f$
DIM_LOCAL scr$,bat$,q$
scr$ = "C:\TEMP\\Scr.vbs": bat$ = "C:\TEMP\\Bat.bat"
q$ = CHR$(34)
FILE_OPEN_WRITE 9,bat$
    FILE_WRITELN 9,"cmd.exe /c FIND "+q$+txt$+q$+" "+q$+f$+q$+" | clip"
FILE_CLOSE 9
FILE_OPEN_WRITE 9, scr$
    FILE_WRITELN 9, "CreateObject("+q$+"Wscript.Shell"+q$+").Run "+q$+bat$+q$+",0,True"
FILE_CLOSE 9
EXECUTE_WAIT "WSCRIPT.exe "+scr$
FILE_DELETE bat$: FILE_DELETE scr$
END_SUB
là on utilise FIND, pas FINDSTR.
Mais FIND marche pour rechercher une chaîne de caractères Ascii noyée dans un fichier binaire.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 15:48

Bonjour JL35

J'ai suivi ton conseil et ça fonctionne parfaitement.
Par contre dans le post tu donne un second exemple où l'on se passe du fichier 'bat'
Mais là ça ne fonctionne pas ou plutôt je n'ai pas réussi à le mettre en œuvre.

J'ai remplacé les CHR$(34) de la chaîne de Papydall par qu$ mais rien à faire.
Il y a sûrement une erreur quelque part...

Code:

Findstr:

  clear 20
  t$ = text$(10)
  qu$ = CHR$(34)

  pr$ = "cmd /c findstr /b /i " + qu$ + t$ + qu$ + " " + dico$ + " |clip"
  scr$ = "C:\temp\Vbscript.vbs"

  FILE_OPEN_WRITE 90, scr$
      FILE_WRITELN 90, "CreateObject("+qu$+"Wscript.Shell"+qu$+").Run "+qu$+pr$+qu$+",0,True"
  FILE_CLOSE 90
  EXECUTE_WAIT "WSCRIPT.exe "+scr$

  item_add 20, clipboard_string_paste$ : show 20

  FILE_DELETE scr$

return
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 15:59

Ca y est je viens de trouver !
En retirant les CHR$(34) de la chaîne de Papydall, cela fonctionne.

J'ai donc la chaîne suivant : pr$ = "cmd /c findstr /b /i " + t$ + " " + dico$ + " |clip"

Encore merci à tous.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 17:09

L’instruction FIND:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 17:29

@Minibug,
Ton astuce d'enlever les Chr$(34) de la chaîne de papydall ça risque fort de ne pas marcher si t$ ou dico$ contiennent des espaces...

Remarque: dans mon exemple ci-dessus il y a des '\\' doublés intempestifs
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyDim 4 Déc 2016 - 17:54

Aucun risque puisqu'il s'agit des mots clé.
L'espace devrai permettre la remise à zéro de la chaîne à rechercher.

Mais je garde le conseil au cas où...
Merci Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR EmptyLun 5 Déc 2016 - 15:22

Pour afficher les lettres accentuées, je propose deux solutions avec leurs avantages et inconvénients :

1) On change le code page de l’invite de commande dans l’instruction Panoramic execute_wait qui deviendra :
Code:

execute_wait "cmd /c chcp 1252 & findstr /b /i " + chr$(34) + t$ + chr$(34) + " " + dico$ + "|clip"

Le code page 1252 affiche bien les lettres accentuées, mais la recherche avec FINDSTR s’arrête à la 1ère lettre accentuée.
2) Au lieu de rediriger la sortie de la commande FINSTR vers le CLIP, on envoie la sortie vers un fichier texte
Code:

execute_wait "cmd /c findstr /b /i " + chr$(34) + t$ + chr$(34) + " " + dico$ + " > " + dest$

Avec , par exemple
Code:

Dim dest$
dest$ = "c:\users\acer\desktop\recherche.txt"

Il faut ensuite lire le fichier texte dest$

Code:

Dim lig$

file_open_read 30,dest$
  while file_eof(30) <> 1
        file_readln 30,lig$
        item_add 20, lig$
   end_while
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Recherche de chaînes de caractères : FINDSTR Empty
MessageSujet: Re: Recherche de chaînes de caractères : FINDSTR   Recherche de chaînes de caractères : FINDSTR Empty

Revenir en haut Aller en bas
 
Recherche de chaînes de caractères : FINDSTR
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Tri de chaînes de caractères
» Comparaison des chaînes de caractères
» Fichiers texte et chaînes de caractères
» Fonctions de gestion de chaînes de caractères délimitées
» V3.29 du 27/08/2014 - Synedit: chaînes de caractères !

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: