Sauvegarde du contenu des Edits

Résolu
emirej Messages postés 90 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 31 mai 2009 - 15 janv. 2009 à 18:39
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 16 janv. 2009 à 16:11
Bonsoir à tous, j'ai en effet un petit problème ou du moins je ne sais pas trop comment m'y prendre, voici un peu mon cas :

Je dispose d'une forme principale nommée Form1, dans cette Form j'y ai placé deux Edits nommé " Edit1 " et " Edit2"
pour finir j'ai plaçé un boutton.

J'aimerais trouver une commande qui puissent me permettre d'enregistrer le texte des deux Edits donc " Edit 1 + Edit 2 " dans un fichier ( .txt ou .dll par exemple vu qu'on peut les ouvrir avec le bloc note ) et si possible pour qu'il soit affiché de cette façon dans le fichier texte

Texte de L'Edit 1
Texte de L'Edit 2

Mais je ne sais pas trop avec quel commande faire çeci et/où si je dois plaçer un Tsave Dialog =\ Un peu d'aide où un exemple de source svp :) ?

PS : J'ai déjà recherché sur le forum j'ai trouvé une source mais elle me parait plus " complexe " je voudrais que le code soit assez simple à faire, auparavant j'avais déjà su le faire mais ça fait longtemps et je ne m'en rappelle plus...

D'avance merci et bonne soirée :)

6 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
15 janv. 2009 à 19:57
Ah oui en Delphi : eh bien tu peux faire ça par un TStringList ? (ya aussi TextFile mais j'ai oublié) :

// On vérifie si l'utilisateur a cliqué sur "Enregistrer"
if SaveDialog1.Execute then
begin
MonFichierTexte := TStringList.Create;
// On crée la liste de chaînes
MonFichierTexte.Add(Edit1.Text + Edit2.Text);
// On ajoute une ligne avec les deux textes des deux édits collés entre eux
MonFichierTexte.Add('On ajoute une autre ligne !');
// On ajoute une autre ligne ...
MonFichierTexte.Add('C''est la dernière ligne !');
// Une autre ligne, et on sauvegardera après.
MonFichierTexte.SaveToFile(SaveDialog1.FileName);
// On enregistre dans le chemin spécifié par SaveDialog1
MonFichierTexte.Free;
// Enfin, on libère la liste de chaînes
end;

Voilà, à toi de l'adapter !

Cordialement, Bacterius !
3
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
15 janv. 2009 à 19:54
Bonjour.
En Delphi ?

Cordialement, Bacterius !

PS : les DLL ne sont pas faites pour êtres lues par un bloc-notes :}
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
15 janv. 2009 à 19:59
Ah oui je n'avais pas pensé aux TIniFile cette fois-ci, Haftarifouad ! Bien vu !
Bon ben c'est encore plus simple :)

uses IniFiles;


var
MonFichier: TIniFile;
begin
// Ton code
end;

Bon, c'est dix fois plus simple, et moins "barbare" que la TStringList.

A toi de te renseigner sur les TIniFiles (voir l'aide Delphi avec F1, "TIniFile"), et tu verras, tu apprendras beaucoup sur eux.

Cordialement, Bacterius !
0
emirej Messages postés 90 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 31 mai 2009
15 janv. 2009 à 21:38
Merci a vous deux ! Je vais tester et je vous dit quoi :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
emirej Messages postés 90 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 31 mai 2009
15 janv. 2009 à 23:18
Y aurait t'il une méthode plus simple avec le TextFile par exemple ?
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
16 janv. 2009 à 16:11
Bonsoir,

PROCEDURE TForm1.Button1Click(Sender: TObject);
VAR
  F: TextFile;
BEGIN
     TRY
    Screen.Cursor := CrHourGlass;
    AssignFile(F, 'c:\temp\MonFichier.text');
    rewrite(F);
   writeln(F, Edit1.Text);
   writeln(F, Edit2.Text);
   finally
    Screen.Cursor := CrDefault;
    CloseFile(F);
   END;
END;
 
pas testé, mais ça devrait gazer !

cantador
0
Rejoignez-nous