Lecture - Ecriture dans un fichier contenant des structures

cs_fred31300 Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 22 décembre 2004 - 9 déc. 2004 à 11:18
cs_fred31300 Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 22 décembre 2004 - 10 déc. 2004 à 07:55
Bonjour,

Je cherche à lire, ecrire des données en VB6 - du type :

dim mesparametre as parametre

Public Type parametre
nom As String * 15
id As Integer
volume As Integer
End Type

dans un fichier de n * mesparametre , pouvoir le lire de manière aleatoire, relire ce fichier et pouvoir en extraire les informations.

De plus j'aimerais savoir si l'on peut passer en paramètre lors de l'organisation de fonction, les données de type struture

merci :)

3 réponses

gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
9 déc. 2004 à 11:46
Salut fred31300,

concernant le 1er point, tout est une question d'organisation :
- soit tu n'écris que ça dans ton fichier, et ça veut dire que tu sais à l'avance quelle ligne correspond à quoi (ex: tu sais que ton enregistrement occupe 3 lignes de texte, +1 ligne vide pour séparer ==> tu sais que ton enregistrement 2 occupera les lignes 5 à 7, le 3 les lignes 9 à 11, etc ...)
- soit tu commences par écrire un identifiant [Paramètre] et tu colles à la suite tes données, tu répètes l'opération pour tous les enregistrements (à la manière d"un fichier INI).
Pour lire, il suffit de comparer la ligne lue avec [Paramètre] si ça correspond, les 3 lignes suivantes seront des données d'un paramètre unique.

Pour ta 2ème question il faut que tu déclares ta fonction ou procédure comme
Public Sub MaSub(pParametre as parametre)
End Sub

Cela implique qu'il s'attend à recevoir une donnee du type parametre

Si c'est pour renvoyer un paramètre c'est
Public Function MaFx() as parametre
End Sub

Cela implique que la donnée renvoyée sera du type parametre.

En espérant avoir répondu à ta question de manière claire.

Guich
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
9 déc. 2004 à 13:58
Bonjour. Par exemple :

Public Type parametre
nom As String * 15
id As Integer
volume As Integer
End Type

dim mesparametre as parametre

'Initialisation
mesparametre.nom = "Le Nom choisi"
mesparametre.id = 12
mesparametre.volume = 241

'Ouverture du fichier
Dim NumFich As Integer, NomFich As String
NumFich = FreeFile
NomFich = "C:\MonDossier\MonFichier.ext"
Open NomFich For Random As #NumFich Len = Len(mesparametre)
Put NumFich, 1, mesparametre '(écriture enregistrement n° 1)

'En supposant que ça existe
Get NumFich, 3, mesparametre '(lecture enregistrement n°3)
Close NumFich
MsgBox mesparametre.nom & vbCrLf & mesparametre.id & vbCrLf & mesparametre.volume
0
cs_fred31300 Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 22 décembre 2004
10 déc. 2004 à 07:55
Ok merci je vait tempter ca !
0
Rejoignez-nous