![]() |
Opendialog.filename - Problem
Nabend Leute;
Ich hab mal wieder ein Problem: Ich kann die StringList nicht mit OpenDialog.FileName öffnen. Ich erhalte die Meldung EAopen Error kann die Datei c:\delphi\€ÄB :cyclops: nicht öffen. Im Objektinspektor steht korrekt c:\delphi\42_2004.pln. Wie kann das? :gruebel:
Delphi-Quellcode:
procedure TWochenplan.OpenDialog1Close(Sender: TObject);
Var LoadKW : TStringlist; i : Integer; j : Integer; l : Integer; test : String; begin test := OpenDialog1.Filename; LoadKW := TStringlist.Create; LoadKW.LoadFromFile(Opendialog1.FileName); KW.Text := LoadKW[0]; Jahr.Text := LoadKW[1]; l := 2; for i := 0 to 15 do begin for j := 1 to 40 do begin StringGrid1.Cells[i,j] := LoadKW[l]; l := l+1; end; end; end; |
Re: Opendialog.filename - Problem
Äh, warum steht der Code in OpenDialogClose? Soöllte er nicht in einem Button- oder Menüklick Ereignis stehen?
|
Re: Opendialog.filename - Problem
Hi MrFish,
wie Luckie schon richtig bemerkt hat sollte der Code wirklich nicht im OnClose des OpenDialogs stehn. Dieses Ereignis wird nämlich auch ausgelöst, wenn auf "Abbrechen" geklickt wird. Vielmehr würd ich das ganze im OnClick eines Buttons wie folgt machen:
Delphi-Quellcode:
TOpenDialog.Execute zeigt den OpenDialog an, und liefert true zurück, falls auf "Öffnen" geklickt wurde. So kannst du sicherstellen, dass der Code wirklich nur ausgeführt wird, falls eine Datei ausgewählt wurde.
procedure TForm1.Button1Click(Sender: TObject);
var LoadKW : TStringlist; i : Integer; j : Integer; l : Integer; test : String; begin if OpenDialog1.Execute then begin LoadKW := TStringlist.Create; LoadKW.LoadFromFile(Opendialog1.FileName); KW.Text := LoadKW[0]; Jahr.Text := LoadKW[1]; l := 2; for i := 0 to 15 do begin for j := 1 to 40 do begin StringGrid1.Cells[i,j] := LoadKW[l]; l := l+1; end; end; end; end; Greetz alcaeus |
Re: Opendialog.filename - Problem
Ich danke euch für euren Tip, habe ich umgesetzt.
Leider behebt das nicht mein Problem. Es scheint so zu sein das Opendialog1.Filename nicht richtig übergebn wird. Wenn ich den Ausdruck Test mit dem Debugger überwache erhalt ich nur kryptische Zeichen. Vieleicht habt Ihr auch dafür eine Idee. Gruß MrFish :hi: |
Re: Opendialog.filename - Problem
Hi,
falls Du alcaeus' Code benutzt hast: Da wird 'test' gar nimmer benutzt, test wird also kein Wert zugewiesen und ist somit nicht initialisiert. Da kann schonmal Unfug dabei rauskommen. (Kryptische Zeichen z.B.) Gruß Stephan :dance: |
Re: Opendialog.filename - Problem
Huraaaaaa es geht.
Danke :love: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz