Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Datei auslesen bei Drag & Drop

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Lirave



Anmeldedatum: 02.10.2007
Beiträge: 173
Wohnort: Dresden

BeitragVerfasst am: Di Jun 24, 2008 6:36 pm    Titel: Datei auslesen bei Drag & Drop Antworten mit Zitat

Hi, ist es möglich, eine exe Datei so zuschreiben, dass wenn ich eine Datei auf meinetwegen, eine Textdatei auf die exe ziehe, diese dann ausgelesen wird?

Dieses Script hatte ich hier gefunden, welches die Datei ausliest, wenn man die exe schon gestartet hat.

Code:
#NoEnv
#SingleInstance force

SetBatchLines, -1
Gui, +AlwaysOnTop
Gui, Margin, 20, 20
Gui, Add, Text, , Dateipfade:
Gui, Add, Edit, xp y+5 w300 Multi vEdit1
Gui, Add, Text, , Inhalt:
Gui, Add, Edit, xp y+5 w300 Multi vEdit2
Gui, Show, ,

Return

GuiDropFiles:
If (A_GuiControl = "Edit1")
{
   GuiControl, , Edit1, %A_GuiEvent%
}
If (A_GuiControl = "Edit2")
{
   FileRead, Inhalt, % InStr(A_GuiEvent, "`n")
                     ? SubStr(A_GuiEvent, 1, InStr(A_GuiEvent, "`n") - 1)
                     : A_GuiEvent
   GuiControl, , Edit2, %Inhalt%
}
Return

GuiClose:
GuiEscape:
ExitApp


Zur Zeit ist es so, dass wenn ich eine Datei auf die exe ziehe, dann startet die exe.
Aber durch welchen Befehl kann ich gleich in diesem Schritt die Datei auslesen, und den Pfad auslesen, und in dem Gui anzeigen lassen?
_________________
Gruß Lirave

Schaut doch mal auf meiner HP vorbei
http://rirobert.ri.funpic.de/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
fredchf



Anmeldedatum: 18.09.2006
Beiträge: 716
Wohnort: Deutschland

BeitragVerfasst am: Di Jun 24, 2008 6:59 pm    Titel: Antworten mit Zitat

hallo.
in diesem fall ist der pfad der textdatei im übergabeparameter (0) enthalten und lässt sich als normale var nutzen. Wink
_________________
Mit freundlichen Grüßen
fredchf
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lirave



Anmeldedatum: 02.10.2007
Beiträge: 173
Wohnort: Dresden

BeitragVerfasst am: Di Jun 24, 2008 7:23 pm    Titel: Antworten mit Zitat

danke, werde ich mich mal mit beschäftigen
_________________
Gruß Lirave

Schaut doch mal auf meiner HP vorbei
http://rirobert.ri.funpic.de/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Z Gecko
Gast





BeitragVerfasst am: Di Jun 24, 2008 7:52 pm    Titel: Antworten mit Zitat

Zitat:
in diesem fall ist der pfad der textdatei im übergabeparameter (0)
Fast,
Die Var 0 enthält die Anzahl der übergeben Kommandozeilenparameter.
"1" würde in diesem Fall den Pfad der Textdatei enthalten.
http://www.autohotkey.com/docs/Scripts.htm#cmd
Nach oben
Lirave



Anmeldedatum: 02.10.2007
Beiträge: 173
Wohnort: Dresden

BeitragVerfasst am: Di Jun 24, 2008 9:57 pm    Titel: Antworten mit Zitat

Ich habe das mit eurer Hilfe jetzt so gelöst, geht es auch einfacher, und Fehlerunanfälliger.

Z.B wenn ich eine Große Datei, wie ein Bild, oder ein Video auf die exe ziehe, dann soll es nicht den Inhalt dieser Datei ausgeben (vlt. einen alternativen Text), aber jedoch den Dateipfad.


Code:
#NoEnv
#SingleInstance force

if 0 > 1  ; The left side of a non-expression if-statement is always the name of a variable.
{
    MsgBox Es kann nur eine Datei auf einmal eingelesen werden.
    ExitApp
}



SetBatchLines, -1
Gui, +AlwaysOnTop
Gui, Margin, 20, 20
Gui, Add, Text, , Dateipfade:
Gui, Add, Edit, xp y+5 w300 Multi vEdit1
Gui, Add, Text, , Inhalt:
Gui, Add, Edit, xp y+5 w300 Multi vEdit2,
Gui, Show, ,

Loop %0%  ; For each parameter (or file dropped onto a script):
{
    GivenPath := %A_Index%  ; Fetch the contents of the variable whose name is contained in A_Index.
    Loop %GivenPath%, 1
        LongPath = %A_LoopFileLongPath%
    GuiControl, , Edit1, %LongPath%

    FileRead, Inhalt, %LongPath%
    GuiControl, , Edit2, %Inhalt%
}


Return

GuiDropFiles:
If (A_GuiControl = "Edit1")
{
   GuiControl, , Edit1, %A_GuiEvent%
}
If (A_GuiControl = "Edit2")
{
   FileRead, Inhalt, % InStr(A_GuiEvent, "`n")
                     ? SubStr(A_GuiEvent, 1, InStr(A_GuiEvent, "`n") - 1)
                     : A_GuiEvent
   GuiControl, , Edit2, %Inhalt%
}
Return

GuiClose:
GuiEscape:
ExitApp

_________________
Gruß Lirave

Schaut doch mal auf meiner HP vorbei
http://rirobert.ri.funpic.de/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Z Gecko
Gast





BeitragVerfasst am: Di Jun 24, 2008 11:22 pm    Titel: Antworten mit Zitat

nur mal als ansatz:
Code:
#NoEnv
#SingleInstance force
SetBatchLines, -1
MaxSize = 10240 ; maximale größe der Datei in byte
Gui, +AlwaysOnTop
Gui, Margin, 20, 20
Gui, Add, Text, , Dateipfade:
Gui, Add, Edit, xp y+5 w300 Multi vEdit1
Gui, Add, Text, , Inhalt:
Gui, Add, Edit, xp y+5 w300 Multi vEdit2,

if 0 > 1  ; The left side of a non-expression if-statement is always the name of a variable.
{
    MsgBox Es kann nur eine Datei auf einmal eingelesen werden.
    ExitApp
}
if 0 = 1
{
       Loop %1%, 1
           LongPath = %A_LoopFileLongPath%
        IfExist, %LongPath%
        {
           zeigewennOK(LongPath)
        }
}
Gui, Show,
return

zeigewennOK(FilePath)
{
   global MaxSize
   FileGetSize, OutputVar , FilePath
   if (Ouputvar <= MaxSize)
   {
       FileRead, Inhalt, %FilePath%
       GuiControl, , Edit1, %FilePath%
       GuiControl, , Edit2, %Inhalt%
   }
   else
   GuiControl, , Edit1, %FilePath%
}
Return

GuiDropFiles:
If (A_GuiControl = "Edit1")
{
   GuiControl, , Edit1, %A_GuiEvent%
}
If (A_GuiControl = "Edit2")
{
   FileRead, Inhalt, % InStr(A_GuiEvent, "`n")
                     ? SubStr(A_GuiEvent, 1, InStr(A_GuiEvent, "`n") - 1)
                     : A_GuiEvent
   GuiControl, , Edit2, %Inhalt%
}
Return

GuiClose:
GuiEscape:
ExitApp
Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de