Ecrire/Modifier des champs dans un fichier texte/ou textbox

Résolu
Scorpio974 Messages postés 19 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 17 septembre 2007 - 20 juin 2007 à 09:17
Scorpio974 Messages postés 19 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 17 septembre 2007 - 20 juin 2007 à 13:43
Bonjour !

J'ai un texte avec des données bien structurées (espacés par des tabulations) :

Champ1   Champ2   Champ3

J'aimerais savoir commment faire pour récuperer par exemple le Champ2 dans une RichTextBox (ou une TextBox), et l'envoyer dans une autre RichTextBox (ou une TextBox).

Pendant l'envoi, je souhaite ajouter des balises au Champ en question. Ex : Champ2.

Tout ça en Visual Basic bien sûr ^^

Pouvez-vous m'éclairer svp ! :)

Je vous remercie d'avance ;)

7 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juin 2007 à 09:54
Salut,
Bon si j'ai bien copris, essaie ce code.

Option Explicit

Private Sub Command1_Click()
'Une feuille avec deux texbox: Text1 et Text2
'Un Bouton Command1. Text1 = "Coco Caca Cucu" 
Dim Champs() As String
Dim NewChamps As String
Dim Cpt As Integer
   Champs = Split(Text1.Text, " ")
   For Cpt = LBound(Champs) To UBound(Champs)
       NewChamps = NewChamps & "[b]" & Champs(Cpt) & "[\b] "
   Next Cpt
   Text2.Text = NewChamps
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
20 juin 2007 à 11:40
Il faut connaître la structure exacte de ton texte.

ex:
A   B   C
D   E   F
G   H   I

Ici, entre les lettres, il y a une tabulation, et à la fin de chaque ligne un saut de ligne
Tu peux donc séparer tout le texte en utilisant Split et vbcrlf
Tableau = Split(Texte, vbCrLf)
ce qui te donneTableau(0) A   B   C,  Tableau(1) D   E   F, ...

Avec une boucle tu lis chaque item de ce tableau que tu "re"Split mais avec vbTab
For i = 0 to UBound(Tableau)
tablo2 = Split(tableau(i), vbTab)
ce qui te donnetablo2(0) A, tablo2(1) B, ...

Il te reste à copier ces valeurs où tu veux en y ajoutant les balises comme te suggères JRivet

MPi
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juin 2007 à 09:22
Salut,
Désolé mais je ne comprends pas très bien ce que tu souhaites faire exactement.

Pour mettre un Champs dans un Textbox
NomDuTextBox.Text = "Ton Texte"

entre deux
NomDuTextBox2.Text  = NomDuTextBox.Text

pour ajouter [b]
NomDuTextBox2.Text  = "[b]" & NomDuTextBox.Text & "[\b]"

Non vraiment je ne suis pas sur que ce soit ce que tu désires.
@+: Ju£i?n
Pensez: Réponse acceptée
0
Scorpio974 Messages postés 19 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 17 septembre 2007
20 juin 2007 à 09:46
Par exemple j'ai ce texte :

Coco Caca Cucu  

Chaque champs séparés par des espaces pour cet exemple.

En langage C, si j'ai un fichier texte (monfichier1.txt) avec les champs plus haut, je ferais un truc de ce genre :

FILE* f_read = NULL;
    f_read = fopen("monfichier1.txt","r");
    fscanf(f_param, "%s %s %s", &coco, &caca, &cucu);
fclose(f_read);

FILE* f_write = NULL;   
        f_write = fopen("monfichier2.txt","w");
        fprintf(f_write,"%s %s%s",coco, caca, cucu");
        fclose(f_write);


Ben moi je souhaite faire la même chose, mais au lieu d'utiliser 2
fichiers textes, j'utilise 2 RichTextBox (ou  Textbox), et au lieu du
C, du VB ^^
0

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

Posez votre question
Scorpio974 Messages postés 19 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 17 septembre 2007
20 juin 2007 à 09:55
Ptite erreur ^^.

L'exemple d'en haut ne reflète pas vraiment ce que je veux faire.

FILE* f_read = NULL;
    f_read = fopen("monfichier1.txt","r");
    fscanf(f_ read , "%s %s %s", &coco, &caca, &cucu);
fclose(f_read);

FILE* f_write = NULL;   
        f_write = fopen("monfichier2.txt","w");
        fprintf(f_write,"%s %s






", caca, cucu");    // Ici par exemple, je souhaite prendre que le champs 2 et 3 et Ajouter la balise qu'au champ3 : cucu.
        fclose(f_write);

(Comment on édite nos messages ?)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juin 2007 à 10:05
Re,
Et bien adaptes le code que je te propose en testant l'indice courant dans le tableau.

(on ne peut pas éditer les messages)

@+: Ju£i?n
Pensez: Réponse acceptée
0
Scorpio974 Messages postés 19 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 17 septembre 2007
20 juin 2007 à 13:43
oki, merci beaucoup à vous deux :)

J'ai réussi à faire ce que je voulais : étape1 réussi.

Maintenant, je vais essayer d'écrire ces variables dans un fichier. ^^

Si j'ai un soucis je repasse ici, merci encore ;)
0
Rejoignez-nous