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. Oscar

Beiträge von Oscar

  • Suche Workaround RegExp Repeating Character Pattern Limit

    • Oscar
    • 30. Januar 2014 um 17:51

    Dann teil doch bei jedem Komma

    [autoit]

    "\[.+?\]"

    [/autoit]


    und setze die einzelnen Teilstücke nach belieben wieder zusammen.

  • Script pausiert einfach so: Gründe / Lösung

    • Oscar
    • 30. Januar 2014 um 12:21

    Normalerweise pausiert das Script sobald man auf das TrayIcon klickt.
    Verhindern kann man das, indem man entweder:

    [autoit]

    Opt('TrayAutoPause', 0)

    [/autoit]


    einfügt (keine automatische Pause mehr, aber das TrayIcon ist noch vorhanden) oder gleich:

    [autoit]

    #NoTrayIcon

    [/autoit]


    einfügen und das TrayIcon komplett verstecken.

  • HEX-Wert zu DEC-Wert mit Vorzeichen

    • Oscar
    • 30. Januar 2014 um 05:20

    In AutoIt gibt es keine Deklaration der Datentypen. "Int" kann zwar vorzeichenbehaftet sein, aber nur 32 oder 64 Bit.
    Du brauchst aber 16 Bit signed. Da bleibt dann nur selbst umwandeln.

  • HEX-Wert zu DEC-Wert mit Vorzeichen

    • Oscar
    • 29. Januar 2014 um 18:38

    Einfach bei Werten größer als 32768 den Wert 65536 abziehen, dann hast Du ein Integerwert mit Vorzeichen:

    [autoit]


    $hex = 0xFFFC
    If $hex > 2 ^ 15 Then $hex -= 2 ^ 16
    ConsoleWrite(Int($hex) & @CR)

    [/autoit]
  • *.avi Datei abspielen

    • Oscar
    • 28. Januar 2014 um 17:49

    Ich hattte mal ein Script erstellt, mit dem man den Codec (und einige andere Infos) zu einer AVI-Datei erhält.
    Einfach das ZIP-Archiv aus dem Anhang irgendwohin entpacken und das Script starten.

  • copyfile Frage

    • Oscar
    • 27. Januar 2014 um 18:06

    Ich möchte ja mal anmerken, dass der AppData-Ordner im Verzeichnis "Users" liegt und nicht im Verzeichnis "User".
    Manchmal scheitert es an einem Buchstaben. ;)

  • Maximale Zeichenlänge für ein Input

    • Oscar
    • 26. Januar 2014 um 18:01

    GUICtrlSetLimit ist das Zauberwort. :)

  • Dekompilieren für Eigenbedarf nicht mehr möglich? Alternative?

    • Oscar
    • 23. Januar 2014 um 17:03

    Um Dein Script zu debuggen, kopierst Du einfach alle Funktionen aus Deinen benutzen Includes in Dein Script (oder eine temporäre Version davon) und startest dann das Script.
    Dann hast Du die genaue Zeile, in der der Fehler auftritt.
    Also, wenn Du die Zeile

    [autoit]

    #include <OutlookEX.au3>

    [/autoit]


    in Deinem Script stehen hast, dann öffnest Du die UDF, kopierst alle Zeilen daraus und fügst diese Zeilen anstelle der Includezeile ein.
    Das machst Du mit allen Includes und Du hast das komplette Script.

  • Frage zu Inputbox

    • Oscar
    • 23. Januar 2014 um 16:51

    Das ginge auch praktisch, mit Hilfe der Timer-UDF (der Timer wird nicht von einer MsgBox oder InputBox angehalten).
    Aber ehrlich gesagt, ist es den Aufwand nicht wert. Eine kleine GUI lässt sich mit demselben "Aufwand" erstellen und man kann so nebenbei auch noch viel mehr beeinflussen.

  • Doppelklick auf einen GUICtrlCreateLabel

    • Oscar
    • 23. Januar 2014 um 16:46

    War eigentlich keine große Mühe. Die "Doppelklick-Funktion" hatte ich auch schonmal gebraucht. Von daher war das meiste eher Copy & Paste. ^^
    Generell bevorzuge ich aber den OnEventMode. Mir gefällt es alles in Funktionen auszulagern (IMHO übersichtlicher), anstatt eine MsgLoop-Schleife zu verwenden.
    Mal ganz abgesehen davon, dass es mit GUIGetMsg auch diverse Probleme gibt.

  • Doppelklick auf einen GUICtrlCreateLabel

    • Oscar
    • 22. Januar 2014 um 18:47

    Hier mal Dein Script im OnEventMode (da gibt es das Problem mit GUIGetMsg nicht):

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt('GUIOnEventMode', 1)

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

    $winhandle = GUICreate("DESKTOP2", 300, 100, 200, 400)
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_DoppelklickLabel')
    GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseWindow')

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

    $ja = GUICtrlCreateLabel("Ja", 20, 20, 30, 15)
    GUISetState()
    Global $iTimer = TimerInit()

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

    WinWaitClose($winhandle)
    Exit

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

    Func _CloseWindow()
    GUIDelete($winhandle)
    EndFunc ;==>_CloseWindow

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

    Func _DoppelklickLabel()
    Local $aCursorInfo = GUIGetCursorInfo($winhandle)
    If @error Then Return
    If $aCursorInfo[4] <> $ja Then Return
    Local $iDoubleClickSpeed = RegRead('HKCU\Control Panel\Mouse', 'DoubleClickSpeed')
    If TimerDiff($iTimer) < $iDoubleClickSpeed Then MsgBox(0, "Titel", "Text")
    $iTimer = TimerInit()
    EndFunc ;==>_DoppelklickLabel

    [/autoit]
  • XOR Verschlüsselung

    • Oscar
    • 22. Januar 2014 um 18:26

    Die Funktion ist fehlerhaft und Du hast beim Aufruf auch noch Fehler gemacht. So funktioniert es:

    Spoiler anzeigen
    [autoit]


    $sText = InputBox("Daten", "")
    $sKey = InputBox("Passwort", "")
    $sResult = _XORCrypt($sText, $sKey)
    ConsoleWrite('verschlüsselt: ' & $sResult & @CR)
    $sResult = _XORCrypt($sResult, $sKey)
    ConsoleWrite('entschlüsselt: ' & $sResult & @CR)

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

    Func _XORCrypt($sText, $sKey)
    Local $sResult = ''
    For $i = 1 To StringLen($sText)
    $sResult &= Chr(BitXOR(Asc(StringMid($sText, $i, 1)), Asc(StringMid($sKey, Mod($i - 1, StringLen($sKey)) + 1, 1))))
    Next
    Return $sResult
    EndFunc ;==>_XORCrypt

    [/autoit]
  • [PHP] MySQLDatenbank in Dropdownmenü

    • Oscar
    • 22. Januar 2014 um 16:09

    [verschoben nach "Andere Programmiersprachen"]

  • Feuerrad

    • Oscar
    • 21. Januar 2014 um 05:14

    Das "entschärfen" der Zufallswerte habe ich bewusst so gemacht, weil es ja schon ein Spiel sein soll und nicht nur reine Glückssache.
    Hier geht es ja nicht darum, dass man irgendwelche Gewinne "ausgezahlt" bekommt. Es geht ja "nur" um Punkte.
    Und auch wenn es jetzt möglich ist, mehrmals hintereinander (ich habe schon 3 JACK's in einem Spiel geschafft) das gleiche Segment zu treffen, so ist die Anordnung (JACK und dahinter gleich NULL) doch schon sehr risikoreich.
    Es kam dann doch des öfteren vor, dass ich mit dem 10. Dreh keine Punkte mehr hatte. ^^

  • Feuerrad

    • Oscar
    • 20. Januar 2014 um 19:43

    So...die neue Version ist fertig (siehe Post#1).
    Anderer Zeiger, zusätzliche Sounds und die HiScore-Tabelle sind eingebaut. :)

  • FileGetSize Pfadlänge

    • Oscar
    • 19. Januar 2014 um 11:00

    Es könnte sein, dass die AutoIt-Befehle nicht komplett UNC-konform arbeiten. :S
    In dem Fall müsstest Du es mal mit den Befehlen der Windows-Commandozeile versuchen.

  • B-Day

    • Oscar
    • 19. Januar 2014 um 08:50

    Vielen Dank für die vielen netten Geburtstagswünsche!
    Ich habe einige schöne Geschenke bekommen: Der Hobit in 3D, Avatar in 3D, Der Weltraum in 3D und einen Bluray-Brenner für meinen Rechner. :)

  • Feuerrad

    • Oscar
    • 19. Januar 2014 um 08:45

    UEZ: Stimmt, die Farbe des Zeigers werde ich noch ändern. Und ja, das Drehrad ist selbst erstellt. Bei der Highscore-Tabelle bin ich gerade dabei. :)

  • Feuerrad

    • Oscar
    • 17. Januar 2014 um 19:23

    Das scheint mit $GUI_EVENT_PRIMARYDOWN und $GUI_EVENT_PRIMARYUP nicht zu klappen. Zumindest in dieser Konstellation nicht.
    Ich habe aber doch einen Workaround gefunden. Das wird in der kommenden Version (1.2) enthalten sein. Mir ist nur gerade noch etwas eingefallen, was ich noch einbauen kann, deshalb gibt es die nächste Version erst etwas später.
    Wen der Mehrfachklick stört, kann die Funktion "_StopPower" gegen diese hier austauschen:

    [autoit]


    Func _StopPower()
    If $iScoreCount > 9 Or $iPower = 0 Then
    AdlibUnRegister()
    Return
    EndIf
    Local $aInfo = GUIGetCursorInfo($hGui)
    If $aInfo[4] <> $idStart Then Return
    AdlibUnRegister()
    Btn_Drehen()
    EndFunc ;==>_StopPower

    [/autoit]
  • Feuerrad

    • Oscar
    • 17. Januar 2014 um 18:05

    Andy: Ich muss gestehen, dass ich einige Randomwerte eingebaut habe, um das drehen des Rades nicht so vorhersehbar zu machen. Im Prinzip simuliere ich damit einen "unrunden" Lauf des Rades. Das macht das Spiel etwas schwerer.

    Storyteller: Für das Problem mit dem Mehrfachklick auf den Button fällt mir im Moment keine Lösung ein. Kann man irgendwie einen Button-Event löschen? Jemand eine Idee?

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™