[gelöst] Hallo,
1. ich scheitere als Neuling immer wieder daran, daß ich die Bedeutung der Eigenschaften nicht kenne. So suche ich schon länger für TFileNameEdit
die Eigentschaft, in der nach Auswahl einer Datei in einem Verzeichnis der Pfad "zurückgegeben" wird (und welches Ereignis dafür zuständig ist).
Kann mir da jemand aufs Pferd helfen?
2. Gibt es irgendwo (vozugsweise in deutsch) ein Kompendium, wo man so etwas mal nachlesen kann?
Danke
TFileNameEdit
-
- Beiträge: 143
- Registriert: Mo 30. Mär 2020, 12:37
TFileNameEdit
Zuletzt geändert von Joachim Raap am So 17. Mai 2020, 21:44, insgesamt 1-mal geändert.
Re: TFileNameEdit
Auf Palette "Misc"Joachim Raap hat geschrieben: So 17. Mai 2020, 12:02 Hallo,
1. ich scheitere als Neuling immer wieder daran, daß ich die Bedeutung der Eigenschaften nicht kenne. So suche ich schon länger für TFileNameEdit
die Eigentschaft, in der nach Auswahl einer Datei in einem Verzeichnis der Pfad "zurückgegeben" wird (und welches Ereignis dafür zuständig ist).
Kann mir da jemand aufs Pferd helfen?
Ich habe das in den Bookmarks:Joachim Raap hat geschrieben: So 17. Mai 2020, 12:02 2. Gibt es irgendwo (vozugsweise in deutsch) ein Kompendium, wo man so etwas mal nachlesen kann?
https://wiki.lazarus.freepascal.org/LCL_Components
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: TFileNameEdit
Da mir diese Funktion zu wenig Komfort hatte, habe ich mir selbst so eine FileOpenBox geschrieben.So suche ich schon länger für TFileNameEdit
die Eigentschaft, in der nach Auswahl einer Datei in einem Verzeichnis der Pfad "zurückgegeben" wird
Diese hat den Vorteil, das die geöffneten Dateien in eine ComboBox schreibt, anstelle eines Edits.
So nebenbei werden die Auswahlen der ComboBox in eine XML-Datei geschrieben.
Wen ich mal Lust habe mache ich daraus eine Komponente.
- Dateianhänge
-
FileOpen_with_XML.zip
- (107.11 KiB) 111-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 143
- Registriert: Mo 30. Mär 2020, 12:37
Re: TFileNameEdit
.....da ist alles sehr schön.
Wie aber funktioniert die Auswahl mit TFileNameEdit? Die Abfrage der Eigenschaft FileName ist bei mir jedenfalls leer...
Wie aber funktioniert die Auswahl mit TFileNameEdit? Die Abfrage der Eigenschaft FileName ist bei mir jedenfalls leer...
Re: TFileNameEdit
Du kannst mit dem Control auf zwei Arten arbeiten: einmal kannst du es wie ein normales Edit benutzen und den Dateinamen eintippen. Hier solltest du einen Handler für das Ereignis OnEditingDone schreiben - das kommt, wenn das Edit-Feld verlassen wird oder die ENTER-Taste gedrückt wird. Hier kannst du mit den Property Filename den eingegebenen Dateinamen abfragen, um die zugehörige Datei in ein Memo zu laden:
Zum anderen kannst du auf den Button neben dem Edit-Feld klicken und einen Dateiauswahldialog öffnen. Hier kannst du wie bei anderen Programmen auch, den Dateinamen durch Klicken auswählen oder ins dortige Eingabefeld schreiben und abschließend "Öffnen" klicken. Hier wird das Ereignis OnAcceptFileName ausgelöst. Allerdings kommt das Ereignis, bevor der gewählte Dateiname an die FileName-Eigenschaft übertragen wurde. Stattdessen gibt es einen var-Parameter "Value", der den aktuell gewählten Dateinamen enthält. Da es sich um einen var-Parameter handelt, könntest du hier auch einen anderen Dateinamen eintragen, z.B. wenn die Auswahl ungültig ist, könntest du einen leeren String in Value zurückgeben, so dass das aufrufende Programm dies erkennt und entsprechend reagieren kann. Im Normalfall ist aber Value ok und du könnst nun auch auf diesem Weg die zugehörige Datei in ein Memo laden:
Code: Alles auswählen
procedure TForm1.FileNameEdit1EditingDone(Sender: TObject);
begin
Memo1.Lines.LoadfromFile(FileNameEdit1.FileName);
end;
Code: Alles auswählen
procedure TForm1.FileNameEdit1AcceptFileName(Sender: TObject; var Value: String
);
begin
Memo1.Lines.LoadFromFile(Value);
end;
-
- Beiträge: 143
- Registriert: Mo 30. Mär 2020, 12:37
Re: TFileNameEdit
Danke wp_xyz
Ich hatte mit "FileNameEdit1AcceptFileName" schon mal probiert - hatte aber kein Ergebnis. Lag aber, wie ich jetzt gesehen habe daran, das ein Fehler im Code war - na ja, manchmal muß man nur darüber sprechen!!!
Hast Du aber für mich Dummy schön erklärt......
Ich hatte mit "FileNameEdit1AcceptFileName" schon mal probiert - hatte aber kein Ergebnis. Lag aber, wie ich jetzt gesehen habe daran, das ein Fehler im Code war - na ja, manchmal muß man nur darüber sprechen!!!
Hast Du aber für mich Dummy schön erklärt......