SVP aidez moi (VB6)

Résolu
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
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. // 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
    1. Contributeur
      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
      1. 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
      2. Contributeur
        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