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 :

probleme avec les memo delphi


Sujet :

Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Par défaut probleme avec les memo delphi
    salut tous le monde,
    il m'a deranger vraiment, le probleme c'est que lorsque j'enregistre le contenu des memos dans des variable puis ecrire la variable dans un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x:=memo1.lines; 
    write(f,x);
    ..
    un autre button vas lire les variable du fichier et remplire les memo par ces variable de type tstrings biensur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    read(f,x);memo1.lines:=x;
    ..
    le probleme c"est que rien n'est afficher après clicker le dernier button.
    alors c'est quoi le probleme,
    ..
    voila tous le code c'est vous ete patient ^^
    ..
    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, jpeg, ExtCtrls, XPMan, Menus;
     
    type
      TForm1 = class(TForm)
        XPManifest1: TXPManifest;
        GroupBox1: TGroupBox;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Edit1: TEdit;
        Edit2: TEdit;
        Memo1: TMemo;
        Memo2: TMemo;
        Button1: TButton;
        Label5: TLabel;
        GroupBox2: TGroupBox;
        Button2: TButton;
        ComboBox1: TComboBox;
        Label6: TLabel;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
      rec=record n,d:string[255];s,t:tstrings; end;
    var
      Form1: TForm1;
      x:rec;
      f:file of rec;
    implementation
     
    {$R *.dfm}
    function up(ch:string):string;
      var i:integer;
    begin
      for i:=1 to length(ch) do ch[i]:=upcase(ch[i]);
      up:=ch;
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      assignfile(f,'c:\GP\Base De Données.dat');
      {$i-}
      reset(f);
      {$i+}
      if ioresult<>0 then
      begin
        mkdir('c:\GP');
        rewrite(f);
      end;
      reset(f);
      while not eof(f) do
      begin
        read(f,x);
        combobox1.Items.Add(x.n);
      end;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      reset(f);
      while not eof(f) do read(f,x);
      x.n:=edit1.text;
      x.d:=edit2.text;
      x.s:=memo1.Lines;
      x.t:=memo2.Lines;
      write(f,x);
      combobox1.Items.Clear;
      reset(f);
      while not eof(f) do
      begin
        read(f,x);
        combobox1.Items.Add(x.n);
      end;
      edit1.text:='';
      edit2.text:='';
      memo1.Lines.Clear;
      memo2.Lines.Clear;  
      end;
     
    procedure TForm1.Button2Click(Sender: TObject);
      var b:boolean;
    begin
      b:=false;
      reset(f);
      while (not eof(f)) and (b=false) do
      begin
        read(f,x);
        if up(combobox1.text)=up(x.n) then b:=true;
      end;
      edit1.text:=x.n;
      edit2.text:=x.d;
      memo1.Lines:=x.s;
    end;
     
    end.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Lines est une TStrings donc propose nativement SaveToFile et LoadFromFile

    tu essayes d'enregistrer un TStrings donc une référence sur un objet (un pointeur, généralement 4 octects) dans un fichier !
    Il faut lire l'aide un minimum et comprendre la notion d'objet en Delphi !
    As-tu compris l'utilité du constructor Create et du (pseudo)destructor Free
    As-tu compris ce qu'était un TStrings et un TObject ... ?



    ne pas utilise QUOTE mais CODE
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Par défaut
    désolé tu n'as pas m'aider, j'attends une autre réponse

  4. #4
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    et pourtant c'est clair

    read(f,x);
    memo1.lines:=x;
    x est une RECORD
    Memo1.lines est un TStrings



  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Citation Envoyé par Younes Ch Voir le message
    désolé tu n'as pas m'aider, j'attends une autre réponse
    Tu vas attendre longtemps avec de genre de remarque !

    Je ne t'ai pas aidé ?
    As-tu cherché à comprendre la POO en Delphi ?
    As-tu cherché de la documentation sur TStrings, TStrings.SaveToFile, TStrings.LoadFromFile
    As-tu cherché sur Google les notions de Reférence d'Objet ?

    Tu as pourtant déjà la solution sous les yeux !
    Tu as presque déjà correctement géré combobox1.Items
    Items est une TStrings au même titre que Lines !

    Tu as choisis des String[255], surement parce que le compilateur a refusé un type à longueur variable pour "file of", pour le Mémo, c'est pareil, tu pourrais utiliser un "array[0..65335] of char" pour stocker Lines.Text intégralement !
    Ce n'est pas léger mais c'est un début !
    Après, il y a tout plein de sujet sur le forum qui traite de l'enregistrement de chaine a taille variable dans un fichier !
    Tu n'as pas encore le niveau pour aborder cela !

    Idem, Reset puis une boucle de Read, pour se positionner à la fin ! Il existe Seek !

    Rien que la fonction Up est un scandale, il y a une fonction UpperCase qui fait déjà cela !

    Tu ne cherches pas dans l'aide, les informations utiles, si tu es débutant, tu devrais passer 90% de ton temps à lire l'aide et à analyser le code des tutoriels !
    Faire son propre code se fait petit à petit !

    @dehorter olivier, cherche pas, son exemple avec x est différent de l'extrait de code !
    Rien que pour nous embrouiller
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Tu vas attendre longtemps avec de genre de remarque !

    Je ne t'ai pas aidé ?
    As-tu cherché à comprendre la POO en Delphi ?
    As-tu cherché de la documentation sur TStrings, TStrings.SaveToFile, TStrings.LoadFromFile
    As-tu cherché sur Google les notions de Reférence d'Objet ?

    Tu as pourtant déjà la solution sous les yeux !
    Tu as presque déjà correctement géré combobox1.Items
    Items est une TStrings au même titre que Lines !

    Tu as choisis des String[255], surement parce que le compilateur a refusé un type à longueur variable pour "file of", pour le Mémo, c'est pareil, tu pourrais utiliser un "array[0..65335] of char" pour stocker Lines.Text intégralement !
    Ce n'est pas léger mais c'est un début !
    Après, il y a tout plein de sujet sur le forum qui traite de l'enregistrement de chaine a taille variable dans un fichier !
    Tu n'as pas encore le niveau pour aborder cela !

    Idem, Reset puis une boucle de Read, pour se positionner à la fin ! Il existe Seek !

    Rien que la fonction Up est un scandale, il y a une fonction UpperCase qui fait déjà cela !

    Tu ne cherches pas dans l'aide, les informations utiles, si tu es débutant, tu devrais passer 90% de ton temps à lire l'aide et à analyser le code des tutoriels !
    Faire son propre code se fait petit à petit !

    @dehorter olivier, cherche pas, son exemple avec x est différent de l'extrait de code !
    Rien que pour nous embrouiller
    ..

    t'as raison peux être mais ta façon que j'ai pas aimer !

    je veux te dire que j'ai étudier qu'une seul année math et informatique tronc commun et on a étudié que pascal .. et c'est la première fois d'utiliser la POO

    le code que j'ai créer c'est déjà beaucoup car je suis q'un bricolot pour le moment et je suis entrain de travailler sur des chose de l'année prochaine

    ..

    merci bien , pour ton aide

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Mais, je suis un Troll Méchant !

    J'ai été étudiant aussi !
    Je comprends tes difficultés !
    Sache que j'ai commencé le Delphi au bout d'une semaine de cours (apprentissage), je tapais à deux doigts, je venais à peine d'avoir mon 1er ordi !
    Mon premier travail fut de suivre pas à pas la Démo FishFactory de Delphi 4 !
    Très instructif !
    Le second, comme par hazard, lecture de fichier binaire !
    Mon maître de stage était malin, ... par contre, je devais me débrouiller SEUL ! Le but étant non pas de m'apprendre à lire un fichier mais à savoir où chercher l'information AVANT d'aller la réclamer !
    En 1999, Je ne savais même pas ce qu'était un Forum ! J'ai découvert Phidels en fin 2000


    Je te conseille de suivre Guide Pascal et Delphi
    , comme tu as des bases, tu peux survoler le début, mais lit tout avec attention, à partir de la Page 10 - Découverte des composants les plus utilisés - 1ère partie puis la Page 13 - XIII. Utilisation des fichiers que tu as peut-être déjà lu, mais tu as vu que l'utilisation restait limité au type simple car l'objet s'aborde qu'en Page 16 - XVI. Programmation à l'aide d'objets et le TStrings est un objet, abstrait de surcroit ce qui rend la chose encore plus subtile
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 03/08/2006, 16h55
  2. PROBLEME AVEC LES REQUETES IS NULL / NOT EXISTS
    Par sylvaine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2004, 13h26
  3. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32
  4. Problem avec les *.AVI sur les panels
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/08/2003, 22h50
  5. probleme avec les processus
    Par saidi dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/02/2003, 00h18

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