SVP aidez moi (VB6)

Résolu
mounir234 Messages postés 183 Statut Membre -  
mounir234 Messages postés 183 Statut Membre -
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. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. mounir234 Messages postés 183 Statut Membre 12
       
      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
    2. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      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
  2. mounir234 Messages postés 183 Statut Membre 12
     
    // 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