SVP aidez moi (VB6)

Résolu/Fermé
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 - 22 avril 2007 à 15:27
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 - 13 juin 2007 à 15:49
bonjour tout le monde
je cherche une instruction qui permet d'enregistrer une structure (type) dans un fichier
ex
private type melo
nom as string
age as integer
end type
dim persone(1 to 5) as melo
je veut enregistrer les donnees dans un fichier et effectuer une recherche apres .
comme par example dans le language C :
fwrite(persone,24,5,fichier).
merci de votre aide
A voir également:

2 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
22 avril 2007 à 16:32
Bonjour,
en VB6 ta structure devrait se libellé comme suit

Type ERG (nom au choix)
nom as string
age as integer
dim persone(1 to 5) as melo
end type

et pour être visible partout : public NomVar as ERG

En VB6 les structure ne sont admise que dans les modules.
Par contre je ne connais pas la déclaration ,as melo ?
a+
louis
0
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 12
22 avril 2007 à 17:51
merci pour votre réponce mais il ya un mal entendu :
melo = ERG (c'est le nom du nouveau type que je veut creer)
persone(1 to 5) = tableau de personne de type que je vien de creer (melo)
et le but c'est d'enregistrer les donnees sur un fichier text
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
25 avril 2007 à 11:49
bonjour,
je ne sais pas si tu a encore besoin d'une réponse ?
toutefois une solution quand même.
J'ai mieux compris ce que tu veux faire

Type melo
Age as integer
nom as string * 20
end type

public personne (1 to 5) as melo

ouvrir le fichier
dim Fich as freefile
open "NomFichier" for random as #fich len=len(melo)
mettre les données
put #fich,Numéro d'enrégistrement (Ex:1),melo

close #fich
Pour recherché les données
remplacer put par get
get #fich,Numéro d'enrégistrement (Ex:1),melo

mettre une donnée dans melo :melo.Age=xx
melo.nom="nom"
Remarques
si tu dimentionne personne à 5 tu n'a que 5 enrég possible.
Dans les déclaration de Type tu est obligé de donner une longeur aux variable alphanumérique.
Qaun tu reprend une variable alpha, quelque soit la longeur du nom la variable a la longueur de la dimention.
pour avoir uniquement le nom,par exemple if faudrait faire
dim A as string
A=trim(melo.nom)
Voilà, j'espère que cette fois-ci j'étais sur les bon rails.
A+
louis
0
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 12
13 juin 2007 à 15:49
// declaration du nouveau type
Type melo
Age as integer
nom as string * 20
end type

// declaration d'une variable de type "nouveau type"
public personne (1 to 5) as melo

//ouvrerture du fichier
dim Fich as freefile
open "NomFichier" for random as #fich len=len(melo)

//enregistrement de la structure dans un fichier
put #fich,Numéro d'enrégistrement (Ex:1),melo

NB: si vous enregistrer 2 fois dans le meme "Numéro d'enrégistrement" le premiére enregistrement sera
ecrasé par le 2éme . alors pour l'evité vous devez métre une variable qui s'incrémente a chaque fois.

// Fermeture du fichier
close #fich

// reccupération des données a partire du fichier
get #fich,Numéro d'enrégistrement (Ex:1),melo

// NB: pour mettre une donnée dans melo :
melo.Age=xx
melo.nom="nom"

//ou bien
with melo
.age=age
.nom="nom"
end with
0