CheckListBox1.Items [Résolu]

Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
Dernière intervention
10 juillet 2012
- - Dernière réponse : cs_dugueclin
Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
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 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
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 a aidé 98 internautes ce mois-ci

Commenter la réponse de korgis
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
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 a aidé 98 internautes ce mois-ci

Commenter la réponse de korgis
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Dernière intervention
29 avril 2013
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 a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_walidlam
Messages postés
66
Date d'inscription
jeudi 2 septembre 2004
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
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
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.