Deutsch
Quelltexte/ Codesnippets

Dragdrop Explorer Filenames Ins Text

 

KHR
Hallo miteinander,

wie der Titel schon sagt:

Ein tool mit dem man sich einfach die Dateinamen und Pfade nach Ablage per Drop aus dem Clipboard erhält.

Dazu habe ich Code aus der Quellcodesammlung des MMJ umgestrickt.

Sollte durch die Kommentare eigentlich selbsterklärend sein
KompilierenMarkierenSeparieren
Dateinamen aus Drg&Drop extrahieren
Drag und Drop mit dem Explorer realisieren
PRFellow - Vorlage
Drag&Drop Beispiel mit Profan 6.x (32 Bit)
Original (Beispiel) Autor: Thomas Hölzer
modifiziert zu Drop2Clip Autor: Karl-Heinz Rattay
Bedienungsanleitung
Im Explorer ein oder mehrere Dateien mit der Maus packen
und auf das Drop2Clip-Fenster werfen
Sofort danach stehen die Dateinamen mit Pfad im Clipboard
in Textform zur Verfügung
Def DragAcceptFiles(2) !SHELL32,DragAcceptFiles
Def DragFinish(1) !SHELL32,DragFinish
Def DragQueryFile(4) !SHELL32,DragQueryFileA
Def Sleep(1) !KERNEL32,Sleep
Variablen deklarieren
Declare PFilename#,FileName$
Dim PFileName#,261 Max_Path +1, Vorsicht bei Profan-Strings (nur 255 Zeichen!)
declare DropGesAnzahl&, DropAnzahl&, DropEnde%, DropZaehl&
Trackmenue zusammenstellen

Proc MausMenue

    CreateMenu
    AppendMenu 101,Clipboard leeren
    AppendMenu 109,Programmende
    TrackMenu %MouseX, %MouseY

endproc

Fensterstil festlegen
windowstyle 1032
kleines Fenster Rechts obem im die Ecke pflanzen
Window (%MaxX-180),30 - (160),110
Titel für Fenster vergeben
WindowTitle ( Drop here (+@str$(DropGesAnzahl&)+) )
Drag&Drop aktivieren
DragAcceptFiles(%hwnd,1)
Clipboard löschen
ClearClip
GesamtZaehler auf null
DropGesAnzahl& = 0
Durch die Schleife bis beendet wird

WhileNot Dropende%

    GetMessage

    IF %message =563

        IF %PeekMessage  =563

            Anzahl der abgelegten Dateien bestimmen
            Dropanzahl&= DragQueryFile(&WParam,$FFFFFFFF,PFilename#,261)
            DropZaehl&=0
            Durch die Schleife bis alle Dateien abgearbeitet sind

            While DropZaehl&<Dropanzahl&

                Einzelne Datei der Reihe nach abarbeiten
                DragQueryFile(&WParam,DropZaehl&,PFilename#,261)
                Dateinamen und Pfad +[CR]+[LF] im Clipboard ablegen
                [CR]+[LF]werden verwendet, daß auch alle möglichen Empfänger
                Das Ende der Zeile richtg erkennen,
                möglicherweise ergibt das ganze einen doppelten Zeilenvorschub
                und dadurch eine Leerzeile zwischen den Dateinamen
                PutClip String$(PFilename#,0)+@chr$(13)+@chr$(10)
                Zaehler um 1 erhöhen
                Inc DropZaehl&

            Wend

            Drag&Drop ist durch
            DragFinish(&WParam)
            Anzahl der Dateien aus diesem Durchgang zum Gesamtzähler addieren
            DropGesAnzahl& = DropGesAnzahl&+DropAnzahl&
            Im Fenster-Titel die Fesamtanzahl einfügen
            WindowTitle (  Drop here (+@str$(DropGesAnzahl&)+) )
            Menue bei Rechtsklick

        Elseif %mousekey = 2

            MausMenue
            Clipboard löschen und Gesamt-Dateizähler wieder auf Null stzen

        elseif %MenuItem = 101

            ClearClip          Clipboard löschen
            DropGesAnzahl& = 0
            WindowTitle Drop here (+@str$(DropGesAnzahl&)+)
            Menueitem zurücksetzen, sonst wird das clipboard jedesmal geleert
            wenn das Fensterchen mit der Maus verlassen wird
            SetMenuItem 100
            Programm-Ende

        elseif %MenuItem = 109

            Dropende%=1

        EndIf

    endwhile

    Speicher freigeben
    Dispose PFileName#
    Drag&Drop deaktivieren
    DragAcceptFiles(%hwnd,0)
    End
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
29.12.2008  
 




Dieter
Zornow
Funktioniert bei mir aber nur als Exedatei, im Interpreter nicht
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
29.12.2008  
 




KHR
Hallo Dieter,

Dieter Zornow
Funktioniert bei mir aber nur als Exedatei, im Interpreter nicht


habs grad nochmal probiert,

funktioniert im Interpreter ( Xp11 ) aks PRC über die Runtime und als EXE
 
Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
29.12.2008  
 




Paul
Glatz
Beim ändern des Fenstertitels (nach dem Erzeugen) statt
KompilierenMarkierenSeparieren
KompilierenMarkierenSeparieren verwenden.
 
29.12.2008  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.391 Betrachtungen

Unbenanntvor 0 min.
Uwe Lang30.06.2024
Member 862464113.05.2024
Thomas Zielinski28.06.2023
Sven Bader31.03.2023
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

KHR (2x)
Paul Glatz (1x)
Dieter Zornow (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie