IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

enregistrement d'une liste


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 43
    Points
    43
    Par défaut enregistrement d'une liste
    j'ai créé un objet Tlist pendant l'éxécution et je veut sauvegarder cette liste dans le disque dur pour que je l'utilise les données de cette dernière une autre fois.
    comment l'enregistre est ce qu'il y a une propriété ou une méthode ?

  2. #2
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 43
    Points
    43
    Par défaut enregistrement de graphique
    j'ai crée des objets de Tshape pendant l'éxécution et je veut sauvegarder le dessin obtenu pendant l'éxécution pour éffectuer des traitements plutard?

  3. #3
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    Enregistré la liste (composant) ou le content?
    Si c'est le contenu, quel est le type des données (record, objet, pointeur,....)??

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    une copie d'écran suffira ?

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 43
    Points
    43
    Par défaut
    bonjour
    le type de ma liste est des Objets de Tshape;
    par exemple :
    alors comment enregistrer cette liste de façon permanente (càd dans le disque dur)

  6. #6
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour

    Je créerais un fichier texte rempli avec les éléments de la liste.

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 43
    Points
    43
    Par défaut
    salut
    je ne veut pas enregistrer l'image mais les caractéristiques des composants placés sur la forme avec tous ces propriétés

  8. #8
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    regarde du côté de WriteComponent et ReadComponent (touche F1).

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 43
    Points
    43
    Par défaut
    salut
    j'ai utilisé ce code mais il ne fonctionne pas et je n'arrive pas à détecter l'erreur
    et si je le corrige comment je savoir qu'il fait correctement la conversion?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    var
      Form1: TForm1;
      l:Tshape;
      enreg:string;
    implementation
     
    uses Unit2;
     
    {$R *.DFM}
    function ComponentToString(Component: TComponent): string;
     
    var
      BinStream:TMemoryStream;
      StrStream: TStringStream;
      s: string;
    begin
      BinStream := TMemoryStream.Create;
      try
        StrStream := TStringStream.Create(s);
        try
          BinStream.WriteComponent(Component);
          BinStream.Seek(0, soFromBeginning);
          ObjectBinaryToText(BinStream, StrStream);
          StrStream.Seek(0, soFromBeginning);
          Result:= StrStream.DataString;
        finally
          StrStream.Free;
     
        end;
      finally
        BinStream.Free
      end;
    end;
     
    function StringToComponent(Value: string): TComponent;
    var
      StrStream:TStringStream;
      BinStream: TMemoryStream;
    begin
      StrStream := TStringStream.Create(value);
      try
        BinStream := TMemoryStream.Create;
        try
          ObjectTextToBinary(StrStream, BinStream);
          BinStream.Seek(0, soFromBeginning);
          Result := BinStream.ReadComponent(nil);
     
        finally
          BinStream.Free;
        end;
      finally
        StrStream.Free;
      end;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    enreg:=ComponentToString(shape1);
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    l:=StringToComponent(enreg);
    end;
     
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    form2.show;
    end;
    avec ce code je pense que la sauvegarde se ne fait que dans la RAM mais moi je voudrai la faire dans le disque dur.

  10. #10
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219

  11. #11
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    <-- merci !

  12. #12
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 43
    Points
    43
    Par défaut
    merci
    mais j'ai pas compris
    moi ne maitrise pas l'html (les balise)
    je veut un code delphi

  13. #13
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par souadmaa
    merci
    mais j'ai pas compris
    moi ne maitrise pas l'html (les balise)
    je veut un code delphi
    Pas grave, dans l'éditeur de message, tu as de quoi formatter ton texte (pour écrire en gras, italique et tout et tout)

    Le petit bouton en forme de # te permet de formatter ton code automatiquement (tu sélectionnes ton texte et tu cliques sur le bouton).
    ça place autour de ton code deux balise [ code] et [ /code]. Et hop !

    Sinon, en haut à droite de la petite boite où tu écris ton message tu as un bouton avec un petit A et un grand A. Si tu cliques dessus, celà te permet d'éditer ton texte comme si tu étais dans un traitement de texte (WYSIWYG). Comme ça tu n'as pas besoin de connaître le "bbcode", langage de formattage du forum.

    Sinon, ici, ce n'est pas une usine à pondre du code. Soit patient, quelqu'un te viendra surement en aide

  14. #14
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Il faut regarder du côté de WriteComponent et utiliser TFileStream pour l'enregistrement sur disque dur.
    Fait une petite recherche dans le forum, tu trouveras sûrement des exemples.

  15. #15
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    par hazar tu crée pas un prog de caisse??

  16. #16
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    je ne veut pas enregistrer l'image mais les caractéristiques des composants placés sur la forme avec tous ces propriétés
    Si j'ai bien compris les composants sont des tshape(s).
    Voici un exemple pour le tshape. (met 1 TShape et 2 TButton(s) sur la form pour tester)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //---------------------------------------------
    procedure TForm1.Button1Click(Sender: TObject);
    begin  // .msh => mashape ma forme géométrique
      writecomponentresfile('c:\shape1.msh',shape1);
      shape1.free;
    end;
     
    //---------------------------------------------
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      // Si le tshape existe, ne semble pas le remplacer. A voir.
      // à faire : test existance shape1; 
      shape1:=tshape.create(self);
      readcomponentresfile('c:\shape1.msh',shape1);
      shape1.parent:=self;
    end;
    (cette méthode ne fonctionne pas pour le tlist, ne descend pas de TComponent)

    En espérant que cela t'aidera.
    A+, Hervé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ne pas retourner le 1er enregistrement d'une liste
    Par Yadutaf dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/04/2007, 08h34
  2. Limiter les enregistrements d'une liste déroulante
    Par Dafbau dans le forum Access
    Réponses: 3
    Dernier message: 30/11/2006, 20h11
  3. Comptage d'enregistrements d'une liste
    Par Virgile59 dans le forum IHM
    Réponses: 6
    Dernier message: 23/01/2006, 10h42
  4. Enregistrement dans une liste déroulante & Msgbox
    Par tintinmarre dans le forum Access
    Réponses: 6
    Dernier message: 29/09/2005, 13h27
  5. Réponses: 2
    Dernier message: 16/10/2004, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo