Extraction d'informations dans un fichier texte (Parsing?)
n0k14b0y
Messages postés3Date d'inscriptionvendredi 9 juillet 2004StatutMembreDernière intervention15 juillet 2004
-
9 juil. 2004 à 17:12
n0k14b0y
Messages postés3Date d'inscriptionvendredi 9 juillet 2004StatutMembreDernière intervention15 juillet 2004
-
15 juil. 2004 à 23:44
J'aimerais que quand l'utilisateur tape un mot dans ma textbox et valide (par Entrée ou en cliquant sur un bouton), le code aille chercher dans un fichier texte l'un des mots qu'il a tapé et qu'il renvoie une réponse prédéfinie dans ce fichier texte; un exemple pour mieux comprendre:
L'utilisateur tape: "j'aime les oiseaux"
dans le fichier texte, il y a:
chats:c'est nul les chats
oiseaux:c'est joli les oiseaux
chiens:c'est bien les chiens
Satirik
Messages postés44Date d'inscriptionmardi 2 juillet 2002StatutMembreDernière intervention 3 août 2004 9 juil. 2004 à 21:38
dim noms() as string
dim reponses() as string
dim tmpWords() as string
dim tmp as string
redim noms(0)
redim reponses(0)
open "c:\tonfichier.pouet" for input as #1
do until eof(1)
line input #1,tmp
tmpwords=split(tmp,":")
redim preserve noms(ubound(noms)+1)
redim preserve reponses(ubound(noms))
reponses(ubound(noms))=tmpwords(1)
noms(ubound(noms))=tmpwords(0)
loop
close #1
dim i as integer
for i=0 to ubound(noms)
if instr(text1.text,noms(i))>0 then msgbox reponses(i)
next
tu met un textbox text1 un boutton command1 tu copy colle le code dans le boutton et voila
n0k14b0y
Messages postés3Date d'inscriptionvendredi 9 juillet 2004StatutMembreDernière intervention15 juillet 2004 10 juil. 2004 à 00:16
Merci pour ta réponse (rapide, de surcroît)
le code général semble bon mais y'a deux trois blèmes:
déjà, il connaît pas "open", il me renvoie à "filesystem.openfile" et là entre parenthèse y'a des dizaines de trucs à mettre et je suis un gros newbie alors j'entrave que dalle :blush)
Y pige pas non plus le caractère #
ni le "for input as"
Je suppose que ça vient du fait que j'utilise VB.net et plus VB6 :)
Je vais faire une recherche pour essayer d'arranger ça tout seul, mais bon si tu sais comment faire n'hésite pas hein :blush)
n0k14b0y
Messages postés3Date d'inscriptionvendredi 9 juillet 2004StatutMembreDernière intervention15 juillet 2004 15 juil. 2004 à 23:44
bon j'ai un peu modifié pour que ça tienne en vb.net mais il me renvoie une erreur:
An unhandled exception of type 'System.ArgumentNullException' occurred in microsoft.visualbasic.dll
Additional information: La valeur ne peut pas être null.
voilà le code modifié:
Dim noms() As String
Dim reponses() As String
Dim tmpWords() As String
Dim tmp As String
FileOpen(1, "C:\envoi.txt", OpenMode.Input, OpenAccess.Read)
While Not EOF(1)
tmpWords = Split(tmp, ":", -1, CompareMethod.Text)
ReDim Preserve noms(UBound(noms) + 1)
ReDim Preserve reponses(UBound(noms))
reponses(UBound(noms)) = tmpWords(1)
noms(UBound(noms)) = tmpWords(0)
Dim i As Integer
For i = 0 To UBound(noms)
If InStr(boite_envoi.Text, noms(i)) > 0 Then MsgBox(reponses(i))
Next
End While
Est ce que ça le fait déjà en vb6? (avec le code original?)
J'ai vraiment essayé plein de trucs et pas moyen de m'en sortir