Print #1 et Tab( )

Résolu
pinje Messages postés 129 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 24 août 2006 - 16 juil. 2004 à 12:55
pinje Messages postés 129 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 24 août 2006 - 19 juil. 2004 à 11:25
Bonjour a tous,

j'utilise cette ligne de code en VB pour mettre des donnees dans un fichier texte:

Print #1, "TCHEZY "; Tab(10); "="; Tab(20); TCHEZY; Tab(30); "TIME AT WHICH ROUGHNESS COEFF. IS CHANGED (HR)"

Ceci marche tres bien et me donne le resultat suivant:

TCHEZY = 0.10 TIME AT WHICH ROUGHNESS COEFF
TEDDY = 0.10 TIME AT WHICH EDDY VISCOSITY IS
TDISP = 0.10 TIME AT WHICH DISPERSION COEFF
BETA = 1.016 MOMENTUM CORRECTION FACTOR
COED = 1.000 EDDY VISCOSITY COEFFICIENT
GAMMA = 13.000 LONGITUDINAL DISPERSION

Or ce fichier texte doit etre lu par un module de calcul fait sous Fortran qui est tres pointilleux avec les formats
et ne peut lire que ce type de donnees:

TCHEZY = 0.10 TIME AT WHICH ROUGHNESS COEFF
TEDDY = 0.10 TIME AT WHICH EDDY VISCOSITY IS
TDISP = 0.10 TIME AT WHICH DISPERSION COEFF
BETA = 1.016 MOMENTUM CORRECTION FACTOR
COED = 1.000 EDDY VISCOSITY COEFFICIENT
GAMMA = 13.000 LONGITUDINAL DISPERSION

Ma question est donc:

Comment dois je faire pour que mon programme sous VB m'imprime mes valeurs numeriques non pas A PARTIR
de la colone 20 'Tab(20)' mais SE FINISSANT a la colone 20?

Merci a tous ceux qui voudront bien me repondre car la, je vois pas du tout...

Jerem

4 réponses

cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
16 juil. 2004 à 14:38
Un truc dans le genre te convient-il ?

Dim sLigne as String
' Nom de l'enregistrement
sLigne = sNomEnreg
' Rajout du symbôle égal en 10ème position
sLigne = sLigne & Space(9 - Len(sLigne)) & "="
' Rajout de la valeur de l'enreg avec le dernier caractère en 20ème position
sLigne = sLigne & Space(19 - (Len(sLigne) + Len(sValeurEnreg))) & sValeurEnreg
' Rajout du commentaire sur l'enreg à partir de la 30ème position
sLigne = sLigne & Space(9) & sCommentaire


Valeurs des variables utilisées par rapport à la première ligne de ton exemple (tout est en string)
sNomEnreg = "TCHEZY"
sValeurEnreg = "0.10"
sCommentaire = "TIME AT WHICH ROUGHNESS COEFF"
3
pinje Messages postés 129 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 24 août 2006
16 juil. 2004 à 13:03
Desole,

Ca n'a pas pris en compte les espaces et tabulations, il fallait lire:

Ce que j'obtient:
TCHEZY...=.......0.10........TIME AT WHICH ROUGHNESS COEFF
TEDDY.....=.......0.10........TIME AT WHICH EDDY VISCOSITY IS
TDISP......=.......0.10........TIME AT WHICH DISPERSION COEFF
BETA.......=.......1.016.......MOMENTUM CORRECTION FACTOR
COED......=.......1.000.......EDDY VISCOSITY COEFFICIENT
GAMMA....=.......13.000.....LONGITUDINAL DISPERSION

Ce que j'aimerais avoir:
TCHEZY...=.......0.10........TIME AT WHICH ROUGHNESS COEFF
TEDDY.....=.......0.10........TIME AT WHICH EDDY VISCOSITY IS
TDISP......=.......0.10........TIME AT WHICH DISPERSION COEFF
BETA.......=......1.016........MOMENTUM CORRECTION FACTOR
COED......=......1.000........EDDY VISCOSITY COEFFICIENT
GAMMA....=....13.000........LONGITUDINAL DISPERSION

Jerem
0
cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
16 juil. 2004 à 14:39
J'ai oublié l'essenciel :D

Print #1 sLigne
0
pinje Messages postés 129 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 24 août 2006
19 juil. 2004 à 11:25
Merci beaucoup, ca marche tres bien meme si je pensais qu'il y avait quand meme plus simple!

Jerem
0
Rejoignez-nous