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

  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 498
    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 498
    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

  7. #7
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Editmeilleurscore1.Text.SaveToFile('meilleurscore1');
    j'ai mis ce code pour enregistrer et ca me met :
    type record, objet ou class requis

  8. #8
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    Pourquoi tu ne t'inspire pas du code que Ero-Sennin t'as donné plus haut.

    Le code que tu as donner ne peut pas marcher puisque Text n'a pas de methode SaveToFile.

    Tu ne peux pas appeler une methode juste par ce qu'elle exist sur un autre composant, ca ne marche pas comme ca, il faut que la methode soit codé au niveau de ce composant.

    Disons que tu achetes un voiture 4 portes, ton voisin une 2 portes.
    Si tu empreinte la voiture de ton voisin tu pourra bien faire ce que tu veux tu ne pourra pas ouvrir les portes arrieree, par ce que celles ci n'existent pas, ben la c'est pareil.
    Certain composants comme comboxbox on la fonction savetofile dans leur propriete Items, mais pas Edit.

    Lorsque tu te pose la question utilise F1, tu aura alors toutes les methodes et proprietes du control que tu pointe avec ta souris. Une autre piste qui te guidera lorsque tu tape le point apres Edit1.text aucune fenetre te proposant la suite ne s'affiche et normalement ton editeur pointe une erreur "Impossible de completer le code" (un truc dans le genre). Quand tu as ca tout ce que tu mettra apres sera ignoré, (y'a un bemol a ce que je t'explique mais commencons par des chose simple )

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  9. #9
    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
    je viens d'essayer avec un combobox, ca a l'air de sauvegarder, enfin je peux pas trop verifier, pour sauvegarder, j'ai mis cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            ComboBoxmeilleurscore1.Items.SaveToFile('meilleurscore1');
            ComboBoxmeilleurnom1.Items.SaveToFile('meilleurnom1');
    pour charger j'ai mis ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            ComboBoxmeilleurscore1.Items.LoadFromFile('meilleurscore1');
            ComboBoxmeilleurnom1.Items.LoadFromFile('meilleurnom1');
    le probleme, c'est que rien ne se charge, et je ne sais pas d'ou viens le probleme, aidez moi svp

  10. #10
    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,

    Je me demandais une chose, tes résultats, doivent-ils impérativement être mis dans des Edits ou Combobox ? Un Memo ne suffirait il pas?

  11. #11
    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
    en fait, moi je m'en fiche, ce que je veux, c'est charger ce qu'il y a dans le XXX, pouvoir modifier le XXX (si le score est plus grand que le 2e score, mettre la valeur du 2e dans le 3e, celui du 4e dans le 5e et celui du score actuel dans le 2e evidement) et pouvoir tout enregistrer automatiquement a la fin

    XXX = memo, edit, combobox, ... je ne sais, pas, aucunes preferences pour moi, le plus facile a utiliser, tant que ca marche lol ...

  12. #12
    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
    Re,

    J'avais poster une solution (celle du 28/11/2007 17h34), elle ne te convient pas ?

    Sinon, avec un mémo, voici ce que ça donne :

    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
    procedure TForm1.BtnSauvegarderClick(Sender: TObject);
    begin
      // Effacement du mémo
      MemoClassement.Clear;
      // Ajout des données
      MemoClassement.Lines.Add('Classement');
      MemoClassement.Lines.Add('1 Toto 2000 points');
      MemoClassement.Lines.Add('2 Titi 1500 points');
      MemoClassement.Lines.Add('3 Tata 1000 points');
      MemoClassement.Lines.Add('4 Tutu 500 points');
      MemoClassement.Lines.Add('5 Tati 100 points');
      // Sauvegarde
      MemoClassement.Lines.SaveToFile('classement.txt');
    end;
     
    procedure TForm1.BtnChargerClick(Sender: TObject);
    begin
      // Effacement du mémo
      MemoClassement.Clear;
      // Chargement
      MemoClassement.Lines.LoadFromFile('classement.txt');
    end;
    Je ne sais pas si ça peut te convenir ...

  13. #13
    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
    pourquoi tu met qu'il faut effacer le memo a chaques debuts de procedure ?
    c'est pour effacer le fichier de sauvegarde ou pour effacer ce qu'il y a deja dans le memo (si quelqu'un a rentré quelque chose qui sert a rien)

    sinon merci, je vais essayer

    pour la solution que tu m'a donné y'a deux ou 3 jours, je n'ai pas trop compris a vrai dire, explique moi ce que represente meilleur score joueur ou je sais plus trop quoi, tu pourrais m'expliquer une ligne stp, je l'ai testé mais ca marche pas

  14. #14
    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
    le MemoClassement.Clear permet de vider tout le contenu du mémo pour être sur que l'on ne mettra que les infos que ce code mettra :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MemoClassement.Lines.Add('Classement');
    MemoClassement.Lines.Add('1 Toto 2000 points');
    MemoClassement.Lines.Add('2 Titi 1500 points');
    MemoClassement.Lines.Add('3 Tata 1000 points');
    MemoClassement.Lines.Add('4 Tutu 500 points');
    MemoClassement.Lines.Add('5 Tati 100 points');
    Et pour ce qui est dans le chargement, c'est pour n'avoir que les infos sur le classement .

  15. #15
    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
    ok merci, et sinon, est ce que c'est possible de recuperer le nom toto avec son nombre de points ?

    de maniere a faire de cette facon =

    en debut de partie, tout charger dans le memoclassement, et apres comparer si le score du nouveau joueur (scoreNEWPLAYER est superieur a celui de tati, de toto, titi, tutu ou tata et apres le rentrer a son emplacement ? parceque sinon je peux le faire avec un listbox
    en fin de partie, tout sauvegarder

  16. #16
    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
    Re,

    Voici un code qui fonctionne est qui extrait le nom du joueur ainsi que le score. Il faut garder le formatage suivant aussi:

    exemple :

    1 Ero-Sennin 1980 points (les espaces sont importants)

    Voici le code qui extrait le nom et je score du premier joueur:
    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);
    var
    NouvelleChaine:string;
    NomJoueur:String;
    Score,PositionEspace:Integer;
    begin
      PositionEspace:=Pos(' ',MemoClassement.Lines.Strings[1]);
      NouvelleChaine:=RightStr(MemoClassement.Lines.Strings[1],Length(MemoClassement.Lines.Strings[1])-PositionEspace);
      PositionEspace:=Pos(' ',NouvelleChaine);
      NomJoueur:=LeftStr(NouvelleChaine,PositionEspace-1);
      NouvelleChaine:=RightStr(NouvelleChaine,Length(NouvelleChaine)-PositionEspace);
      PositionEspace:=Pos(' ',NouvelleChaine);
      NouvelleChaine:=LeftStr(NouvelleChaine,PositionEspace-1);
      Score:=StrToInt(NouvelleChaine);
    end;
    En espérant t'avoir aidé

  17. #17
    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
    ok ca m'aide pas mal, mais une petite question :
    ce que tu m'as mis, c'est pour quoi ?
    c'est pour charger deja ? ca ne fais pas la sauvegarde, pour la sauvegarde, je reprends ton code precedent

    et pour ce code que tu m'as mis (celui juste avant), c'est pour charger un nom un 5
    car moi, mon but et de comparer le score du joueur toto avec les 5 autres afin de savoir s'il est dans les meilleurs scores deja et s'il y est, en quelle position, et apres enregistrer tout cela pour le charger aux parties suivante.

    mais bon, du coup, il faut savoir quels sont les meilleurs scores precedents avec leurs noms et les déplacer si le joueur toto a eu un meilleur score que ces joueurs ...

  18. #18
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    SAns vouloir te vexé, je crois que tu fais pas specialement d'effort pour comprend les codes qui te sont proposés, je comprend bien que tu débutes en delphi, mais si ton but est juste de realiser un programme qui fonctionne, sans pour autant avoir pris le temps de comprendre le code en lui meme et les differentes possbilités qui te sont offertes ... j'ai bien peur que ca ne te soit pas tres profitable. Enfin ca n'est que mon humble avis.

    Anapurna un peu plus haut t'as parlé des Ini files, et c'est passer a la trape, pourtant ca serait (je pense) la meilleur solution pour stocker tes valeurs, tu pourrais ainsi faire un fichier ini contenant les infos naicessaires organisées par exemple comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [Score]
    Toto=258
    Nono=265
    ...
    De cette manier etu recupert les valeurs pour chaque joueur tu fais tes comparaisons par rapport au nouveau joueur et tu modifie la valeur en concequance dans ton fichier ini (tape inifile dans l'aide et tu aura tout ce qu'il te faut), il faut arrivé a acquerire la logique de programmation avec Delphi, apres tu verra que ca ira mieux meme avec des compsants que tu n'as jamais utilisés.
    Ensuite le code que t'a fourni Ero-Sennin te permet d'afficher les scores contenus dans le ini dans un memo (enfin faut rajouter le code qui va chercher dans le fichier ini, comme dit plus haut, un petit F1)

    Bon courrage a toi, et si tu bloque vraiment n'esite pas a faire appelle, je e voudrais pas que tu pense que je veux pas t'aider, c'est juste que si tu veux vraiment apprendre et retenir, il faut etre partie prenante dans le code que tu tapes
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  19. #19
    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 Morganox,

    Je veux bien t'aider à ce que ton programme fonctionne, mais de là écrire tout le bout de code, je pense tu devrais relire attentivement les solutions proposées.

    Dans mon post (28/11/2007, 17h34), je t'ai indiqué comment sauvegarder les données dans un fichier ini et comment le charger. Si tu reprends cette méthode la comparaison des scores sera très simple à faire, il n'y a qu'a tester les valeurs des Edits avec ceux du joueur en cours. Petit exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ScoreJoueurActuel>StrToInt(MeilleurScoreJoueur1.Text) then
    MeilleurScoreJoueur1.Text := IntToStr(ScoreJoueurActuel);
    Il te reste à faire de même avec les 4 Edits restants.

    Sinon, si tu veux utiliser le Memo, je t'ai mis dans mon post précédent comment extraire le Nom du joueur ainsi que son Score. Mais là, cà sera plus compliqué (vue ton niveau) de passer par le Memo. Je te conseille donc de rester avec les Edits et les fichiers Ini.

    Essaie de faire un morceau de code, et comme le dit Qwazerty, on se fera un plaisir de t'aider si vraiment tu ne trouves pas la solution

    Merci pour ta compréhension,
    Cordialement

  20. #20
    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
    ok merci pour l'info, mais moi y'a pas mal de choses que je ne comprends pas dans vos codes, moi j'ai juste besoin d'un code qui me permet de charger un Tedit, ou autre chose, et le sauvegarder

    car avec un TListBox, j'arrive a rentrer les valeurs mais je n'arrive pas a les reprendre, je ne sais pas faire ce que vous dites, avec la position de l'espage, prendre le nom qui est a gauche et le score qui est a droite de cet espace pour apres les comparer

    enfin bon, c'est pas grave, je vais me debrouiller, merci a vous, A+

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, 18h37
  2. [OleVariant] Comment sauvegarder la valeur ?
    Par heid dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2004, 01h26
  3. Comment sauvegarder MySQL via SSH ?
    Par Blade dans le forum Administration
    Réponses: 7
    Dernier message: 30/09/2004, 15h03
  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, 18h31
  5. [IDE][VS.NET] Comment sauvegarder l'état des 'Region' ?
    Par CkurcK dans le forum Contribuez
    Réponses: 2
    Dernier message: 23/02/2004, 15h33

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