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 :

Comment sauvegarder un TEdit ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Par défaut Comment sauvegarder un TEdit ?
    salut tout le monde, je voudrai savoir comment sauvegarder un TEdit sur le PC et l'ouvrir quand je le veux ...
    pour le moment j'ai mit ca mais ca a pas l'air de marcher ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            if SaveDialog1.Execute then
              Editmeilleurscore1.Text.SaveToFile(SaveDialog1.FileName);
            if SaveDialog1.Execute then
              Editmeilleurnom1.Text.SaveToFile(SaveDialog1.FileName);
            Editmeilleurscore1.Text.SaveToFile('meilleurscore1');
            Editmeilleurnom1.Text.SaveToFile('meilleurnom1');
    j'ai mit ca pour sauvegarder 2 TEdit et ca a pas l'air de marcher, et pour les ouvrirs j'ai mit ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            Editmeilleurscore1.Text.LoadFromFile('meilleurscore1');
            Editmeilleurnom1.Text.LoadFromFile('meilleurnom1');
    pourriez vous me dire comment resoudre le probleme svp ...
    merci a vous tous

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    avec un initfile

    tu met le loaddatas dans le formcreate
    et le savedatas dans un action bien definie
    tels que apres la saissie du vainqueur par exemple

    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
     
    const 
       CSTR_INIFILE_SECTION = 'MEILLEUR';
     
    procedure TMyFrm.SauveGardeData(STCategorie,StValue : String);
    begin
      Data.IniFile.WriteString(CSTR_INIFILE_SECTION,STCategorie , StValue);
    end;
     
    procedure TMyFrm.SaveDatas;
    begin
      SauveGardeData('SCORE',Editmeilleurscore1.Text);
      SauveGardeData('NOM',Editmeilleurnom1.Text);
    end;
     
    procedure TMyFrm.LoadDatas;
    var
     st : String;
    begin
      st := Data.IniFile.ReadString(CSTR_INIFILE_SECTION,'SCORE','0');
      Editmeilleurscore1.Text :=  st; 
      st := Data.IniFile.ReadString(CSTR_INIFILE_SECTION,'NOM','');
      Editmeilleurnom1.Text :=  st; 
    end;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Par défaut
    tu pourrais expliquer un peu plus stp j'ai pas tout suivi

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Ce que veut dire Anapurna, c'est utiliser un fichier ini ce qui est plus adéquat à ce que tu souhaite faire ...

    Dans les uses, tu mets IniFiles, puis, avec ce code, tout doit fonctionner :

    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
    procedure TForm1.BtnSauvegarderClick(Sender: TObject);
    var
    FichierIni:TIniFile;
    begin
        // ParamStr(0) correspond au chemin de l'application
        FichierIni:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'score.ini');
        FichierIni.WriteString('MEILLEUR JOUEUR','Score',Editmeilleurscore1.Text);
        FichierIni.WriteString('MEILLEUR JOUEUR','Nom',Editmeilleurnom1.Text);
    end;
     
    procedure TForm1.BtnChargerClick(Sender: TObject);
    var
    FichierIni:TIniFile;
    begin
        FichierIni:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'score.ini');
        Editmeilleurscore1.Text:=FichierIni.ReadString('MEILLEUR JOUEUR','Score','');
        Editmeilleurnom1.Text:=FichierIni.ReadString('MEILLEUR JOUEUR','Nom','');
    end;
    Si tu as des questions ... n'hésistes pas.

    A+ et bonne continuation

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Par défaut
    par contre moi j'ai 5 meilleurs scores a rentrer donc 5 edits differents pour les noms et 5 autres pour les scores
    ca marchera quand meme ?
    si oui comment ?

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Tu peux très bien faire celà avec 5 Edits! Ce n'est quasi qu'un simple copier coller de mon code de départ ...

    On peut faire ceci par Exemple :

    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
    procedure TForm1.BtnSauvegarderClick(Sender: TObject);
    var
    FichierIni:TIniFile;
    begin
        // ParamStr(0) correspond au chemin de l'application
        FichierIni:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'score.ini');
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Nom1',Editmeilleurnom1.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Score1',Editmeilleurscore1.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Nom2',Editmeilleurnom2.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Score2',Editmeilleurscore2.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Nom3',Editmeilleurnom3.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Score3',Editmeilleurscore3.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Nom4',Editmeilleurnom4.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Score4',Editmeilleurscore4.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Nom5',Editmeilleurnom5.Text);
        FichierIni.WriteString('CLASSEMENT MEILLEURS JOUEURS','Score5',Editmeilleurscore5.Text);
    end;
     
    procedure TForm1.BtnChargerClick(Sender: TObject);
    var
    FichierIni:TIniFile;
    begin
        FichierIni:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'score.ini');
        Editmeilleurnom1.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Nom1','');
        Editmeilleurscore1.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Score1','');
        Editmeilleurnom2.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Nom2','');
        Editmeilleurscore2.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Score2','');
        Editmeilleurnom3.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Nom3','');
        Editmeilleurscore3.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Score3','');
        Editmeilleurnom4.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Nom4','');
        Editmeilleurscore4.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Score4','');
        Editmeilleurnom5.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Nom5','');
        Editmeilleurscore5.Text:=FichierIni.ReadString('CLASSEMENT MEILLEURS JOUEURS','Score5','');
    end;
    Celà fonctionne
    A+

    EDIT :

    Encore une autre variante :

    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
    procedure TForm1.BtnSauvegarderClick(Sender: TObject);
    var
    Fichier:TextFile;
    begin
          AssignFile(Fichier,ExtractFilePath(ParamStr(0))+'score.ini');
          Rewrite(Fichier);
          Writeln(Fichier,Editmeilleurnom1.Text+'='+Editmeilleurscore1.Text);
          Writeln(Fichier,Editmeilleurnom2.Text+'='+Editmeilleurscore2.Text);
          Writeln(Fichier,Editmeilleurnom3.Text+'='+Editmeilleurscore3.Text);
          Writeln(Fichier,Editmeilleurnom4.Text+'='+Editmeilleurscore4.Text);
          Writeln(Fichier,Editmeilleurnom5.Text+'='+Editmeilleurscore5.Text);
          CloseFile(Fichier);
    end;
     
    procedure TForm1.BtnChargerClick(Sender: TObject);
    var
    Fichier:TextFile;
    ligne:string;
    index:integer;
    begin
        if FileExists(ExtractFilePath(ParamStr(0))+'score.ini') then
        begin
          AssignFile(Fichier,ExtractFilePath(ParamStr(0))+'score.ini');
          Reset(Fichier);
          Readln(Fichier,ligne);
          index:=pos('=',ligne);
          Editmeilleurnom1.Text:=LeftStr(ligne,index-1);
          Editmeilleurscore1.Text:=RightStr(ligne,Length(ligne)-index);
          Readln(Fichier,ligne);
          index:=pos('=',ligne);
          Editmeilleurnom2.Text:=LeftStr(ligne,index-1);
          Editmeilleurscore2.Text:=RightStr(ligne,Length(ligne)-index);
          Readln(Fichier,ligne);
          index:=pos('=',ligne);
          Editmeilleurnom3.Text:=LeftStr(ligne,index-1);
          Editmeilleurscore3.Text:=RightStr(ligne,Length(ligne)-index);
          Readln(Fichier,ligne);
          index:=pos('=',ligne);
          Editmeilleurnom4.Text:=LeftStr(ligne,index-1);
          Editmeilleurscore4.Text:=RightStr(ligne,Length(ligne)-index);
          Readln(Fichier,ligne);
          index:=pos('=',ligne);
          Editmeilleurnom5.Text:=LeftStr(ligne,index-1);
          Editmeilleurscore5.Text:=RightStr(ligne,Length(ligne)-index);
          CloseFile(Fichier);
        end;
    end;
    Certes l'écriture est un peu lourde, mais je n'ai pas envie de t'effrayer dès le début

Discussions similaires

  1. comment sauvegarder le resultat d'un ADOQuery
    Par new_in_delphi dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/01/2005, 17h37
  2. [OleVariant] Comment sauvegarder la valeur ?
    Par heid dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2004, 00h26
  3. Comment sauvegarder MySQL via SSH ?
    Par Blade dans le forum Administration
    Réponses: 7
    Dernier message: 30/09/2004, 14h03
  4. Comment sauvegarder les messages de Outlook express ?
    Par tarbala dans le forum Outlook Express / Windows Mail
    Réponses: 5
    Dernier message: 06/08/2004, 17h31
  5. [IDE][VS.NET] Comment sauvegarder l'état des 'Region' ?
    Par CkurcK dans le forum Contribuez
    Réponses: 2
    Dernier message: 23/02/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