Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Problem mit Open/Save-Dialog
Chatfix - Mi 25.09.02 19:28
Titel: Problem mit Open/Save-Dialog
hallo, ich möchte das ein open / save dialog immer mit dem verzeichnis "c:\" startet.
ich habe schon initialdir (in beforexecute) gemacht, das funktioniert auch beim ersten aufruf, wen ich den dialog doch gleich wieder starte hab ich den pfad vom erstmal drin.. z.B. c:\programme
könnt ihr mir folgen? *fg*
Delete - Mi 25.09.02 19:57
Jupp, ich kann dir folgen und paß auf gleich habe ich dich am Schlafittchen. :twisted:
Die schlechte Nachricht zu erst:
Das Verhalten, was du beschreibst, ist nachvollziehbar und läßt sich wohl nicht so einfach ändern.
Die gute Nachricht: Ich habe ein WorkAround gefunden:
Erstell den Dialog dynamisch zur Laufzeit.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var od: TOpenDialog; begin od := TOpenDialog.Create(Self); try od.InitialDir := 'c:\'; if od.Execute then Caption := od.FileName; finally od.Free; end; end; |
Chatfix - Mi 25.09.02 20:01
das dumme ist nur das es über den aktion manager aufgerufen wird wo der dialog in der standard funktion OpenFile drin is.. ich müsste jetzt die aktion umschreiben, wenns keine andere möglcihkeit gibt...
aber danke erstmal :-)
Tino - Mi 25.09.02 21:34
| Chatfix hat folgendes geschrieben: |
| das dumme ist nur das es über den aktion manager aufgerufen wird |
Das ist doch keine Problem - im Gegenteil... jetzt brauchst Du nur an einer zentralen Stelle den Code ändern.
Gruß
TINO
Chatfix - Do 26.09.02 13:46
aha und wo? wie kan ich eine standard aktion "bearbeiten" ?
Tino - Do 26.09.02 14:16
Hallo,
sorry das mit der Standard-Action habe ich überlesen (wahrscheinlich weil ich diese Standard Dinger noch nie benutzt habe :-D )
Füge doch einfach eine normale Action hinzu und in den OnExecute-Event packst Du den Code den Luckie oben gepostet hat rein... fertig!
Gruß
TINO
Chatfix - Do 26.09.02 14:19
ja ok thx
Chatfix - Sa 28.09.02 12:34
so habe das jetzt so.. nur ein problem!
ich will den filter festlegen.. habe dazu die variable Filter:string und jetzt kommt das..
ich habe die werte einfach aus dem alten dialog kopiert, und im objectinspector nimmt er diese ja auch...
könnt ihr mir nochmal helfen?
[Fehler] Unit1.pas(138): String-Literale können maximal 255 Elemente besitzen
Chatfix - Sa 28.09.02 12:42
ok habs, hab mal in der hilfe nachgelesen, da stand nciht viel aber ich habe folgendes versucht:
die ganze zeile in 4 strings aufgeteilt und dan in eine zusammengefasst:
Quelltext
1:
| filter:=filter1+filter2+filter3+filter4; |
das geht, und es kommt aufs gleiche raus..
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!