[RESOLU]Mise en forme enregistrement fichier texte
Publié : mar. 07/juin/2011 18:22
Bonjour,
J'ai passé toute la journée à chercher une solution mais rien à faire. J'ai bien peur que Purebasic
n'ait pas prévu ce cas. Ce serait vraiment dommage si c'était vrai. Voici mon problème:
Je voudrais écrire 3 enregistrements dans un fichier texte. L'enregistrement est composé de 3 chaines : Nom, adresse, Télephone. Les données sont disponibles en mémoire telle que:
(dans l'ordre):
Nom(1)="Gildev" : Adr(1)="Paris" : Tel(1)="00000000"
Nom(2)="Dobro" : Adr(2)="Toulouse" : Tel(2)="11111111"
Nom(3)="Anissa" : Adr(3)="Alger" : Tel(3)="22222222"
Ma question est simple: Comment faire pour que mes colonnes soient alignées dans le fichier texte? (chaque nom commence à une même position, idem pour l'adresse et pour le tel)
En Visual basic, on utilise le TAB(): ça permet de positionner automatiquement chaque champ sur une même colonne, comme ceci (et ça marche):
En Pb, Tab automatique n'existe pas et en plus, même dans toutes les syntaxes de fichier texte,
on ne peut pas positionner un champ au niveau de l'enregistrement. Je dis bien positionner un champs (Len(champs) ou space(x) ne règlent pas le problème), Il s'agit au fait de connaître la surface horizontale occupée par un champ en U (U est une unité que j'ignore c'est celle qui permet de connaitre les positions dans un fichier texte), voici pourquoi je ne peux pas utiliser les Mid, Right, Left, Len() etc... :
DOBRO et Dobro sont deux champs qui ont la même taille (Len()=5) mais ils n'occupent pas la même longueur dans un fichier texte, donc ils ne se terminent pas à la même position. Je ne sais pas si c clair mais si vous avez une astuce en pb, je serais ravie.
Merci de votre aide
J'ai passé toute la journée à chercher une solution mais rien à faire. J'ai bien peur que Purebasic
n'ait pas prévu ce cas. Ce serait vraiment dommage si c'était vrai. Voici mon problème:
Je voudrais écrire 3 enregistrements dans un fichier texte. L'enregistrement est composé de 3 chaines : Nom, adresse, Télephone. Les données sont disponibles en mémoire telle que:
(dans l'ordre):
Nom(1)="Gildev" : Adr(1)="Paris" : Tel(1)="00000000"
Nom(2)="Dobro" : Adr(2)="Toulouse" : Tel(2)="11111111"
Nom(3)="Anissa" : Adr(3)="Alger" : Tel(3)="22222222"
Ma question est simple: Comment faire pour que mes colonnes soient alignées dans le fichier texte? (chaque nom commence à une même position, idem pour l'adresse et pour le tel)
En Visual basic, on utilise le TAB(): ça permet de positionner automatiquement chaque champ sur une même colonne, comme ceci (et ça marche):
Code : Tout sélectionner
Sub AlignerChamps()
Open "TxtFile" For Output As #1
For i=1 TO 3
Print #1, Nom(i); Tab; Adr(i); Tab;Tel(i)
Next i
MsgBox ("Terminé")
End Sub
on ne peut pas positionner un champ au niveau de l'enregistrement. Je dis bien positionner un champs (Len(champs) ou space(x) ne règlent pas le problème), Il s'agit au fait de connaître la surface horizontale occupée par un champ en U (U est une unité que j'ignore c'est celle qui permet de connaitre les positions dans un fichier texte), voici pourquoi je ne peux pas utiliser les Mid, Right, Left, Len() etc... :
DOBRO et Dobro sont deux champs qui ont la même taille (Len()=5) mais ils n'occupent pas la même longueur dans un fichier texte, donc ils ne se terminent pas à la même position. Je ne sais pas si c clair mais si vous avez une astuce en pb, je serais ravie.
Merci de votre aide