Ist das mit meinem Code?
Tausch mal Zeile 88 mit
[autoit]$addminutes = _DateAdd("n", $stime[2], $addhour)
[/autoit]
Das "M" steht ja für Monate, "N" ist für Minuten richtig!
Ist das mit meinem Code?
Tausch mal Zeile 88 mit
[autoit]$addminutes = _DateAdd("n", $stime[2], $addhour)
[/autoit]
Das "M" steht ja für Monate, "N" ist für Minuten richtig!
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <Date.au3>
;---------------------------------;
#Region ### START Koda GUI section ### Form=
$calculator = GUICreate("Boss Calculator", 311, 201, 193, 125)
$bosse = GUICtrlCreateCombo("Boss Wählen", 8, 8, 153, 25)
GUICtrlSetData(-1, "Aden Fregatte|Ghoetheborg|Bartolomew|Hawkins|General Charlie Will|General Cruz")
$nextrespawn = GUICtrlCreateLabel("Nächster Spawn:", 168, 56, 101, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
$respawntime = GUICtrlCreateLabel("Respawn Zeit:", 168, 8, 86, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
$time = GUICtrlCreateLabel("Zeit:", 8, 40, 30, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
$date = GUICtrlCreateLabel("Datum:", 8, 72, 44, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
$calc = GUICtrlCreateButton("Berechnen", 8, 168, 107, 25, 0)
$time1 = GUICtrlCreateInput("00:00:00", 64, 40, 57, 21)
GUICtrlSetData(-1, @HOUR&":"&@MIN&":"&@SEC)
$date1 = GUICtrlCreateInput("JJ/MM/TT", 64, 72, 57, 21)
GUICtrlSetData(-1, @YEAR&"/"&@MON & "/"&@MDAY)
; -------^---Dort wird die Aktuelle PC Zeit&Datum ausgelesen---^------- ;
$respawntime1 = GUICtrlCreateInput("00:00:00", 168, 32, 73, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$spawnnext = GUICtrlCreateInput("00:00:00", 168, 80, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$spawnnext1 = GUICtrlCreateInput("00:00:00", 168, 104, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$spawnnext2 = GUICtrlCreateInput("00:00:00", 168, 128, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$spawnnext3 = GUICtrlCreateInput("00:00:00", 168, 152, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$spawnnext4 = GUICtrlCreateInput("00:00:00", 168, 176, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$ttmm = GUICtrlCreateInput("JJ/MM/TT", 232, 80, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$ttmm1 = GUICtrlCreateInput("TT.MM", 232, 104, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$ttmm2 = GUICtrlCreateInput("TT.MM", 232, 128, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$ttmm3 = GUICtrlCreateInput("TT.MM", 232, 152, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$ttmm4 = GUICtrlCreateInput("TT.MM", 232, 176, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
; ------^--Dort sollen die neuen daten eingetragen werden --^------ ;
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$msg = GUIGetMsg(1)
Select
Case $msg[0] = $bosse ; <---- Hier wird der gewünschte Boss mit der jeweiligen ReSpawn Zeit rausgesucht
If GUICtrlRead($bosse) = "Aden Fregatte" Then
GUICtrlSetData($respawntime1, "6:50:00")
ElseIf GUICtrlRead($bosse) = "Ghoetheborg" Then
GUICtrlSetData($respawntime1, "6:50:00")
ElseIf GUICtrlRead($bosse) = "Bartolomew" Then
GUICtrlSetData($respawntime1, "10:04:00")
ElseIf GUICtrlRead($bosse) = "Hawkins" Then
GUICtrlSetData($respawntime1, "09:04:00")
ElseIf GUICtrlRead($bosse) = "General Cruz" Then
GUICtrlSetData($respawntime1, "19:20:00")
ElseIf GUICtrlRead($bosse) = "General Charlie Will" Then
GUICtrlSetData($respawntime1, "13:45:00")
Else
GUICtrlSetData($respawntime1, "00:00:00")
EndIf
Case $msg[0] = $calc
local $sdate = stringsplit(_ADD(), " ")
GUICtrlSetData($spawnnext, $sdate[2] ); <--- dort soll er die neue Zeit berechnen
GUICtrlSetData($ttmm, $sdate[1] )
Case $msg[0] = $GUI_EVENT_CLOSE
If $msg[1] = $calculator Then Exit
EndSelect
WEnd
Func _ADD()
$stime = stringsplit(guictrlread($respawntime1), ":")
$addhour = _DateAdd("h", $stime[1], GUICtrlRead($date1) & " "& GUICtrlRead($time1))
$addminutes = _DateAdd("m", $stime[2], $addhour)
return $addminutes
endfunc
Eine Lösung mit _Dateadd.
Hab mich etwas drumrumgemogelt das Format des Datums in ein _Dateadd konformes umzuwandlen.
Kannste dir ja noch anpassen.
Hö? und wo wird was gerechnet im Skript?
Was genau soll ausgerechnet werden?
Mal ein Lösungsansatz für 6:50 addieren.
1 Schritt _Dateadd 6 Stunden
2 Schritt _Dateadd 50min
(wies auf einmal geht weiss ich grad nicht)
Zeile 75: sind zuviele Klammern.
Sieht irgendwie wieder sehr Bot verdächtig aus.
Bzw. Ich verstehe das Problem nicht, scheint bei mir zu laufen!
ShellExecute
[/autoit]Damit gehts (s. Hilfe) ![]()
Also der Bankvorteil dürfte weit im negativen Bereich liegen!
Ist aber auch egal, soll ja Spaß machen ![]()
Stellt sich nur die Frage wie wir echte Casinos für diese Regeln begeistern können? ![]()
Ich hätte dazu eine allgemeine Frage: Ist das Decomplilieren ein Auto-it spezifisches Problem? Oder droht das auch bei anderen Programmiersprachen?
P.S. Auf meinem Rechner befindet sich übrigens kein Decompilierer! ![]()
Danke an alle. ![]()
Wird Zeit das ich mich intensiver mit den String-Funktionen befasse.
Hey,
ich habe mal wieder ein Problem ... ![]()
Folgende "Zahlenkette" liegt vor
Die Reihenfolge stimmt soweit also Jahr/Monat/Tag Stunden:Minuten:Sekunden
Nur wie formatiere ich den String in ein _DateDiif() konformes Format?
Ich dachte zuerst an Stringsplit
[autoit]
$date = 20090607203500
$sdata = Stringsplit($data, "")
$formatdata = $sdate[1] & $sdate[2] & $sdate[3] & $sdate[4] & "/" & $sdate[5] & $sdate[6] & "/" $sdate[7] & $sdate[8] & " &" $sdate[9] & $sdate[10] & ":" usw.
Das würde theoretisch funktionieren, ist aber sehr aufwendig.
Mit StringRegExpReplace scheitere ich irgendwie (Die unterschiedlichen Trennzeichen machen mir zu schaffen). Vielleicht gelingt es ja von euch jemand?
Gruß nuts
Func _SetCounter()
Local $sec
For $i = 0 To UBound($arCounter) - 1
If $arCounter[$i][1] <> 1 Then ContinueLoop
If $arIn[$i][1] = 0 Then ContinueLoop
$sec = $arIn[$i][1] - _DateDiff("s", $arIn[$i][2], _NowCalc())
Select
Case $sec < 60
GUICtrlSetData($arCounter[$i][0], StringFormat('%02u', $sec) & ' s')
Case $sec < 60 * 60
GUICtrlSetData($arCounter[$i][0], StringFormat('%02u', Floor($sec / 60)) & ':' & _
StringFormat('%02u', Mod($sec, 60)) & ' min')
Case $sec < 60 * 60 * 24
GUICtrlSetData($arCounter[$i][0], StringFormat('%02u', Floor($sec / 3600)) & ':' & _
StringFormat('%02u', Floor(Mod($sec, 3600) / 60)) & ':' & _
StringFormat('%02u', Mod(Mod($sec, 3600), 60)) & ' h')
EndSelect
If $sec = 0 Then
if GUICtrlRead($arCounter[0][0]) = "00 s" then MsgBox(1, "", "Counter 0 beendet")
if GUICtrlRead($arCounter[1][0]) = "00 s" then MsgBox(1, "", "Counter 1 beendet")
;usw.
$arCounter[$i][1] = 0
EndIf
Next
EndFunc ;==>_SetCounter
So würds schonmal gehen.
Das geht aber noch besser, schließlich werden so immer alle Labels abgefragt.
Hey,
die Regeln sind auch nicht richtig.
Ich kenns in etwa so: http://de.wikipedia.org/wiki/Videopoker
Ansonsten wie immer super gemacht. ![]()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_Load()
Case $Button2
_pingitem()
Case $Button3
_pingall()
Case $Button4
_export()
EndSwitch
WEnd
Das hier wäre in deinem Skript die "Hauptschleife".
AdlibEnable kann du dir ja mal in der Hilfe ansehen.
Hier mal ein Mini Countdown mit AdlibEnable
[autoit]
Global $iCounter = 5
_Timer()
Func _Timer($iCounter) ; Die Timerfunktion
AdlibEnable('_Countdown', 1000)
While True
If $iCounter <= 0 Then
AdlibDisable()
msgbox(1, "", "Ende")
Exit
EndIf
WEnd
EndFunc ;==>_Timer
Func _Countdown()
$iCounter -= 1
EndFunc ;==>_Countdown
Da geht doch noch um diese Ping-Geschichte oder?
Dann würde ich die Funktion einfach bei über die entsprechenden Buttons aufrufen (Check, Check all usw.).
Also immer dann wenn sich was an den Listviews ändern kann - anders ists hier auch sinnlos, schließlich ändert sich der Inhalt nur über die Buttons.
Sowas?
[autoit]
;
;
GUIRegisterMsg($WM_NOTIFY, "_DoubleClickOnListView")
;
;
Func _DoubleClickOnListView($hWnd, $Msg, $wParam, $lParam) ;Doppelklick auf ein Listviewitem
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return
$event = DllStructGetData($tagNMHDR, 3); Checkt wie das EVENT aussieht
If $wParam = $hListView and $event = $NM_DBLCLK Then ;Wenn der Klick auf das ListView ging und es ein Doppelklick ($NM_CLICK = einfacher Klick - s Windows constants). war, dann
;deine Funktion
EndIf
$tagNMHDR = 0
$event = 0
$lParam = 0
EndFunc ;==>_DoubleClickOnListView
P.S. Fairerweise muss man dazu sagen das die Funktion nicht von mir ist ![]()
edit \ durch den Klick wird ja ein Items dann ausgewählt.
mit _GUICtrlListView_GetSelectionMark würde ich dann weitermachen!
Hehe jetzt weiss ich warums bei mir nicht klappt.
Devcon hätte gerne ein @ vor der ID
- thx der Thread brachte mir viel Erleuchtung ![]()
RunWait(@ComSpec & " /c " & $file_devcon & ' disable ' & $netzwerkkarte_id, "", @SW_HIDE) ; 1 Netzwerkkarte deaktivieren
RunWait(@ComSpec & " /c " & $file_devcon & ' enable ' & $netzwerkkarte_id, "", @SW_HIDE) ; 1 Netzwerkkarte aktivieren
Im Prinzip ists das hier?
Devcon.exe ziehen, ID der Netzwerkkarte ermitteln, los gehts?
Hey,
soweit ich weiss ist die beste Möglichkeit Hardwaregeräte zu (de-)aktivieren das MS tool devcon.
Allerdings ist mir dessen Anwendung mit und ohne Autoit ein Rätzel (Beispielcode im verlinkten Thread hab ich gesehen).
Vielleicht könnte einer der Pro's dafür mal kurzgefasste Anleitung über die Vorgehensweise posten?
Wichtig ist das man nach meinem Wissen nicht die DNYDNS Adresse zur Linkstation vom selben Netzwerk aufrufen kann. Eigentlich auch sinnlos, da man ja sowieso einen direkten Zugriff hat. Haber ich habe schon öfters gelesen, das User/innen angeben, das sie auf Ihre DnyDNS Adresse nicht zugreifen können und es war fast immer der Grund, das sie am selben Netz waren und mit der DnyDNS Adresse die Verbindung testen wollten. Also das sollte man auf jeden Fall beachten.
So sinnlos finde ich das nicht! Schließlich erleichtert es das Testen eines FTP- oder Webservers ungemein.
Leider ist die Aussage für die meisten wohl richtig, da viele Router kein (nat.) Loopback können und somit die Anfrage wieder auf dem Router (oder sonstwo
) landet.
Bei Routern mit (nat.) Loopback-Unterstützung funktionierts aber auch aus dem eigenen Netzwerk.