Page 1 sur 1

[R] Nom unique dans une liste

Posté : sam. 24 janv. 2009 15:19
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

Re: [..] Nom unique dans une liste

Posté : dim. 25 janv. 2009 15:49
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

Re: [..] Nom unique dans une liste

Posté : dim. 25 janv. 2009 17:23
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

Re: [..] Nom unique dans une liste

Posté : dim. 25 janv. 2009 22:33
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)

[R] Nom unique dans une liste

Posté : lun. 26 janv. 2009 15:42
par Olegrand
Super ! Un grand merci
Cordialement,
Olivier LE GRAND