Frage Antwort Tread zu Autoit
-
-
sagte ich doch:
@CRLF
damit machste automatisch nen zeilenumbruch
geht doch viel einfacher -
thx^^
du hattest nur gesagt, dass du nicht weißt, ob es bei Inputbox geht, da hab ich dann die anderen posts gelesen und es vergessen xD
ES GEHT :D
-
Huhu,
hätte auch eine Frage, unzwar ob es einen Befehl gibt der
nachprüft ob ein bestimmter Prozess (Dessen Name ich dann selber angeben kann)
gerade läuft oder nicht läuft, und wenn er nicht läuft das dieser dann gestartet wird.Mfg Mango
-
das sollte kein prob sein...:D
ich setze mich mal hin und wenn ich fertig bin editiere ich^^
-
Code
C
Alles anzeigen;~ Includes #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> ;~ Form $Form1 = GUICreate("Form1", 131, 60, 192, 114) ;~ Input $prozess = GUICtrlCreateInput("", 8, 8, 121, 21) ;~ Buttons $Button1 = GUICtrlCreateButton("Prüfen/Starten", 24, 32, 83, 25, $WS_GROUP) ;~ Status GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $prozessread = GUICtrlRead($prozess) If ProcessExists ("" & $prozessread) Then MsgBox (4068, "Info", "Der Prozess läuft grade!") Else ShellExecute ("Dateiname.Dateiformat", "" , "Pfad" , "run", @SW_SHOW) EndIf EndSwitch WEndDu musst unten nurnoch Dateiname.Dateiformat ändern und den Pfad.
-
ich streng mich so an und es klappt nich ganz und du hast es sofort xD
Hier meine Version...vllt kann mir da ja auch jmd weiterhelfen :D
Code
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 455, 300, 193, 125)
$Input1 = GUICtrlCreateInput("", 32, 120, 265, 21)
$Input2 = GUICtrlCreateInput("", 32, 48, 265, 21)
$Button1 = GUICtrlCreateButton("Check", 344, 48, 89, 25, 0)
$Button2 = GUICtrlCreateButton("Prozess " & GUICtrlRead($Input1) & " starten", 200, 180, 201, 25, 0)
$Button3 = GUICtrlCreateButton("Prozess suchen", 200, 150, 201, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If WinExists(GUICtrlRead($Input1)) Then
MsgBox(1, "Prozess" & GUICtrlRead($Input1), "Der Prozess " & GUICtrlRead($Input1) & " wird bereits ausgeführt")
Not
MsgBox(1, "Prozess" & GUICtrlRead($Input1), "Der Prozess " & GUICtrlRead($Input1) & " ist nicht aktiv.")
EndIf
Case $Button3
$sufu = FileOpenDialog(GUICtrlRead($Input1),@ScriptDir,GUICtrlRead($Input1) & (*.exe))
GUICtrlSetData($Input1, $sufu)
Case $Button2
ShellExecute(GUICtrlRead($Input2))
EndSwitch
WEnd*EDIT*:
@ Tekumi: warum nicht gleich n Input mit dem Pfad drin? ich denke nich, dass er das nur für einen Prozess machen will^^
-
Welchen Pfad meinst du denn?
Mein Code sieht aber schöner aus, musst du zugeben :)
Funktionalität, das kommt drauf an, wer lieber wenig in der Form haben will, und eine einfache Funktionsweise, der nimmt meins. Wer mehr in der Gui haben will, aber ca die gleiche Funktion, der nimmt deins :) -
Hätte da auch noch eine möglichkeit:
Code
C
Alles anzeigen#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Prozess check", 188, 59, 203, 144, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE)) WinSetOnTop($Form1,"",1) $Prozessname = GUICtrlCreateInput("", 8, 8, 113, 21) $Check = GUICtrlCreateButton("Check", 128, 8, 59, 25, $BS_DEFPUSHBUTTON) $Label1 = GUICtrlCreateLabel("", 8, 40, 136, 17) $OT = GUICtrlCreateCheckbox("OT", 152, 40, 33, 17) GUICtrlSetState(-1,$Gui_CHECKED) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $OT If GUICtrlRead($OT) = $Gui_CHECKED Then WinSetOnTop($Form1,"",0) Else WinSetOnTop($Form1,"",1) EndIf Case $Check $Process=GUICtrlRead($Prozessname) If ProcessExists($Process) Then GUICtrlSetData($Label1,"Der Prozess ist gestartet") GUICtrlSetColor($Label1, 0x008000) Else GUICtrlSetData($Label1,"Der Prozess läuft nicht") GUICtrlSetColor($Label1, 0xFF0000) $Frage=MsgBox(4,"","Wollen sie die Anwendung starten?") If $Frage = 6 Then ShellExecute($Process) GUICtrlSetData($Label1,"Der Prozess ist gestartet") GUICtrlSetColor($Label1, 0x008000) EndIf EndIf EndSwitch WEnd:wink:
-
nomma eins xDDD
naja, da das jetzt ja geklärt ist hab ich ne frage.
Ich habe vor ein "Schere, Stein, Papier"-Spiel zu machen. Dazu sollte mein Programm nach Drücken eines Buttons per Zufall zwischen 3 Dingen auswählen. Den Rest bekomm ich hin ;-)
-
*EDIT*
bitte entfernen, wurde wohl ausversehn 2x gepostet (kA warum ._.) -
Random(Min,Max,Flag)
Erklärung:
Min: die kleinste zahl
Max: die größte zahl
Flag: Unbedingt auf 1 , sonst wirds statt nem Int ein Float oder Double d.h: eine Kommazahl
bei 1 wirds ne ganze zahldas is die func, die du brauchst
dann per if abfragen, was gewählt wurde und dann halt den rest -
Danke, funktioniert soweit :D
Ich hab mir aber noch überlegt, dass man Punkte bekommt (Sieg = 1, Niederlage = (-1), Gleichstand = 0). Ich schaff das aber nich so ganz xD Die Punkte werden in einem Label angezeigt:
Am Anfang natürlich 0 Punkte^^:
Und dann soll die Punktzahl, also $var2 verändert werden. ($1 = 1)
Ich hab alles versucht, Klammern nicht, da, ohne "= $var2" etc... hat nicht geklappt xD Help pls^^
-
$var2 -=1
$var2 +=1das sind die kurzformen
so sollte es klappen -
Hm geht immernoch nich, denke es liegt daran, dass ganz oben " $var2 = "0" " steht...
Naja, hier ma mein Script, wird sicher leicht zu fixxen sein ;-)
Code
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$var = Random(1, 3, 1)
$var2 = "0"
$1 = 1#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 259, 155, 193, 125)
$Schere = GUICtrlCreateButton("Schere", 32, 32, 193, 25, 0)
$Stein = GUICtrlCreateButton("Stein", 32, 64, 193, 25, 0)
$Papier = GUICtrlCreateButton("Papier", 32, 96, 193, 25, 0)
$Label1 = GUICtrlCreateLabel($var2 & " Punkte", 32, 128, 193, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Schere
If $var = 1 Then
MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Papier. 1 Punkt für dich!")
$var2 +=1
ElseIf $var = 2 Then
MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Stein. 1 Punkt Abzug.")
$var2 -=1
ElseIf $var = 3 Then
MsgBox(1, "Gleichstand.", "Der Computer hatte Schere, genau wie du. Kein Punkt.")
EndIf
Case $Stein
If $var = 1 Then
MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Schere. 1 Punkt für dich!")
$var2 +=1
ElseIf $var = 2 Then
MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Papier. 1 Punkt Abzug.")
$var2 -=1
ElseIf $var = 3 Then
MsgBox(1, "Gleichstand.", "Der Computer hatte Stein, genau wie du. Kein Punkt.")
EndIf
Case $Papier
If $var = 1 Then
MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Stein. 1 Punkt für dich!")
$var2 +=1
ElseIf $var = 2 Then
MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Schere. 1 Punkt Abzug.")
$var2 -=1
ElseIf $var = 3 Then
MsgBox(1, "Gleichstand.", "Der Computer hatte Papier, genau wie du. Kein Punkt.")
EndIf
EndSwitch
WEnd -
Berichtigt wäre es dann so:
C
Alles anzeigen#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $var2 = "0" $1 = 1 #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 259, 155, 193, 125) $Schere = GUICtrlCreateButton("Schere", 32, 32, 193, 25, 0) $Stein = GUICtrlCreateButton("Stein", 32, 64, 193, 25, 0) $Papier = GUICtrlCreateButton("Papier", 32, 96, 193, 25, 0) $Label1 = GUICtrlCreateLabel($var2 & " Punkte", 32, 128, 193, 25, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Schere $var = Random(1, 3, 1) If $var = 1 Then MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Papier. 1 Punkt für dich!") $var2 +=1 ElseIf $var = 2 Then MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Stein. 1 Punkt Abzug.") $var2 -=1 If $var2 < 0 Then $var2=0 EndIf ElseIf $var = 3 Then MsgBox(1, "Gleichstand.", "Der Computer hatte Schere, genau wie du. Kein Punkt.") EndIf GUICtrlSetData($Label1,$var2 & " Punkte") Case $Stein $var = Random(1, 3, 1) If $var = 1 Then MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Schere. 1 Punkt für dich!") $var2 +=1 ElseIf $var = 2 Then MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Papier. 1 Punkt Abzug.") $var2 -=1 If $var2 < 0 Then $var2=0 EndIf ElseIf $var = 3 Then MsgBox(1, "Gleichstand.", "Der Computer hatte Stein, genau wie du. Kein Punkt.") EndIf GUICtrlSetData($Label1,$var2 & " Punkte") Case $Papier $var = Random(1, 3, 1) If $var = 1 Then MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Stein. 1 Punkt für dich!") $var2 +=1 ElseIf $var = 2 Then MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Schere. 1 Punkt Abzug.") $var2 -=1 If $var2 < 0 Then $var2=0 EndIf ElseIf $var = 3 Then MsgBox(1, "Gleichstand.", "Der Computer hatte Papier, genau wie du. Kein Punkt.") EndIf GUICtrlSetData($Label1,$var2 & " Punkte") EndSwitch WEnd
Hab gleich noch eingebaut, dass man nicht ins minus gehen kann :wink: -
1. was hast du genau geändert?
2. es soll aber ins minus gehn xD
3. wenn ich es starte kommt immer dasselbe ergebnis (z.b. sieg), wenn ich es schließ und wieder öffne kommt ebenfalls immer dasselbe, jedoch irgendein anderes (z.b. gleichstand)*EDIT*: 3. hat sich geklärt.
Ich glaub, ich mach es so, dass man auswählen kann, ob es ins Minus geht oder nicht^^
*EDIT2*: 1 und 2 haben sich ebenfalls geklärt. du hast lediglich "GUICtrlSetData($Label1,$var2 & " Punkte")" dazu geschrieben. Mir würde es nächstes mal mehr helfen, wenn du einfach sagen würdest "Versuch es mal mit GUICtrlSetData", aber trotzdem danke ;-D
*EDIT3*: (xD) ok, du hast das random noch überall einzeln hingeschrieben, wodurch auch verschiedene werte kommen :-) -
Zu 3. Ich würde vielleicht den Randomwert erhöhen und dann einen größeren Bereich bei dem If-Abfragen angeben.
2. Dafür kann ich nichts :wink: Du könntest auch mit Geld einsetzen, usw. machen
1. Ich habe außerdem das Random woanders hingemacht -
Weiß jemand wie ich einen Ordner löschen kann? :P
Bitte nicht: mit FileDelete jede Datei auflisten xP
Edit: Erledigt,
DirRemove ("Pfad\Ordnername", 1)
1= Alle Unterordner ebenfalls löschen
0= Nur Ordner löschen -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!
