Datei verschieben mit Drag+Drop

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
IngaD
Foriker
Beiträge: 27
Registriert: Mo 29. Jul 2024, 09:49
Kontaktdaten:

Datei verschieben mit Drag+Drop

Beitrag von IngaD » Mo 2. Sep 2024, 14:53

Hallo liebe Gambas-Gemeinde.

Ich habe eine kleine Gambas-Anwendung mit TextArea und Button. TextArea ist Drop=True.
In die TextArea "ziehe" ich eine Datei aus einem x-beliebigen Verzeichnis. In der TextArea erscheint der Dateipfad + Dateiname.

Ziel ist es, diese Datei in ein vorgegebenes Verzeichnis über Drag + Drop zu kopieren.

Das Problem: das Zielverzeichnis bleibt leer; eine Fehlermeldung in der IDE sagt, dass die Datei bereits vorhanden ist.

Wie kopiere ich eine x-beliebige Datei in ein x-beliebiges Verzeichnis?

Ich benötige zu diesem sicher trivialen Problen eure Hilfe.

Vielen Dank und Gruß
IngaD

Bonus
Foriker
Beiträge: 111
Registriert: Mo 18. Mär 2024, 14:38
Kontaktdaten:

Re: Datei verschieben mit Drag+Drop

Beitrag von Bonus » Mo 2. Sep 2024, 14:59

gambas code

If Exist(sFilePath) Then Kill sFilePath
Copy sDest To sFilePath


Bitte posten Sie den Code, den Sie ausprobieren, damit wir etwaige Fehler erkennen können
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)

Bonus
Foriker
Beiträge: 111
Registriert: Mo 18. Mär 2024, 14:38
Kontaktdaten:

Re: Datei verschieben mit Drag+Drop

Beitrag von Bonus » Mo 2. Sep 2024, 15:07

Sie können auch keinen Verzeichnisnamen verwenden, um eine Datei in ein Verzeichnis zu kopieren.

Sie müssen den Dateinamen in den Dateinamen kopieren
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)

vuott
Foriker
Beiträge: 262
Registriert: Fr 16. Jan 2015, 01:27
Wohnort: Europäische Union - Italia
Kontaktdaten:

Re: Datei verschieben mit Drag+Drop

Beitrag von vuott » Mo 2. Sep 2024, 16:01

IngaD hat geschrieben:
Mo 2. Sep 2024, 14:53
Ziel ist es, diese Datei in ein vorgegebenes Verzeichnis über Drag + Drop zu kopieren.

Wie kopiere ich eine x-beliebige Datei in ein x-beliebiges Verzeichnis?
Ich habe nicht verstanden, in welche Control Sie die Datei ziehen wollen, um sie in ein Verzeichnis zu kopieren.
Europaeus sum

IngaD
Foriker
Beiträge: 27
Registriert: Mo 29. Jul 2024, 09:49
Kontaktdaten:

Re: Datei verschieben mit Drag+Drop

Beitrag von IngaD » Mo 2. Sep 2024, 16:37

Hallo Bonus,
Hallo vuott,

erst einmal vielen Dank für ihre Rückmeldungen.
Vielleicht drücke ich mich nicht korrekt aus.

Ich möchte eine Datei XYZ.txt mit dem Pfad "/home/dagmar/Schreibtisch/" per Drag+Drop in ein Verzeichnis "/home/dagmar/Vaults/DokumentenBox/" verschieben.
Per Drag+Drop erhalte ich in einer TextArea den Pfad und den Dateinamen "/home/dagmar/Schreibtisch/XYZ.txt"

Per Button möchte ich die original Datei "/home/dagmar/Schreibtisch/XYZ.txt" in das andere Verzeichnis
"/home/dagmar/Vaults/DokumentenBox/XYZ.txt" verschieben.

In VB.net würde das so gehen:
My.Computer.FileSystem.MoveFile(quelle, ziel, True)
Mein Beispiel:
My.Computer.FileSystem.MoveFile("/home/dagmar/Schreibtisch/XYZ.txt", "/home/dagmar/Vaults/DokumentenBox/XYZ.txt", True)

Wie kann ich eine Dateiverschiebung grundsätzlich realisieren? (Auch ohne Drag+Drop)

Lieber Gruß
IngaD

Bonus
Foriker
Beiträge: 111
Registriert: Mo 18. Mär 2024, 14:38
Kontaktdaten:

Re: Datei verschieben mit Drag+Drop

Beitrag von Bonus » Mo 2. Sep 2024, 16:43

gambas code


Public Sub Form_Open()

  TextArea1.Drop = True

End

Public Sub TextArea1_Drop()

' Überprüfen Sie, ob das Drag-Ereignis aus Dateien stammt
  If Not Drag.Formats.Exist("text/uri-list") Then Return

  Dim aFiles As String[] = Drag.Paste("text/uri-list")

  For Each sFile As String In aFiles
    Debug sFile
    Try Copy sFile To User.home &/ File.Name(sFile) ' Versuchen Sie, jede Datei nach User.Home zu kopieren und gegebenenfalls einen Fehler anzuzeigen
    If Error Then Message.Error(sFile & "\n" & Error.Text)
  Next

End

Dies ist wichtig für QT5
Sie MÜSSEN TextArea1.Drop mithilfe der IDE auf False setzen
Setzen Sie es dann mithilfe von Code auf True (siehe meinen Beispielcode).

Wenn Sie dies nicht tun, fügt QT den abgelegten Dateinamen in die TextArea ein und löst kein Drop-Ereignis aus. Um es zu überschreiben, müssen Sie „drop“ in der IDE auf „false“ und mit dem Code auf „true“ setzen.
Zuletzt geändert von Bonus am Mo 2. Sep 2024, 16:51, insgesamt 1-mal geändert.
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)

Bonus
Foriker
Beiträge: 111
Registriert: Mo 18. Mär 2024, 14:38
Kontaktdaten:

Re: Datei verschieben mit Drag+Drop

Beitrag von Bonus » Mo 2. Sep 2024, 16:44

IngaD hat geschrieben:
Mo 2. Sep 2024, 16:37
Hallo Bonus,
Hallo vuott,


Wie kann ich eine Dateiverschiebung grundsätzlich realisieren? (Auch ohne Drag+Drop)

Lieber Gruß
IngaD
gambas code

Move "/home/dagmar/Desktop/XYZ.txt" To "/home/dagmar/Vaults/DocumentBox/XYZ.txt"

Hinweis: Dateien können nur auf derselben Festplatte verschoben werden. Um die Datei auf eine andere Festplatte zu verschieben, müssen Sie die Datei mit „Copy“ kopieren und dann mit „Kill“ das Original löschen.
Zuletzt geändert von Bonus am Mo 2. Sep 2024, 17:06, insgesamt 1-mal geändert.
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)

IngaD
Foriker
Beiträge: 27
Registriert: Mo 29. Jul 2024, 09:49
Kontaktdaten:

Re: Datei verschieben mit Drag+Drop

Beitrag von IngaD » Mo 2. Sep 2024, 16:56

Hallo vuott,
Hallo Bonus,

beide Snippets funktionieren einwandfrei!
Jetzt komme ich deutlich weiter.

Vielen Dank und ein lieber Gruß von
IngaD

Antworten

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot], Google [Bot] und 1 Gast