 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Lirave
Anmeldedatum: 02.10.2007 Beiträge: 173 Wohnort: Dresden
|
Verfasst am: Di Jun 24, 2008 6:36 pm Titel: Datei auslesen bei Drag & Drop |
|
|
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 |
|
 |
fredchf
Anmeldedatum: 18.09.2006 Beiträge: 716 Wohnort: Deutschland
|
Verfasst am: Di Jun 24, 2008 6:59 pm Titel: |
|
|
hallo.
in diesem fall ist der pfad der textdatei im übergabeparameter (0) enthalten und lässt sich als normale var nutzen.  _________________ Mit freundlichen Grüßen
fredchf |
|
| Nach oben |
|
 |
Lirave
Anmeldedatum: 02.10.2007 Beiträge: 173 Wohnort: Dresden
|
Verfasst am: Di Jun 24, 2008 7:23 pm Titel: |
|
|
danke, werde ich mich mal mit beschäftigen _________________ Gruß Lirave
Schaut doch mal auf meiner HP vorbei
http://rirobert.ri.funpic.de/ |
|
| Nach oben |
|
 |
Z Gecko Gast
|
Verfasst am: Di Jun 24, 2008 7:52 pm Titel: |
|
|
| 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
|
Verfasst am: Di Jun 24, 2008 9:57 pm Titel: |
|
|
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 |
|
 |
Z Gecko Gast
|
Verfasst am: Di Jun 24, 2008 11:22 pm Titel: |
|
|
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 |
|
 |
|
|
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
|