[R] Faire un moteur de recherche pour un txt
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Faire un moteur de recherche pour un txt
Bonjour
Actuellement je travail avec un fichier excel pour le trie des mes plaques qui sont dans des classeurs pour facilité la recherche de celle-ci :
Cellule1 = Classeur | Cellule2 = Plaque
La recherche n'est pas des plus pratique, actuellement j'ai fait cela en php avec une base SQL, mais cela impose de lancer un serveur web pour ce faire.
Connaissant un peu les possibilités de AutoIt je me suis dit pourquoi pas l'utilisé pour facilité tous cela.
Donc est ce possible de créer un moteur de recherche qui va rechercher dans un fichier .txt des informations après un point virgule (ou autres caractère) par exemple:
1.1;007
1.2;008
1.3;009
etc
Je fait une recherche sur la plaque 008 il me ressort Classeur 1.2
Donc voila en gros sachant que je souhaite un "truc" simple d'utilisation car les personnes utilisant le logiciel n'ont pas forcement une approche facile avec l'informatique.
Merci à vous
Actuellement je travail avec un fichier excel pour le trie des mes plaques qui sont dans des classeurs pour facilité la recherche de celle-ci :
Cellule1 = Classeur | Cellule2 = Plaque
La recherche n'est pas des plus pratique, actuellement j'ai fait cela en php avec une base SQL, mais cela impose de lancer un serveur web pour ce faire.
Connaissant un peu les possibilités de AutoIt je me suis dit pourquoi pas l'utilisé pour facilité tous cela.
Donc est ce possible de créer un moteur de recherche qui va rechercher dans un fichier .txt des informations après un point virgule (ou autres caractère) par exemple:
1.1;007
1.2;008
1.3;009
etc
Je fait une recherche sur la plaque 008 il me ressort Classeur 1.2
Donc voila en gros sachant que je souhaite un "truc" simple d'utilisation car les personnes utilisant le logiciel n'ont pas forcement une approche facile avec l'informatique.
Merci à vous
Modifié en dernier par Tyler94 le lun. 22 nov. 2010 17:15, modifié 1 fois.
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Faire un moteur de recherche pour un txt
Ma contribution, plus simple je vois pas :
Ci joint, le source, et le modele de fichier texte correspondant a ta demande
[Edit] : j'avais oublié un controle dans la première version...
Ci joint, le source, et le modele de fichier texte correspondant a ta demande
[Edit] : j'avais oublié un controle dans la première version...
- Fichiers joints
-
- plaques.zip
- (992 Octets) Téléchargé 92 fois
Si vis pacem para bellum
Re: [..] Faire un moteur de recherche pour un txt
Et bien je te remercie énormément, en effet c'est simple, je vais juste regarder quelques chose qui bug, à la recherche de la plaque il me dit bien que c'est le classeur X mais après validation il me dit que la plaque n'existe pas
Merci à toi je demandais si c'etait possible et on me fait la chose lol
@ bientot
Merci à toi je demandais si c'etait possible et on me fait la chose lol
@ bientot
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Faire un moteur de recherche pour un txt
oooooops, effectivement pour le bug, c'est tout simple. Il faut ajouter
exitloop
apres la ligne
MsgBox(0, "Trouvé", "La plaque " & $plaque & " se trouve dans le classeur " & $splitligne[1])
ce qui donne (je te met que la fonction concernée):
Dans la foulée, en relisant mon code je me demande bien a quoi sert la fonction _validation($plaque) ou ce que j'avais en tete au moment ou je l'ai créée !
Donc en gros, tu peux la supprimer, du coup, il suffit de renommer _controle($plaque) en _validation($plaque) et ca te permettra de gagner qq lignes.
exitloop
apres la ligne
MsgBox(0, "Trouvé", "La plaque " & $plaque & " se trouve dans le classeur " & $splitligne[1])
ce qui donne (je te met que la fonction concernée):
Code : Tout sélectionner
Func _recherche($plaque)
$file = FileOpen(@ScriptDir & "\plaques.txt", 0)
If $file = -1 Then
MsgBox(0, "Erreur", "Fichier inexistant ou illisible")
Exit
EndIf
While 1
$ligne = FileReadLine($file)
If @error = -1 Then
MsgBox(0, "Absent", "La plaque " & $plaque & " est introuvable. Etes vous sur qu'elle se trouve dans un classeur ?")
ExitLoop
EndIf
$splitligne = StringSplit($ligne, ";")
If $plaque = $splitligne[2] Then
MsgBox(0, "Trouvé", "La plaque " & $plaque & " se trouve dans le classeur " & $splitligne[1])
ExitLoop ;<== la correction est là
EndIf
WEnd
FileClose($file)
EndFunc ;==>_rechercheDonc en gros, tu peux la supprimer, du coup, il suffit de renommer _controle($plaque) en _validation($plaque) et ca te permettra de gagner qq lignes.
Modifié en dernier par zeshrek le lun. 22 nov. 2010 17:19, modifié 1 fois.
Si vis pacem para bellum
Re: [..] Faire un moteur de recherche pour un txt
Merveilleux même pas eu le temps de regarder lol
Un grand merci à toi
Un grand merci à toi
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [R] Faire un moteur de recherche pour un txt
pas de quoi.
(pense a passer le topic en [R]
(pense a passer le topic en [R]
Si vis pacem para bellum
Re: [R] Faire un moteur de recherche pour un txt
Zesherk, la coloration syntaxique du code, c'est uniquement pour les forum tutoriels et exemple de script 
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Re: [R] Faire un moteur de recherche pour un txt
Rebonjour comme on dit la nuit porte conseil, et j'ai eu l'idée d'un petit quelques choses assez bête mais tellement utile pour ce petit script :
Je souhaiterai faire une recherche par exemple des plaques 75 donc il faudrait une filtre avec *75 et le script me balance toutes les plaques 75, par contre il faudrait que cela fonctionne avec les 2,3,4 etc.. derniers chiffres
J'ai fait des recherche mais je ne trouve pas grand choses sur la Recherche avec AutoIt
Merci à vous
Je souhaiterai faire une recherche par exemple des plaques 75 donc il faudrait une filtre avec *75 et le script me balance toutes les plaques 75, par contre il faudrait que cela fonctionne avec les 2,3,4 etc.. derniers chiffres
J'ai fait des recherche mais je ne trouve pas grand choses sur la Recherche avec AutoIt
Merci à vous
- zeshrek
- Niveau 10

- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [R] Faire un moteur de recherche pour un txt
@pop45 : bin, vu que c'était un exemple de script donné dans la section d'aide, j'ai cru que...
Bon, je le ferai plus
@tyler nouvelle mouture.
Tu peux rentrer un numéro de plaque, ou un bout avec étoile. L'étoile peut etre mise :
- avant -> *8 te donnera les plaques finissant par 8. pas de limite au nombre de caractères après l'étoile (*2465852351 sera accepté et renverra un résultat si un plaque finissant par ces 10 chiffres existe)
- après -> 0* te donnera les plaques commençant par 0. Pas de limite non plus au nombre de caractères avant l'étoile (5218652381* sera accepté et renverra un résultat si un plaque commençant par ces 10 chiffres existe)
- de part et d'autre -> *01* te donnera les plaques contenant la séquence 01. Pas de limite non plus au nombre de caractères entre les étoiles (*0855265416* sera accepté et renverra un résultat si un plaque contenant ces 10 chiffres existe)
Nota : dans mes exemples je donne des chiffres, mais rien n'empêche d'utiliser des lettres... sous réserve que tes plaques aient bien des lettres dans leur code, sans quoi ca servira a rien
Bon, je le ferai plus
@tyler nouvelle mouture.
Tu peux rentrer un numéro de plaque, ou un bout avec étoile. L'étoile peut etre mise :
- avant -> *8 te donnera les plaques finissant par 8. pas de limite au nombre de caractères après l'étoile (*2465852351 sera accepté et renverra un résultat si un plaque finissant par ces 10 chiffres existe)
- après -> 0* te donnera les plaques commençant par 0. Pas de limite non plus au nombre de caractères avant l'étoile (5218652381* sera accepté et renverra un résultat si un plaque commençant par ces 10 chiffres existe)
- de part et d'autre -> *01* te donnera les plaques contenant la séquence 01. Pas de limite non plus au nombre de caractères entre les étoiles (*0855265416* sera accepté et renverra un résultat si un plaque contenant ces 10 chiffres existe)
Nota : dans mes exemples je donne des chiffres, mais rien n'empêche d'utiliser des lettres... sous réserve que tes plaques aient bien des lettres dans leur code, sans quoi ca servira a rien
- Fichiers joints
-
- plaques.zip
- Nouvelle mouture avec recherche par masque
- (1.42 Kio) Téléchargé 86 fois
Si vis pacem para bellum
Re: [R] Faire un moteur de recherche pour un txt
Merci à toi tu es un AS ca fonctionne à merveille 
Bon courage pour ton boulot
Bon courage pour ton boulot


