Eure Lösung hat mir sehr geholfen, das Snippet konnte ich leicht angepasst in mein kleines Projekt eingliedern.
Danke noch mal für die freundliche Hilfe.
Eure Lösung hat mir sehr geholfen, das Snippet konnte ich leicht angepasst in mein kleines Projekt eingliedern.
Danke noch mal für die freundliche Hilfe.
BugFis schreibt "falsch", und gibt dir die richtige Entsprechung.Du lässt die Zeile falsch in deinem Script und schreibst die Entsprechung ohne Zusammenhang irgendwohin...
$sFilePath = GuiCtrlRead($Combo) ist richtig.Ich weiß nicht, was du bisher gemacht hast, Fehleranalyse gehört definitiv nicht dazu. Wenn ein unvorhergesehenes Ereignis in einem Script auftritt, dann ist man mit einigen Tastendrücken in der Lage, den "Fehler" anzuzeigen bzw. nachzuvollziehen!
Bspw. würde ich, bevor ich Abfragen (If/Else) tätige, mir die Variablen anzeigen lassen:$sFilePath = $Combo
$sFilePath2 = "\Cloud-Dienste\MEGA\Keepass\Firefox_Keepass.kdbx"
Msgbox(0,0,$sFilePath & $sFilePath 2) ;regulärer Pfad?!
Du musst den ausgelesenen Inhalt auch Deiner Variablen "$sFilePath" zuweisen und zwar erst dann, wenn Du das brauchst (im $ok-Case).
Außerdem ist es einfacher das erste Element des $Drive-Arrays per _ArrayDelete zu löschen, statt hinterher per StringRegExpReplace.
Und die Prüfung (FileExists) auf das existieren der Datei gehört ebenso in den $ok-Case und nicht außerhalb des Switch.
Hier mal die korrigierte Version:AutoIt Alles anzeigen#include <MsgBoxConstants.au3> #include <array.au3> $Drive = DriveGetDrive("Fixed") _ArrayDelete($Drive, 0) ; Entfernt "$Drive[0]" , da dieses Element die Anzahl der Laufwerke angibt $String = _ArrayToString($Drive, "|") ;macht aus Array einen String wobei die Einträge mit "|" getrennt werden GUICreate("Laufwerk", 260, 50) $Combo = GUICtrlCreateCombo("C:", 10, 10, 200, 20) GUICtrlSetData(-1, $String, $Drive[0]) ; Setz den Inhalt der Combo und setzt das 1. gefundene Laufwerk als default $Ok = GUICtrlCreateButton("OK", 220, 10, 30, 22) $sFilePath2 = "\Cloud-Dienste\MEGA\Keepass\Firefox_Keepass.kdbx" GUISetState() While 1 Switch GUIGetMsg() Case -3 Exit Case $Ok $sFilePath = GUICtrlRead($Combo) MsgBox(0, "Laufwerk", $sFilePath) If FileExists($sFilePath & $sFilePath2) Then MsgBox($MB_SYSTEMMODAL, "MSGt2", "-Datei gefunden. Weiter mit ...", 3) Exit Else MsgBox($MB_SYSTEMMODAL, "MSGt3", "Datei nicht gefunden überprüfen Sie Ihre Laufwerke", 3) Exit EndIf EndSwitch WEnd
Andy: Ich bin blutiger Anfänger. Mehr als "Scriptkiddy" mit Java habe ich nie gemacht. Ich bin beruflich woanders angesiedelt und mache das einzig als Hobby. Ich habe freundlich gefragt und wünsche mir Freundlichkeit. Respektlosigkeit einem Anfänger gegenüber, ist mehr als unangebracht. Daher gehe ich auf dich gar nicht mehr ein. Dennoch danke für deine Hilfee.
Hm, meinst du so? Damit kann er leider auch nicht anfangen. Springt dann gleich zum Else.
#include <MsgBoxConstants.au3>
#include <array.au3>
Dim $String
$Drive = DriveGetDrive("Fixed")
$String = _ArrayToString($Drive,"|") ;macht aus Array einen String wobei die Einträge mit "|" getrennt werden
$String = StringRegExpReplace($String,$Drive[0]&"|","") ; Entfernt "$Drive[0]" , da diese Element die Anzahl der Laufwerk angibt
GUICreate("Laufwerk",260,50)
$Combo = GUICtrlCreateCombo("C:",10,10,200,20)
GUICtrlSetData(-1,$String,$Drive[1]) ; Setz den Inhalt der Combo und setzt das 1. gefundene Laufwerk als default
$Ok = GUICtrlCreateButton("OK",220,10,30,22)
$sFilePath = $Combo
$sFilePath2 = "\Cloud-Dienste\MEGA\Keepass\Firefox_Keepass.kdbx"
GUISetState()
GuiCtrlRead($Combo)
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $ok
MsgBox(0,"Laufwerk",GUICtrlRead($Combo))
EndSwitch
If FileExists($sFilePath&$sFilePath2) Then
MsgBox($MB_SYSTEMMODAL, "MSGt2", "-Datei gefunden. Weiter mit ...", 3)
Exit
Else
MsgBox($MB_SYSTEMMODAL, "MSGt3", "Datei nicht gefunden überprüfen Sie Ihre Laufwerke", 3)
Exit
EndIf
WEnd
Alles anzeigen
Moin, ich versuche derzeit eine Laufwerksbuchstaben abzufragen und diese dann in einem Pfad einzubetten um einen "FileExists"-Check zu machen.
Dachte da schon an EnvGet usw. Aber so richtig will das noch nicht. Hier ein Bsp.
Dim $String
$Drive = DriveGetDrive("Fixed")
$String = _ArrayToString($Drive,"|") ;macht aus Array einen String wobei die Einträge mit "|" getrennt werden
$String = StringRegExpReplace($String,$Drive[0]&"|","") ; Entfernt "$Drive[0]" , da diese Element die Anzahl der Laufwerk angibt
GUICreate("Laufwerk",260,50)
$Combo = GUICtrlCreateCombo("C:",10,10,200,20)
GUICtrlSetData(-1,$String,$Drive[1]) ; Setz den Inhalt der Combo und setzt das 1. gefundene Laufwerk als default
$Ok = GUICtrlCreateButton("OK",220,10,30,22)
$sFilePath = $Combo
$sFilePath2 = "\Cloud-Dienste\MEGA\Keepass\Firefox_Keepass.kdbx"
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $ok
Exit
EndSwitch
If FileExists($sFilePath&$sFilePath2) Then
MsgBox($MB_SYSTEMMODAL, "MSGt2", "-Datei gefunden. Weiter mit ...", 3)
Exit
Else
MsgBox($MB_SYSTEMMODAL, "MSGt3", "Datei nicht gefunden überprüfen Sie Ihre Laufwerke", 3)
Exit
EndIf
WEnd
Alles anzeigen
Jop, das kann ich modifizieren und ist super zum lernen. Danke
Stimmt. Damit bekomme ich jedoch nur eine einmalige Ausgabe hin. Für mich wäre ein fortlaufender Countdown aber sinnvoller. Und da habe ich echt null Plan.
Eine reine Anzeige mit der Differenz ist schnell gebastelt.
Ich habe das hier z.b. gefunden. Klasse Idee. Aber auch hier ist es kein echter Countdown. Ich würde die Ausgabe gerne in Jahre, Tage, Stunden, Sekunden haben und mit einem Timer der herunter zählt.
Moin,
ich habe vor ein Skript zu erstellen welches von einem angegebenem Datum die noch zu verstreichende Zeit anzeigt. Am besten als Countdown.
Z.b. 01.01.2020 ist das Ziel-Datum. Dann wird angezeigt wie viel Zeit noch verstreichen muss. In einem kleinen GUI-Fenster.
Ich habe bis jetzt nur die klassischen Countdowns hinbekommen, gebe aber auch zu dass ich da Anfänger bin.
Jemand ne Idee?
Grüße
Abend Leute, also ich habe jetzt alle Beispiele versucht, jedoch bekomme ich keine Reaktion von der Sicherheitsabfrage gegenüber eines MSI Paketes.
Ich bin da recht neu was das angeht, habe es auf Win 7 und XP getestet, keine Erfolge.
Autoit V3 in Benutzung.
Hat jemand mittlerweile eine Lösung?
Die Scripte müssen auch auf fremden Rechnern funktionieren wo ich nicht erst alle Einstellungen anpassen kann.
Bin für jede Hilfe dankbar. Grüße André