Filedrop auf TEdit unter Linux verhindern, aber wie ?
- corpsman
- Lazarusforum e. V.
- Beiträge: 1606
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Filedrop auf TEdit unter Linux verhindern, aber wie ?
Hallo Zusammen,
ich hab hier ein Programm, bei welchem ich in der TForm1, das AllowDropFIles Attribut gesetzt habe und beim OnDropFiles auch ganz normal meinen Event bekomme, mit dem ich dann die "Gedropten" Dateien bekomme.
Nun scheint es aber unter Linux (GTK2/ Mint Mate) so zu sein, dass man eine FIle auch direkt in ein TEdit "droppen" kann, dort kommt es dann wohl als Ansistring an.
Die Frage ist nun, wie kann ich das verhindern ?
ich hab hier ein Programm, bei welchem ich in der TForm1, das AllowDropFIles Attribut gesetzt habe und beim OnDropFiles auch ganz normal meinen Event bekomme, mit dem ich dann die "Gedropten" Dateien bekomme.
Nun scheint es aber unter Linux (GTK2/ Mint Mate) so zu sein, dass man eine FIle auch direkt in ein TEdit "droppen" kann, dort kommt es dann wohl als Ansistring an.
Die Frage ist nun, wie kann ich das verhindern ?
--
Just try it
Just try it
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2785
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Ich fürchte, so etwas geht gar nicht. Wenn ich mir andere Software so ansehe...
Der Taschenrechner nimmt auch den Dateinamen entgegen.
Und auch Gimp - welches ja sonst beim Drop einer Datei diese lädt - hat ein Problem wenn sie auf ein Edit-Feld gezogen wird. Ich denke die "Lösung" wird daraus bestehen, dass du ein Panel mit der Aufschrift "Drag your files here" in dein Form legst.
Der Taschenrechner nimmt auch den Dateinamen entgegen.
Und auch Gimp - welches ja sonst beim Drop einer Datei diese lädt - hat ein Problem wenn sie auf ein Edit-Feld gezogen wird. Ich denke die "Lösung" wird daraus bestehen, dass du ein Panel mit der Aufschrift "Drag your files here" in dein Form legst.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
- kralle
- Lazarusforum e. V.
- Beiträge: 1187
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Moin,
wie wäre es, wenn Du in dem TEdit, nur die Zeichen zulässt, die Du erwartest?
Auch könntest Du die Anzahl der Zeichen begrenzen.
Wenn man über keypressed oder so die Zeicheneingabe steuerst, dann sollte das hineinkopieren doch einfach nicht mehr funktionieren, da ja keine Taste gedrückt wird.
Nur so eine Idee.
Gruß Kralle
wie wäre es, wenn Du in dem TEdit, nur die Zeichen zulässt, die Du erwartest?
Auch könntest Du die Anzahl der Zeichen begrenzen.
Wenn man über keypressed oder so die Zeicheneingabe steuerst, dann sollte das hineinkopieren doch einfach nicht mehr funktionieren, da ja keine Taste gedrückt wird.
Nur so eine Idee.
Gruß Kralle
OS: Manjaro Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
- corpsman
- Lazarusforum e. V.
- Beiträge: 1606
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Bei meinem Programm ging es ja darum dass man Dateien ins Programm dropt:
https://github.com/PascalCorpsman/Examp ... d_get_file
Ich denke ich werden die Lösung von Michael machen müssen mit dem "Drop ypur Files here".
Danke fürs bestätigen und Reproduzieren, dann weis ich dass der "Fehler" wenigstens nicht in meinem Programm ist ..
https://github.com/PascalCorpsman/Examp ... d_get_file
Ich denke ich werden die Lösung von Michael machen müssen mit dem "Drop ypur Files here".
Danke fürs bestätigen und Reproduzieren, dann weis ich dass der "Fehler" wenigstens nicht in meinem Programm ist ..
--
Just try it
Just try it
-
- Beiträge: 114
- Registriert: Do 20. Jul 2017, 23:47
- OS, Lazarus, FPC: Win7 und Win10
- CPU-Target: xxBit
- Wohnort: Südheide (Schnuckenland)
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Eventuell habe ich das Problem nicht ganz verstanden, aber aus dem Bauch raus würde ich mal probieren, ob man mit dem Event
und dem Setzen des Accept auf false, das nicht verhindern kann.
Oder im Event OnDragDrop das Objekt an die Form weiterleiten...
Code: Alles auswählen
TEdit.OnDragOver
Oder im Event OnDragDrop das Objekt an die Form weiterleiten...
- corpsman
- Lazarusforum e. V.
- Beiträge: 1606
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
@TSchnuckenbock
ich hab das mal ausprobiert, die Events werden nicht gefeuert, wein accept := false bringt nichts, da der Code ja nie ausgeführt wird :/
ich hab das mal ausprobiert, die Events werden nicht gefeuert, wein accept := false bringt nichts, da der Code ja nie ausgeführt wird :/
--
Just try it
Just try it
- h-elsner
- Lazarusforum e. V.
- Beiträge: 277
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Bei mir steht der Dateiname nach dem Droppen auch im Editfeld drin, aber die Datei selber wird trotzdem richtig verarbeitet. Stört dich nur der Eintrag?
- corpsman
- Lazarusforum e. V.
- Beiträge: 1606
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Wenn du die Datei auf das Formular "dropst" dann ist alles richtig. Wenn du sie aber in das Edit Dropst, dann steht da der Dateiname 2 mal drin und auch noch merkwürdig "ineinander" -> Fehler.
--
Just try it
Just try it
- h-elsner
- Lazarusforum e. V.
- Beiträge: 277
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Was mir noch auffällt ist, dass der Link im Edit.TextHint landet, wenn Edit.Text leer ist. Edit.Text bleibt da auch leer.
- Zvoni
- Beiträge: 318
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
hmmm....
Wie ich das verstehe, kommt die Datei von "ausserhalb" deiner Form/deines Programms (Von einem File-Explorer?).
In dem Moment, wo die Datei über die Form gezogen wird (noch nicht über dein TEdit!!), sollte doch OnDragOver der Form (!!) zünden.
Falls ja, das TEdit disablen, warten bis der FileDrop von der Form "verarbeitet" wird, das TEdit wieder enablen? GGfs. mit den "Farben" des TEdit spielen, falls du nicht das ausgegraute sehen willst
Kein Linux-Kiste zur Hand. Ausprobieren
Wie ich das verstehe, kommt die Datei von "ausserhalb" deiner Form/deines Programms (Von einem File-Explorer?).
In dem Moment, wo die Datei über die Form gezogen wird (noch nicht über dein TEdit!!), sollte doch OnDragOver der Form (!!) zünden.
Falls ja, das TEdit disablen, warten bis der FileDrop von der Form "verarbeitet" wird, das TEdit wieder enablen? GGfs. mit den "Farben" des TEdit spielen, falls du nicht das ausgegraute sehen willst
Kein Linux-Kiste zur Hand. Ausprobieren
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Soweit ich weiss, haben Drag&Drop und Dropfiles nichts miteinander zu tun.
Es bringt nichts, bei diesen Events zu suchen.
Es bringt nichts, bei diesen Events zu suchen.
- Zvoni
- Beiträge: 318
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Filedrop auf TEdit unter Linux verhindern, aber wie ?
Deswegen schrieb ich auch "sollte zünden" (konjunktiv)theo hat geschrieben: Di 11. Mär 2025, 10:59 Soweit ich weiss, haben Drag&Drop und Dropfiles nichts miteinander zu tun.
Es bringt nichts, bei diesen Events zu suchen.
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.