avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 2012
-
28 août 2009 à 17:22
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
30 août 2009 à 23:39
Bonjour a tous,
Je rencontre un problème avec un code:
Dim MyFreeFile As Integer
Dim icol As Integer
Dim irow As Integer
Dim MyString As String
MyFreeFile = FreeFile
Open "C:\Documents and Settings\All Users\Desktop\ord" For Output As MyFreeFile
For irow = 1 To MSFlexGrid1.Rows - 1 'Start from top to bottom
For icol = 0 To MSFlexGrid1.Cols - 1 'Start from left to Right
MyString = MyString & MSFlexGrid1.TextMatrix(irow, icol) & _
IIf((icol = MSFlexGrid1.Cols - 1), "", ",") 'Add value in mystring for each column in Flexgrid
Next
Print #MyFreeFile, MyString 'Print to notepad
MyString = "" 'Reset MyString
Next
Close MyFreeFile
Avec ce code, je voudrais le modifier afin de pouvoir posisionner chaque colonne du msflexgrid a des possision spécifique.
Exemple du msflexgrid:
Colonne 1 ligne 1 du Grid = "H"
Colonne 2 ligne 1 du Grid = "A"
Colonne 3 ligne 1 du Grid = "HOST"
Colonne 4 ligne 1 du Grid = "08989" etc.
Example de possision pour le fichier .dat:
Colonne 1 ligne 1 du Grid = Possision 1
Colonne 2 ligne 1 du Grid = Possision 2
Colonne 3 ligne 1 du Grid = Possision 3
Colonne 4 ligne 1 du Grid = Possision 9.
Ce qui donnerais comme résultat final dans le fichier dat:
"HAHOST 08989"
avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 20123 30 août 2009 à 22:03
En réalité, le code ne fait pas exactement ce que j'ai besoin.
Je m'explique.
Je dois faire en sorte que chaque valeur de chaque colonne du grid, se transfert dans le fichier txt, et ce, d'une façon bien spécifique.
Dans chaque colonne du grid contient des mots ou des chiffres sans espace, et chaque colonne ont des valeurs différentes, mais chaque colonne contient des valeurs du même noble de caractères.
Ex:
Colonne 1, sur chaque ligne du Grid: "H"
Colonne 2, sur Chaques ligne du gris: soit "A" ou "H"
Colonne 3 sur chaques lignes du grid: "M36004005400" augmente + 1 sur chaque ligne.
Colonne 4 sur chaques lignes du Grid: "TEST123"
Colonne 5 sur chaques lignes du Grid: "HOST"
Colonne 6 sur chaques lignes du Grid: "20" presque toujours 2 caractères.
Colonne 7 sur chaques lignes du Grid: "8989" parfois même 5 caractères.
Et ainsi de suite. J'ai 52 colonnes au total.
Ou vient le problème est là: Il doivent se placer a des endroits précis dans le fichier texte.
La valeur de la colonne 1 du Grid = Posision 1 de la première ligne du fichier txt.
La valeur de la colonne 2 du Grid = Posision 2 de la première ligne du fichier txt.
La valeur de la colonne 3 du Grid = Posision 3 de la première ligne du fichier txt.
La valeur de la colonne 4 du Grid = Posision 15 de la première ligne du fichier txt.
La valeur de la colonne 5 du Grid = Posision 21 de la première ligne du fichier txt.
La valeur de la colonne 6 du Grid = Posision 27 de la première ligne du fichier txt.
La valeur de la colonne 7 du Grid = Posision 39 de la première ligne du fichier txt.
Et ainsi de suite.
Bien entendu, il arrive d'avoir des espaces entre les valeurs sur le fichier TXT. La raison est que si la valeur de la colonne a plus de caractères, il peut en ajouter jusqu'a la limite de la prochaine valeur.
Exemple:
Dans la colonne 3 du grid, il y a la valeur: M36004005400
Dans la colonne 4 du grid, il y a la valeur : TEST123
Donc ça donnerait: M36004005400______TEST123. Donc il y a 6 espaces entre les 2 valeurs.
Ça veut dire que la valeur pourrait avoir jusqu'a 18 caractères au lieu de seulement 12.
Voilà la raison pourquoi, la valeur de chaque colonne du grid doit avoir sa place bien spécifique dans le fichier TXT.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 août 2009 à 23:39
ce n'est pas TON programme qui va relire le fichier texte?
si c'est bien le cas alors pourquoi ne pas simplement passer par un caractère séparateur?...