CheckListBox1.Items [Résolu]

Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
10 juillet 2012
- - Dernière réponse : cs_dugueclin
Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
10 juillet 2012
- 10 juil. 2012 à 19:58
Bonjour à tous,

j'aimerai enregistrer mon CheckListBox dans un fichier

CheckListBox1.Items.Strings =
A
B
C
D
j'aimerais l'enregistrer dans mon fichier de cette façon: A B C D
Mais, malgré mes recherches, c'est toujours de cette façon:
A
B
C
D

procedure TForm1.Button2Click(Sender: TObject);
var
f: TextFile;
str: string;
i:integer;
begin
for I := 0 to CheckListBox1.Items.Count - 1 do
begin
if CheckListBox1.Checked[i] = True then
begin
AssignFile(f,'Mon Fichier.txt');
Append(f);
str:= CheckListBox1.Items[i];
StringReplace((CheckListBox1.Items[i]),'#9 ',' ',[rfReplaceAll]);
Writeln(f, str);
CloseFile(f);
end;
end;
end;
j'ai essayé delete, Concat, ...,
mais, rien à faire
Quelqu'un pourrait-il m'aider ??.
je n'arrive pas à résoudre mon problème.
En vous remercient d'avance,
Sincères salutations et bon codding à tous,
Dugueclin.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
15
3
Merci
Salut,

je ne suis pas sûr d'avoir bien compris le problème, mais ceci y répondra peut-être :

procedure TForm1.Button2Click(Sender: TObject);
var
  sl: TStringList;
  str: string;
  i: integer;
begin
  sl := TStringList.Create;
  try
    for i := 0 to CheckListBox1.Items.Count - 1 do
    begin
      if CheckListBox1.Checked[i] then
      begin
        str:= StringReplace((CheckListBox1.Items[i]), '#9 ', ' ', [rfReplaceAll]);
        sl.Add(str);
      end;
    end;
    sl.SaveToFile('Mon Fichier.txt');
  finally
    sl.Free;
  end;
end;


Plusieurs remarques :

- il est plus commode d'utiliser les propriétés et méthodes de TStringList pour manipuler des lignes de texte, les enregistrer ou les ouvrir depuis un fichier ;
- StringReplace est une fonction qui retourne donc un résultat de type string, et tu n'affectes ce résultat à rien ;
- quand tu joins un bout de code, n'oublie pas d'utiliser la mise en forme (les petite icones au-dessus de la box, tu déroules la 4ème à partir de la droite), c'est plus pratique à lire.

Bon coding.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de korgis
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
15
3
Merci
C'est mieux comme ça ?

procedure TForm1.Button2Click(Sender: TObject);
var
  sl: TStringList;
  str: string;
  i: integer;
begin
  str := '';
  sl := TStringList.Create;
  try
    sl.Text := '';
    for i := 0 to CheckListBox1.Items.Count - 1 do
    begin
      if CheckListBox1.Checked[i] then
      begin
        str := str + StringReplace((CheckListBox1.Items[i]), '#9 ', ' ', [rfReplaceAll]);
      end;
    end;
    sl.Text := str;
    sl.SaveToFile('Mon Fichier.txt');
  finally
    sl.Free;
  end;
end;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de korgis
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
3
Merci
salut!!
var 
f: TextFile;
str: string;
i:integer;
begin
 try
    AssignFile(f,'mon fichier.txt');
    Rewrite(f); //pour ouvrir le fichier en écriture et écrase le contenu
  except
    on e: exception do
      raise Exception.Create('Erreur pendant la création du fichier :' + 'mon fichier.txt' +
                             sLineBreak + e.message);
//on cas d’erreur pendant la création
  end;
  try
  with  CheckListBox1 do begin
for I := 0 to Items.Count - 1 do
begin
if Checked[i]  then
begin
Append(f);
str:= CheckListBox1.Items[i]+' ';
Write(f, str);
end;
end;
end;
finally
CloseFile(f);
end;

@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_walidlam
Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
10 juillet 2012
0
Merci
bonjour Korgis,
merci de m'avoir répondu, mais c'est pareil dans le fichier
j'aimerais enregistrer de cette façon: A B C D
merci encore et bon codding
Dugueclin
Commenter la réponse de cs_dugueclin
Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
10 juillet 2012
0
Merci
Merci Korgis !!!
J'avais bien essayé lors de mes premiers essais, avec un TStirngList,
mais il me manquait:
str:= str + ...
sinon, ça ne fonctionne pas !!!
Un grand merci à toi !!!
Sincères salutations et bon codding
Dugueclin
Commenter la réponse de cs_dugueclin
Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
10 juillet 2012
0
Merci
salut Walidam,
Merci de m'avoir répondu et merci pour le code , félicitations
Sincères salutations et bon codding à toi
Dugueclin.
Commenter la réponse de cs_dugueclin