Lire un enregistrement de longeur variable avec Get.

Lire un enregistrement de longeur variable avec Get. - VB/VBA/VBS - Programmation

Marsh Posté le 06-06-2004 à 12:34:48    

Salut amis programmeur,
 
quelqu'un sait-il comment on fait pour lire un enregistrement dont on ne connait pas la longueur (longeur variable) avec Get.
 
une parti de mon code :

Code :
  1. Dim i&
  2. Open OpenAccess & "Alfa.ced" For Random As #1
  3.    Do While Not a = "[NbLine]"
  4.    i = i + 1
  5.    Get #1, i, a 'ça plante a ce niveau dès le premier tour de la boucle (erreur 59 : "Longueur d'enregistrement incorrecte" )
  6.    Loop
  7. Close #1


 
je ne peut pas écrire : Open OpenAccess & "Alfa.ced" For Random As #1 Len = Nombre Car les enregistrements sont de longeur variable.
 
Aidez moi s'il vous plait !!! :(  
 
Note : en lisant cela vous vous demanderai surement pourquoi je n'utilise pas simplement la méthode Input au lieu de Get ... bin c'est parceque dans le fichier il peut avoir un caractère (saut de ligne) que lineInput va l'interpréter comme tel alors qui faut pas, en fait c'est tout un bordel de contraintes...

Reply

Marsh Posté le 06-06-2004 à 12:34:48   

Reply

Marsh Posté le 06-06-2004 à 13:22:47    

Bon c'est bon j'ai trouvé,il suffit de créer un type (je sais pas pourquoi), affecté une variable au type et ne pas mettre le len en fait comme ça :
 

Code :
  1. 'dans un module
  2. Public Type Record
  3.     name As String
  4. End Type
  5. Public a As Record
  6. 'ou vous voulez
  7. Dim i&
  8.   Open OpenAccess & "Alfa.ced" For Random As #1
  9.      Do While Not a.name = "[NbLine]"
  10.      i = i + 1
  11.      Get #1, i, a.name
  12.      Loop
  13.   Close #1


 
Mais maintenant j'aimerais savoir s'il est possible d'inserer un enregistrement entre deux ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed