[R] Nom unique dans une liste

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Olegrand
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 19 mai 2008 09:02
Status : Hors ligne

[R] Nom unique dans une liste

#1

Message par Olegrand »

Bonjour,
je vous explique mon problème:
je dois récupérer le contenu d'un input et vérifier que celui-ci ne soit pas présent dans un fichier txt

Code : Tout sélectionner

$contenu = FileRead("site_mdp.txt")
    $resul = StringInStr($contenu, $Read_Input)
    If $resul <> 0 Then
        Message("INFO", $Read_Input & " " & $Site_Doublon, 10000, 100)
        Delock()
        Exit 0
    Else
    EndIf
Cela fonctionne mais pas tout le temps, je vous donne un exemple:
contenue du fichier txt : olivier
je tape : olivier , il me dit que le nom existe déjà ...Ok
je tape: olivierlegrand, il me dit que le nom n'existe pas ...OK
mais quand je tape olivie, il me dit que le nom existe déjà ...Problème !
J'espère que vous comprenez mon problème?
cordialement,
Olivier LE GRAND
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Nom unique dans une liste

#2

Message par ani »

Bonjour

Pourriez vous indiquez une plus grosse partie de votre script, car là c'est pas evident :o
on ne connait pas le fichier txt est-ce que les noms se suivent, est-ce que les noms sont ligne par ligne ?

merci d'avance
Avatar du membre
Olegrand
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 19 mai 2008 09:02
Status : Hors ligne

Re: [..] Nom unique dans une liste

#3

Message par Olegrand »

Merci de m'avoir répondu.
le fichier txt contient des noms avec un retour à la ligne entre chaque
ex :
olivier
Gaelle
Pierre
paul
jacques

le script doit comparer les noms tapés en input et le compare à chaque mot dans la liste , si le nom est déjà utilisé (pas la suite de caractère,mais le mot entier), le script indique une erreur (obligeant à saisir un autre nom)
le code retour de StringInStr m'indique si la valeur est trouvé ou pas
Le problème est identique avec CUL qu'on retrouve dans agriCULture, BioCULture, CULture
Le code est complet, mise à part la fonction Message qui peut être remplacé par msgbox et Delock qui n'a rien à voir (j'aurais du l'enlever)
j'espère avoir été plus clair
Cordialement,
Olivier LE GRAND
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Nom unique dans une liste

#4

Message par Tlem »

Basé sur l'exemple du FileReadLine :

Code : Tout sélectionner

$answer = InputBox("Question", "Quel est votre nom", "", "", -1, -1, 0, 0)

$file = FileOpen("test.txt", 0)
If $file = -1 Then
    MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier.")
    Exit
EndIf

While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    If $answer = $line Then MsgBox(0, "Erreur", "Le nom existe déjà. Veuillez en saisir un autre ")
Wend

FileClose($file)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Olegrand
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 19 mai 2008 09:02
Status : Hors ligne

[R] Nom unique dans une liste

#5

Message par Olegrand »

Super ! Un grand merci
Cordialement,
Olivier LE GRAND
Répondre