if FileExist () funktioniert nicht?!?

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

ComTols

if FileExist () funktioniert nicht?!?

14 Jun 2018, 07:31

Hallo,
ich habe folgendes Problem: Ich möchte ein Programm schreiben, das auf Tastendruck einen Sound abspielt. Zusätzlich möchte ich eine GUI programmieren, mit der ich die Pfade der Dateien und den dazugehörigen Hotkey definieren kann.
Das soll dann permanent in eine .txt-Datei geschrieben werden, sodass ich es mit einem anderen Script einlesen und ausführen lassen kann. Der Sinn hinter 2 Skripts ist halt der, dass ich das Skript mit den Hotkeys in den Autostart legen kann und das Skript für die GUI separat ausführen lassen kann.

Soweit, so gut. Also habe ich begonnen das GUI-Skript zu schreiben, aber aus irgendeinem Grund führt er den Befehlt
    if FileExist(DateiName)
nicht richtig aus. Egal, ob die Datei im Verzeichnis existiert oder nicht, das Programm gibt immer aus, die Datei existiert bereits und springt sofort weiter.

Zum Verständnis hier mal das komplette Label:

Code: [Select all] [Expand] [Download] (Untitled.ahk)GeSHi © Codebox Plus



So weit also. Das Problem habe ich ja bereits beschrieben. Zum Verständnis: Die Variable "Hotkey1" beinhaltet den bereits formatierten Hotkey, die Variable "Pfad1" beinhaltet den Pfad der Datei. Der Rest sollte selbsterklärend sein, habe ja auch alles Kommentiert.

Die Datei ist übrigens im Selben Ordner wie das Skript. Also wo liegt da mein Fehler? Bitte um Hilfe...

Vielen Dank im Voraus
User avatar
nnnik
Posts: 2894
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: if FileExist () funktioniert nicht?!?

14 Jun 2018, 11:14

Man kann soweit ich weiss keinen ausführbaren Code direkt in die selbe Zeile wie das If schreiben.
Und aufgrund der Art und weise wie der AutuHotkey tokenizer wird dein ganzer Code von AutoHotkey so gesehen:

Code: [Select all] [Download] GeSHi © Codebox Plus

if (FileExist(DateiName) goto, Existiert) ;Wenn bereits Hotkey1.txt existiert soll das Programm die Zahl um eins erhöhen und erneut Prüfen. Solange, bis das Programm bei 20 angekommen ist.
if (!FileExist(DateiName) goto, ExistiertNicht) ;Wenn die Datei Hotkey1.txt (usw.) noch nicht existiert, soll diese erstellt werden.
if (HKN > 20) {
Fehler = true
goto, GuiClose ;Sobald 20 erreicht wurde wird ein Fehler ausgegeben und das Programm geschlossen. Die Fehlermeldung ist im Label "GuiClose" beschrieben.
;Später soll hier gefragt werden, ob ein bereits bestehender Hotkey ersetzt werden soll, aber soweit bin ich noch nicht...
}
else { ;ich weiß ehrlich gesagt nicht für welches if AutoHotkey dieses Else aufruft
goto, Name ;Sollte 20 noch nicht erreicht sein soll das Programm erneut prüfen.
}
return
Recommends AHK Studio

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 1 guest