Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Opendialog (https://www.delphipraxis.net/126039-opendialog.html)

ecHo89 16. Dez 2008 18:28


Opendialog
 
Hallo zusammen,

habe folgendes Problem:

MainForm mit einer Listbox, AddForm mit Edit,Button(Add), Button Browse

Nun will ich in FormAdd einen Pfad browsen und er wird im Edit angezeigt. Mit Button(Add) wird er in die Listbox in der MainForm geschrieben. Wenn MainForm geclosed wird dann wird dieser Wert (bzw. alle Werte der Listbox) automatisch in einer .ini gespeichert.
Und beim Laden erneut geladen. Nur das funktioniert nicht oO. Wenn ich einfach per copypast bzw. einfach etwas in das Edit schreibe und dann Button(Add) drücke dann funktioniert ALLES reibungslos. Es hat also irgendetwas mit dem Opendialog bzw. einer Verknüpfung zwischen Filename und dem Edit gegeben sein. Freeandnil, setfocus... vieles versucht: -> ratlos :/

Vielen Dank fürs Lesen und wenn jmd. ne Idee hat

ryLIX 16. Dez 2008 19:01

Re: Opendialog
 
Also du hast nun das Problem das du den Filename vom OpenDialog nicht in die Editbox bekommst richtig?

Delphi-Quellcode:
OpenDialog1.Execute;
if OpenDialog1.FileName <> '' then begin
Edit1.Text := '';
Edit1.Text := Opendialog1.FileName;
end;
Damit gehts.

Wenn du nur den Pfad haben willst dann musst du eine Zeile ändern nach:
Delphi-Quellcode:
Edit1.Text := ExtractFilePath(Opendialog1.FileName);

ecHo89 16. Dez 2008 19:05

Re: Opendialog
 
Nee, ich bekomm den ins Edit und auch in die Listbox.
Aber wenn ich das über OpenDialog mache, dann wird es nicht in der INI gespeichert.
Und wenn ich es per Hand ins Edit schreibe, dann wird es in der INI gespeichert.
Es ist ab Button(ADD) der EXAKT GLEICHE Code.

PS: mit OpenDialog wird es auch in die Listbox gespeichert, dann aber nicht in die INI

toms 16. Dez 2008 19:05

Re: Opendialog
 
Zitat:

Delphi-Quellcode:
OpenDialog1.Execute;
if OpenDialog1.FileName <> '' then begin

Oder gleich so:
Delphi-Quellcode:
if OpenDialog1.Execute then

TonyR 16. Dez 2008 19:06

Re: Opendialog
 
Bitte häng mal den Code an oder poste die ganze Sache (also den Weg vom ODialog bis zur Ini).

ecHo89 16. Dez 2008 19:09

Re: Opendialog
 
Klick on "Browse", wenn ein Pfad ausgewählt wurde und OK geklickt wurde.

Delphi-Quellcode:
 if OpenDialog1.Execute=true then
  edit.Text := OpenDialog1.FileName;
Klick on "Add"

Delphi-Quellcode:
if edit.Text <> '' then
begin
 FormMain.ListBox1.Items.Add(edit.text)
 edit.Text := '';
 formadd.Hide;
end;

Listbox in INI Datei

Delphi-Quellcode:
for i:=0 to ListBox1.Count-1 do ini.WriteString(Nummer[Nr] <-- klappt ist einfach ein Array,'S' + inttostr(i+1),ListBox1.Items[i]);

ecHo89 16. Dez 2008 19:12

Re: Opendialog
 
Nur !das! funktioniert nicht oO.

!das! = in INI schreiben (NICHT Opendialog.Filename = edit.text), weil mich hier manche falsch verstanden haben

TonyR 16. Dez 2008 19:20

Re: Opendialog
 
Ist im OnChange des Edits auch was drin?

Wird die ForSchleife zum schreiben in die Ini gar nicht ausgeführt oder bricht sie ab??? Setze Dort mal einen Haltepunkt, gehe mit F7 weiter und berichte uns inwieweit die Schleife ausgeführt wird.

ecHo89 16. Dez 2008 19:33

Re: Opendialog
 
Im OnChange ist nichts.

In der Schleife hängt er dauernt inner TB2Hook rum in der function CallWndProcHook(Code: Integer; WParam: WPARAM; LParam: LPARAM): LRESULT;

Egal ob ich über Browse oder per Hand mache. Aber das dasselbe Ergebnis, einmal gespeichert einmal nicht.

Hab ewig F7 gedrückt, aber er geht niemals raus. Bin mit der Haltepunktfunktion auch nicht so geübt, vllt. mach ich was falsch?

TonyR 16. Dez 2008 19:37

Re: Opendialog
 
Keine Ahnung ob dir derzeit noch jemand helfen könnte, aber ich würde sagen, du müsstest den gesamten Quelltext als Anhang mal rausrücken um den Fehler zu finden / andere finden zu lassen.

Das geht natürlich nur wenn du das mit deinem Gewissen vereinbaren kannst, ich weiß ja nicht an was du arbeitest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr.
Seite 1 von 2  1 2      

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