Creer une chaine et placer les element a un endroit precis

cs_florian81 Messages postés 1 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 3 janvier 2008 - 3 janv. 2008 à 15:53
BLUEBIBUBBLE Messages postés 116 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 10 avril 2013 - 4 janv. 2008 à 10:43
bonjour a tous,
je suis dans la creation d'un fichier texte pour l'export de données a partir d'une base de données,
je recupere les données sans problème mais pour mon fichier d'export je dois mettre chaque information a un endroit precis
exemple : NOM position 4 (ce qui veut dire 4eme caractere) et pour une taille de 20
ceci ne me pose pas de probleme tant que je vais d'information en information, le tout se mettant a la suite
mais je voudrais pouvoir créer mon document sans me soucier des elements inutiles et en mettant a la bonne place de suite ceux récupérés
donc en precisant par exemple que le NOM doit commencer en 4eme position.(caractere)
 
Merci de votre aide  
 
cordialement
 
Je fais ca sous VB script

flo

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
3 janv. 2008 à 21:14
Salut
VBScript, ce n'est pas du VB.Net (catégorie modifiée)

Intéresse toi aux structures de variables et aux fichiers à accès séquentiel.
Exemple de variable structurée :
   Private Type typeMaVariable
      Dim Nom            As String * 20
      Dim Prénom         As String * 20
      Dim CodePostal   As Long
   End Type
   Dim maFiche As typeMaVariable
Tu n'auras plus qu'à entrer les valeurs, par exemple
   maFiche.Prénom = "Florian"
Ainsi, maFiche aura toujours la même longueur et tu pourras la stocker et la lire très facilement vers/depuis un fichier en accès séquentiel.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
3 janv. 2008 à 21:45
 Bonsoir à tous,

Bonsoir Jack,
En vbs, je crois qu'il faut utiliser une boucle pour dimensionner des variables.

Dim Counter, avant, longueur
sep = "!"
Counter = "florian "
avant = Counter
longueur = 20

If Len(Counter) < longueur Then
   While Len(Counter) < longueur  
      Counter = Counter & Space(1)
   Wend  
 Else
   Counter = Left(Counter,longueur)
End If
MsgBox Len(avant) &vbCrLf& Len(Counter) &vbCrLf&_
       avant & sep &vbCrLf& Counter & sep 

jean-marc
0
BLUEBIBUBBLE Messages postés 116 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 10 avril 2013 1
4 janv. 2008 à 10:42
Dim Ligne as String
Ligne =space(80)
mid(Ligne,4)=Nom 
mid(Ligne,24)=Prenom
mid(Ligne,44)=CodePostal


ou

Dim Ligne as String * 80
mid(Ligne,4)=Nom 
mid(Ligne,24)=Prenom
mid(Ligne,44)=CodePostal

Bonne prog a tous !
0
BLUEBIBUBBLE Messages postés 116 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 10 avril 2013 1
4 janv. 2008 à 10:43
Dim Ligne as String
Ligne =space(80)
mid(Ligne,4)=Nom 
mid(Ligne,24)=Prenom
mid(Ligne,44)=CodePostal


ou

Dim Ligne as String * 80
mid(Ligne,4)=Nom 
mid(Ligne,24)=Prenom
mid(Ligne,44)=CodePostal

Bonne prog a tous !
0
Rejoignez-nous