Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit OpenDialog? (https://www.delphipraxis.net/134461-problem-mit-opendialog.html)

AlexII 22. Mai 2009 17:11


Problem mit OpenDialog?
 
Ich öffne wie folgt eine txt-Datei, aber irgendwas läuft da falsch, da der Inhalt der txt-Datei nicht geladen wird, wer weiß wieso?

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i: Integer;
begin
if OpenDialog1.Execute then
begin
  List:=TStringList.Create;
  List2:=TStringList.Create;
  List2.Delimiter:='=';
  try
    List2.LoadFromFile(OpenDialog1.FileName);
    for i:=0 to List.Count-1 do
    begin
    List2.DelimitedText:=List[i];

    ListBox1.Items.Insert(i, List2[1]);
    ListBox2.Items.Insert(i, List2[2]);
    ListBox3.Items.Insert(i, List2[3]);
    ListBox4.Items.Insert(i, List2[4]);
    end;
  finally
    List.Free;
  end;

end;
end;

mkinzler 22. Mai 2009 17:12

Re: Problem mit OpenDialog?
 
Du lädst die datei in die falsche Liste
Delphi-Quellcode:
    List.LoadFromFile(OpenDialog1.FileName);
Btw. List2 solltest du auch wieder freigeben

AlexII 22. Mai 2009 17:14

Re: Problem mit OpenDialog?
 
Ok ich gucke mal.

AlexII 22. Mai 2009 17:17

Re: Problem mit OpenDialog?
 
Wenn ich die List2 freigebe stürzt das Programm beim Close ab :gruebel:

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var i: Integer;
    s1,s2,s3,s4: String;
begin
List2.Clear;
//showmessage(listbox1.Items.Strings[0]);
for i:=0 to ListBox1.Count-1 do
begin
s1:=ListBox1.Items.Strings[i];
s2:=ListBox2.Items.Strings[i];
s3:=ListBox3.Items.Strings[i];
s4:=ListBox4.Items.Strings[i];

List2.Add('=' + s1 + '=' + s2 + '=' + s3 + '=' + s4 + '=');
end;
List2.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Datei.txt');
end;
Oder muss ich die Liste hier neu createn? :gruebel:

mkinzler 22. Mai 2009 17:23

Re: Problem mit OpenDialog?
 
Es wäre besser sie als lokale Variable hier neu zu erzeugen und dann wieder freizugeben

BTW. Eigentlich gilt hier: Neue Frage neuer Thread. :zwinker:

AlexII 22. Mai 2009 17:35

Re: Problem mit OpenDialog?
 
Ok danke dir, jetzt klappt alles :thumb:

mkinzler 22. Mai 2009 17:39

Re: Problem mit OpenDialog?
 
Kein Problem.

Aber das nächste mal bitte einen neuen Thread starten


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz