1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. nuts

Beiträge von nuts

  • InputFelder berechnen

    • nuts
    • 18. Juni 2009 um 18:31

    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!

  • InputFelder berechnen

    • nuts
    • 18. Juni 2009 um 17:46
    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <Date.au3>
    ;---------------------------------;

    [/autoit] [autoit][/autoit] [autoit]

    #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)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $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---^------- ;

    [/autoit] [autoit][/autoit] [autoit]

    $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 --^------ ;

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _ADD()
    $stime = stringsplit(guictrlread($respawntime1), ":")
    $addhour = _DateAdd("h", $stime[1], GUICtrlRead($date1) & " "& GUICtrlRead($time1))
    $addminutes = _DateAdd("m", $stime[2], $addhour)
    return $addminutes
    endfunc

    [/autoit]

    Eine Lösung mit _Dateadd.

    Hab mich etwas drumrumgemogelt das Format des Datums in ein _Dateadd konformes umzuwandlen.
    Kannste dir ja noch anpassen.

  • InputFelder berechnen

    • nuts
    • 18. Juni 2009 um 17:17

    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)

  • InputFelder berechnen

    • nuts
    • 18. Juni 2009 um 17:06

    Zeile 75: sind zuviele Klammern.

    Sieht irgendwie wieder sehr Bot verdächtig aus.

    Bzw. Ich verstehe das Problem nicht, scheint bei mir zu laufen!

  • x- Zeichen vor und nach einem Text löschen, Frage zu Tray Menü und frage zum einmaligem Ausführen

    • nuts
    • 15. Juni 2009 um 17:45

    Was spricht (wie schon vorgeschlagen) gegen StringSplit?
    Dort einfach als Trennzeichen "-" eingeben.

  • in einer *.exe Programm mit Parametern ausführen

    • nuts
    • 12. Juni 2009 um 14:46
    [autoit]

    ShellExecute

    [/autoit]

    Damit gehts (s. Hilfe) ;)

  • Poker-Card-Machine (Game)

    • nuts
    • 8. Juni 2009 um 09:50

    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? :D

  • "Zahlenkette" ins richtige Format für _DateDiff() bringen

    • nuts
    • 7. Juni 2009 um 19:20

    Sehr cool - thx :thumbup:

  • Undecompilierbare Exe dateien..o.O

    • nuts
    • 6. Juni 2009 um 23:26

    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! :rolleyes:

  • "Zahlenkette" ins richtige Format für _DateDiff() bringen

    • nuts
    • 6. Juni 2009 um 23:18

    Danke an alle. :thumbup:

    Wird Zeit das ich mich intensiver mit den String-Funktionen befasse.

  • "Zahlenkette" ins richtige Format für _DateDiff() bringen

    • nuts
    • 6. Juni 2009 um 21:04

    Hey,

    ich habe mal wieder ein Problem ... :(

    Folgende "Zahlenkette" liegt vor

    Code
    20090607203500


    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.

    [/autoit]


    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

  • Frage zu Bugfix MehrfachCounter

    • nuts
    • 6. Juni 2009 um 12:42
    Spoiler anzeigen
    [autoit]


    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

    [/autoit]

    So würds schonmal gehen.
    Das geht aber noch besser, schließlich werden so immer alle Labels abgefragt.

  • Poker-Card-Machine (Game)

    • nuts
    • 6. Juni 2009 um 12:01

    Hey,

    die Regeln sind auch nicht richtig.
    Ich kenns in etwa so: http://de.wikipedia.org/wiki/Videopoker

    Ansonsten wie immer super gemacht. :thumbup:

  • Listview Count

    • nuts
    • 5. Juni 2009 um 21:34
    [autoit]


    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _Load()
    Case $Button2
    _pingitem()
    Case $Button3
    _pingall()
    Case $Button4
    _export()

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]

    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

    [/autoit][autoit][/autoit][autoit]

    Func _Countdown()
    $iCounter -= 1
    EndFunc ;==>_Countdown

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Listview Count

    • nuts
    • 5. Juni 2009 um 21:19

    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.

  • Case CurrentSelected_ListViewItem usw.

    • nuts
    • 5. Juni 2009 um 21:09

    Sowas?

    [autoit]


    ;
    ;
    GUIRegisterMsg($WM_NOTIFY, "_DoubleClickOnListView")
    ;
    ;

    [/autoit][autoit][/autoit][autoit]

    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

    [/autoit]

    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!

  • LAN Verbindung deaktivieren !

    • nuts
    • 5. Juni 2009 um 17:43

    Hehe jetzt weiss ich warums bei mir nicht klappt.
    Devcon hätte gerne ein @ vor der ID :rolleyes: - thx der Thread brachte mir viel Erleuchtung :thumbup:

  • LAN Verbindung deaktivieren !

    • nuts
    • 5. Juni 2009 um 17:26
    [autoit]


    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

    [/autoit]


    Im Prinzip ists das hier?

    Devcon.exe ziehen, ID der Netzwerkkarte ermitteln, los gehts?

  • LAN Verbindung deaktivieren !

    • nuts
    • 5. Juni 2009 um 17:17

    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?

  • Downloader für Homeserver (NAS System)

    • nuts
    • 5. Juni 2009 um 13:05
    Zitat von Alina

    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.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™