Structure, tableaux, Fichiers a acces aleatoire

Résolu
alligo Messages postés 38 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 9 novembre 2009 - 31 oct. 2006 à 14:18
alligo Messages postés 38 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 9 novembre 2009 - 31 oct. 2006 à 14:40
Bonjour a tous,

J'ai un petit probleme dans un de mes programmes ou je dois lire des informations dans un fichier a acces aleatoire (random access file)


voici pour commencer un bout de code qui fonctionne, je lis une suite de 4 single dans un fichier (qui est une suite de single)



Structure donnees
   public item1 as single
   public item2 as single
   public item3 as single
   public item4 as single
end structure

'structure tres facile a comprendre ...

public sub lecture ()

   dim enregistrement as donnees
   dim fichier as string = "chemin"
   dim longueur as long
   dim numfichier as integer
   dim numenreg as long

   numfichier = freefile()
   longueur = len (enregistrement)      'ici il doit me donner normalement 4*4=16
   fileopen (numfichier, fichier,openmode.random, openaccess.read, , longueur)
   fileget (numfichier, enregistrement, numenreg)
   
etc...
end sub

apres le fileget je retrouve dans enregistrement les bonnes valeurs.

Jusqu'ici pas de probleme c'est simple ... tout se complique quand je veux a la place de mettre fastidieusement dans ma structure toutes mes variables, j'ai dans cette structure, une suite de 40 single, le temps de tous les incorporer et de tous les declarer puis de les utiliser un par un ... ca ne va pas ...

j'ai donc regarder un programme que quelqu'un a fait en VB6 qui utilisait a la place de la structure : type et a l'interieur il mettait un tableau. Bonne idee, a la place je change mon code en ne mettant qu'un tableau dans ma structure un tableau de 4 single. (en faisant bien attention a l'initialisation speciale pour les tableaux de longueur fixe dans les structures) et la ca ne fonctionne pas car quand je demande

len(donnees) il me reponds : 4 ...

et meme en fixant cette longueur a la main ca ne fonctionne pas ...

auriez vous une idee pour mettre dans un tableau les resultats de la lecture de mon fichier ?

Merci de m'avoir lu jusqu'au bout ...

1 réponse

alligo Messages postés 38 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 9 novembre 2009
31 oct. 2006 à 14:40
Re bonjour a tous ...

voila j'ai poste le message il y a 5 minutes et j'ai trouve la solution ...

structure donnees
<VBFixedArray(3)> public tableau() as single 
end structure

la taille de cette structure est 4*4=16 et la lecture se fait correctement

(je m'etait egalement trompe dans la declaration du tableau mais ca ne change rien)

merci de votre aide
3
Rejoignez-nous