Recherche de code

fafafun17 Messages postés 3 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 16 septembre 2008 - 15 sept. 2008 à 23:03
fafafun17 Messages postés 3 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 16 septembre 2008 - 16 sept. 2008 à 22:35
Bonjour,
je suis nouveau sur ce site (qui par ailleurs me semble très intéressant et très instructif), mais je recherche pour l'instant un modèle code bien particulier :

Je souhaite pouvoir récupérer dans plusieurs champs (type textbox) des données stockées dans un fichier ".txt" et séparé par un caractère spécial (";" ou ":" par exemple) pour ensuite les modifier en saisissant le nouvelles valeurs dans les champs , qui seront enfin sauvegardées dans le même fichier texte.
Malheureusement je n'ai pas trouvé mon bonheur sur ce site mais je suppose qu'un code a déjà été proposé pour ce genre de sujet. Donc je demande juste une petite visite guidée afin de trouver mon bonheur.

Merci d'avance.

PS j'utilise Visual basic 2008 express et je suis novice (un vrai qui fait juste ses premiers pas en programmation !!!)
Fafafun17

6 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 sept. 2008 à 23:54
cherche dans ton aide en ligne
la fonction readline (io.streamreader ) pour lire le fichier

 la fonction Split ( pour séparer les string)

la fonction writeline (io.streamwriter ) pour écrire le fichier

Bonjour chez vous !
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
16 sept. 2008 à 01:48
Bonsoir fafafun, et bienvenu sur CS

Pour lire ton fichier texte, je te conseil un IO.File.ReadAllText ou un IO.File.ReadAllLines
Ensuite, pour séparer tes différentes données, utilise la fonction qu'indique gillardg : String.Split
En une ligne, ça donne ceci :
Dim MyDatas() As String = IO.File.ReadAllText("C:\Fichier.txt").Split(";")

Au lieu d'utiliser toute une série de TextBoxes pour afficher tes données, tu peux utiliser une ListView en définissant l'édition des labels sur True (pour permettre la modification).

Enfin, utilise IO.File.WriteAllText ou IO.File.WriteAllLines pour enregistrer les données dans le fichier.
0
fafafun17 Messages postés 3 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 16 septembre 2008
16 sept. 2008 à 09:42
Bonjour a vous deux. Tout dabord merci pour vos réponse plus que rapide.
En fait j'avais déjà trouvé une partie du code dans l'aide en ligne comme tu me le propose "gillardg".
voici donc ma portion de code :








''''''''''''''''''''''''''''''''''''








Using

MyReader


As





New

Microsoft.VisualBasic.FileIO.TextFieldParser(


"C:\essai.txt"

)MyReader.TextFieldType = FileIO.FieldType.Delimited

MyReader.SetDelimiters(



";"

)



Dim

currentRow


As





String

()



While





Not

MyReader.EndOfData



Try


currentRow = MyReader.ReadFields()








Dim

currentField


As





String








For





Each

currentField


In

currentRow




''''''''''''''      ici j'ajoute mon code          ''''''''''''''

Next








Catch

ex


As

Microsoft.VisualBasic.FileIO.MalformedLineExceptionMsgBox(



"Line "

& ex.Message &


"is not valid and will be skipped."

)



End





Try








End





While








End





Using


'''''''''''''''''''''''''''

Donc en fait j'arrive à acceder au fichier texte, mais je ne sais pas comment récupérer mes 2 champs séparer par ";"  dans mes 2 textebox.
J'ai essayé :
textbox1.text = currentfield
textbox2.text = currentfield
mais c'est évidemment sans résultat puisque déjà il faut passer du premier champ au second champ

J'éspère que j'arrive bien a me faire comprendre.
Merci d'avance pour votre aide.
A+
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
16 sept. 2008 à 11:37
Dim

tb1, tb2


As





New

TextBox  ' pour les textbox j'ai pas mis le reste (setparent, position, visible)



Dim

test


As





String

=


My

.Computer.FileSystem.ReadAllText(


"c:\essai.txt"

)



Dim

cra()


As





String

= test.Split(


";"

)tb1.Text = cra(0)

tb2.Text = cra(1)














Bonjour chez vous !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
16 sept. 2008 à 14:55
Ton code me semble bien compliqué pour lire un fichier texte fafafun...
Si on reprend ma petite ligne de code:

Dim MyDatas() As String = IO.File.ReadAllText("C:\Fichier.txt").Split(";")
TextBox1.Text = MyDatas(0)
TextBox2.Text = MyDatas(1)

Et c'est tout

Tu pourrais nous mettre un extrait de ton fichier texte, ça nous aiderait....
0
fafafun17 Messages postés 3 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 16 septembre 2008
16 sept. 2008 à 22:35
Mille merci,

Grace à vous (gillardg et kevin.ory) j'ai les éléments qu'il me fallait.
En effet en voyant vos codes je trouve de suite les miens bien compliqués. Chez vous c'est plus simple à comprendre et surtout plus court !!!

Je n'avais pas saisi l'utilité "split" mais maintenant ok je comprend mieux.

Bref mon problème est résolu avec votre aide, donc (re) merci à vous.
Voici pour finir la partie de mon code qui me manquais:

Dim

 champ() 
As
String =
My.Computer.FileSystem.ReadAllText(
"c:\essai.txt").Split("|"
)
TXT_Date.Text champ(0)TXT_Position.Text champ(1)

Bonne continuation
Fafafun

Rien ne sert de courir ... ;-)
0
Rejoignez-nous