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

Beiträge von funkey

  • GUI bewegen

    • funkey
    • 30. März 2009 um 20:37

    @Sweet Lucia: Nichts zu danken, L3viathan2142 hatte die Lösung ja auch schon vor mir gepostet.

    Greek: Das mach ich nur aus Bequemlichkeit so, wenn es schnell gehen soll ;) . Bei Labels verwende ich dann auch immer den Style 0x201 um den Text vertikal und horizontal zu zentrieren. Manche 'Sachen kann man sich eben leicht merken und sie gehen dann auch noch schneller (zu schreiben). Beim Ausführen kann ich mir nicht vorstellen, dass es einen Geschwindigkeitsunterschied gibt.

    RR04: Ohne Erklärung wird diese Funktion hier wohl niemand nutzen ;)

  • GUI bewegen

    • funkey
    • 30. März 2009 um 17:45
    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    GUICreate('POPUP', 400, 400, -1, -1, $WS_POPUP)
    GUICtrlCreateLabel("a", 0, 0, 400, 400, -1, $GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

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

    GUISetState()

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

    Do
    Sleep(20)
    Until GUIGetMsg() = -3

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


    Edit: Zu spät ;)

  • µit - März

    • funkey
    • 28. März 2009 um 16:29
    Zitat von K1773R

    wer macht eig alles noch mit?


    Ich bin noch dabei. Ich möchte nur gerne, dass ein Datum fixiert wird, dass die Sudokus fixiert werden, und dass die Testschnittstelle fixiert wird. Dann arbeite ich gezielt darauf hin, und dann weiß ich dann auch, ob ich mein Skript noch verbessern muss oder nicht.

  • existenz eines IE-Ojektes feststellen

    • funkey
    • 27. März 2009 um 12:50
    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $test = _IECreate("www.google.de")
    $hwnd = _IEPropertyGet($test, 'hwnd')

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

    Do
    Sleep(20)
    Until Not WinExists($hwnd)

    [/autoit]
  • _StringBetween?

    • funkey
    • 27. März 2009 um 10:41

    Da ich gesehen habe, dass bei einer anderen IP-Adresse auch andere Informationen (mehr oder weniger Zeilen) angezeigt werden, habe ich mich nun auch die Zeilen unter den gesuchten orientiert, da diese einmalig vorkommen. Hoffe, dass nun immer die richtigen Infos zurückgegeben werden.

    Stilgar: Ich weiß, dass bei meiner Methode dein Firefox zu kurz kommt. :P

    Spoiler anzeigen
    [autoit]

    #include <Inet.au3>
    #include <IE.au3>

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

    Local $Verbindung, $Land
    $IP = _GetIP()
    ;~ $IP = '78.48.141.24'

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

    $oIE = _IECreate('http://who-is.de/whois.cgi?domain='&$IP, 0, 0)
    $html = _IEBodyReadHTML($oIE)
    _IEQuit($oIE)
    $ahtml = StringSplit($html, @CR)
    For $i = 1 To UBound($ahtml) -1
    If StringInStr($ahtml[$i], 'country:') Then $Verbindung = StringTrimLeft($ahtml[$i-1], 16)
    If StringInStr($ahtml[$i], 'phone:') Then $Land = StringTrimLeft($ahtml[$i-1], 16)
    Next

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

    MsgBox(0,"",'Verbindung: '&$Verbindung&@CRLF&'Land: '&$Land)

    [/autoit]
  • _StringBetween?

    • funkey
    • 27. März 2009 um 10:22

    So z.B.

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $oIE = _IECreate('http://who-is.de/whois.cgi?domain=78.48.141.24', 0, 0)
    $html = _IEBodyReadHTML($oIE)
    $ahtml = StringSplit($html, @CR)
    MsgBox(0,"",$ahtml[31]&@CRLF&$ahtml[45])

    [/autoit]


    Edit: Hab grad gesehen, dass sich die Informationen bei einer anderen IP-Adresse verschieben, da dort mehr oder weniger Zeilen angegeben werden können, sorry.

  • Rangliste für Minispiel

    • funkey
    • 27. März 2009 um 00:24

    Hab's jetzt mit _Arraydisplay gemacht. Du kannst dir eine eigene Gui dafür machen.

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <GuiConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <Misc.au3>
    #include <Array.au3>
    ;
    $dll = DllOpen ("User32.dll")
    ;
    $Main = GUICreate ("Master of Click", 200, 230, 540, 350)
    GUISetBkColor (0x00FFFF)
    GUISetState (@SW_SHOW)
    ;
    GUICtrlCreateLabel ("Teste dein Können!", 8, 10, 300, 30)
    GUICtrlSetFont (-1, 16, 400, 4, "Comic Sans MS")
    GUICtrlCreateLabel ('Drücke "START" um zu starten.', 5, 70, 300)
    GUICtrlSetFont (-1, 10, 400, 4, "Comic Sans MS")
    $Button = GUICtrlCreateButton ("START", 10, 97, 80, 40)
    GUICtrlSetFont (-1, 12, 400, "Courier")
    $Combo = GUICtrlCreateCombo ("", 100, 110, 90)
    GUICtrlSetData (-1, "R. Maustaste|L. Maustaste|Leertaste|Enter|Strg", "L. Maustaste")
    GUICtrlCreateLabel ("Du hast", 12, 173, 60, 20)
    $Label = GUICtrlCreateLabel ("", 57, 170, 50, 20, $SS_SUNKEN)
    GUICtrlCreateLabel ("Sek. gebraucht!", 112, 173, 100, 20)
    GUICtrlCreateGroup ("Deine Zeit:", 5, 145, 190, 60)
    $Menu = GUICtrlCreateMenu ("Datei")
    $MenuItem1 = GUICtrlCreateMenuItem ("Clear", $menu)
    $MenuItem2 = GUICtrlCreateMenuItem ("", $Menu)
    $MenuItem3 = GUICtrlCreateMenuItem ("Highscores", $Menu)
    $MenuItem4 = GUICtrlCreateMenuItem ("Exit", $Menu)
    ;
    While 1
    $msg = GUIGetMsg ()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $Button
    GUICtrlSetState ($Button, $GUI_DISABLE)
    GUICtrlSetState ($Combo, $GUI_DISABLE)
    If MsgBox (4+32, "Bereit", "Bist du bereit?") = 6 Then
    GUICtrlSetData ($Label, "")
    $ComboRead = GUICtrlRead ($Combo)
    If $ComboRead = "R. Maustaste" Then
    $Click = "02"
    ElseIf $ComboRead = "L. Maustaste" Then
    $Click = "01"
    ElseIf $ComboRead = "Leertaste" Then
    $Click = "20"
    ElseIf $ComboRead = "Enter" Then
    $Click = "0D"
    ElseIf $ComboRead = "Strg" Then
    $Click = "11"
    EndIf
    If MsgBox (1+64, "Aufgabe", "Schaffe 30 Klicks in max. 3.00 Sekunden!" & @CRLF & "Fange an, wenn du bereit bist.") = 1 Then
    MsgBox (48, "LOS", "Mit OK gehts los")
    Beep (500, 50)
    $i = 0
    $beginn = TimerInit ()
    Do
    If _IsPressed ($Click, $dll) Then
    $i = $i +1
    Do
    $tmp = GUIGetMsg()
    Until $tmp = _IsPressed ($Click, $dll)
    EndIf
    Until $i = 30
    $End = TimerDiff ($beginn)
    Beep (500, 50)
    $Round = Round ($End, -1)
    $ToSec = Execute ($Round / 1000)
    GUICtrlSetdata ($Label, " " & $ToSec)
    Sleep (500)
    GUICtrlSetState ($Button, $GUI_ENABLE)
    GUICtrlSetState ($Combo, $GUI_ENABLE)
    If $ToSec < 3 Then
    Beep (400, 150)
    Sleep (25)
    Beep (400, 150)
    Sleep (25)
    Beep (400, 150)
    Sleep (25)
    Beep (600, 150)
    Sleep (125)
    Beep (400, 150)
    Sleep (25)
    Beep (600, 450)
    MsgBox (64, "Geschafft", "Du hast es geschafft." & @CRLF & "Deine Zeit: " & $ToSec)
    _WriteHighScore($ToSec, GUICtrlRead ($Combo))
    Else
    Beep (400, 150)
    Sleep (100)
    Beep (300, 150)
    Sleep (100)
    Beep (200, 600)
    MsgBox (64, "Verloren", "Leider nicht geschafft." & @CRLF & "Deine Zeit: " & $ToSec)
    EndIf
    Else
    Sleep (500)
    GUICtrlSetState ($Button, $GUI_ENABLE)
    GUICtrlSetState ($Combo, $GUI_ENABLE)
    EndIf
    Else
    Sleep (500)
    GUICtrlSetState ($Button, $GUI_ENABLE)
    GUICtrlSetState ($Combo, $GUI_ENABLE)
    EndIf
    Case $msg = $MenuItem1
    GUICtrlSetData ($Label, "")
    Case $msg = $MenuItem3
    _ShowHighScore()
    Case $msg = $MenuItem4
    Exit
    EndSelect
    WEnd
    ;
    DllClose ($dll)

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

    Func _WriteHighScore($iZeit, $iModus)
    $fHighScore = FileOpen('Highscore.txt', 1)
    FileWriteLine($fHighScore, InputBox('Highscore', 'Gib deinen Namen ein', 'Name') & ';' & $iModus & ';' & $iZeit)
    FileClose($fHighScore)
    EndFunc

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

    Func _ShowHighScore()
    Local $aFile, $aFile3
    Local $aHighscore[_FileCountLines('Highscore.txt')][3]
    _FileReadToArray('Highscore.txt', $aFile)
    For $i = 1 To $aFile[0]
    $aFile3 = StringSplit($aFile[$i], ';', 2)
    For $j = 0 To 2
    $aHighscore[$i-1][$j] = $aFile3[$j]
    Next
    Next
    _ArraySort($aHighscore, 0, 0, 0, 2)
    _ArrayDisplay($aHighscore, 'Highscores', 9)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Rangliste für Minispiel

    • funkey
    • 27. März 2009 um 00:01

    OK, ich bastle dir was in dein Skript.

  • Rangliste für Minispiel

    • funkey
    • 26. März 2009 um 23:54

    Noch einfacher geht doch gar nicht, schau her

    [autoit]

    #include <Array.au3>

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

    Local $aHighscore[5][2] = [ _
    ['Franz' , 20], _
    ['Klaus' , 17], _
    ['Christoph' , 37], _
    ['Michael' , 7], _
    ['Gottfried' , 22]]

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

    _ArraySort($aHighscore, 1, 0, 0, 1)
    _ArrayDisplay($aHighscore)

    [/autoit]
  • Rangliste für Minispiel

    • funkey
    • 26. März 2009 um 23:43

    Ich würde das mit _ArraySort versuchen.

  • WindowHandle abfragen, wenn ich mit der Maus auf ein Fenster klicke

    • funkey
    • 26. März 2009 um 10:40

    Zum Beispiel so:

    [autoit]

    HotKeySet('h', '_GetHandle')
    HotKeySet('q', '_Exit')

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

    While 1
    Sleep(10000)
    WEnd

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

    Func _GetHandle()
    Local $handle = WinGetHandle("", "")
    MsgBox (64, 'Fensterinfo', WinGetTitle($handle)&@CRLF&'Handle: ' &$handle)
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]

    Das Bot-Forum ist geschlossen, da wir hier keine Bots unterstützen! Dorthin werden nur die Bot-Anfragen verschoben, damit keiner mehr darauf antworten kann.
    Lies dir mal die Forenregeln durch!

  • "RunAs" und ausführen als Administrator funktioniert nicht

    • funkey
    • 26. März 2009 um 10:07
    [autoit]

    Local $UserName = "sa_test"
    Local $Password = "TestPasswort"
    Local $programm = "flashplayer.exe"

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

    $test = RunAs($UserName, @ComputerName, $Password, 0, $programm, @ScriptDir)
    MsgBox(0, $programm, $test)

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Text in der GUI

    • funkey
    • 26. März 2009 um 09:41

    Das?

    [autoit]

    GUICtrlCreateLabel

    [/autoit]
  • der_doc meine meinung für inkompetenz

    • funkey
    • 25. März 2009 um 21:54

    Ich will nur sagen, dass ich voll und ganz hinter den Entscheidungen der Mods und der Administratoren stehe. Ich hoffe nur, dass bald auch der letzte begreifen wird, dass wir keine Bots und Ähnliches unterstützen. Aber das wird wohl nur ein Wunschtraum bleiben.

  • Grenzen Bit-Operationen für signed 32Bit-Integer

    • funkey
    • 25. März 2009 um 21:34

    Der_Doc: Da hab ich auch mitgemacht bei dem Wettbewerb. Mein Skript war sogar das drittschnellste. ;)

    Ich habs jetzt so gelöst, aber eigentlich hatte ich gedacht, dass man die Bitoperationen bis 2³² durchführen kann, habe mich wohl getäuscht.

    Spoiler anzeigen
    [autoit]

    Local $Bin = ''

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

    Local $Zahl32 = -1
    ;~ Local $Zahl32 = 2147483647

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

    For $i = 1 To 32
    $Bin &= _GetBit32($Zahl32, $i)
    Next
    MsgBox(0, $Zahl32, $Bin)

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

    Func _GetBit32($iZahl, $iBit) ;für Doppelworte
    Local $1, $2, $3, $4
    Local $Bits = _Int2Bits32($iZahl)
    $1 = StringLeft($Bits, 8)
    $2 = StringTrimLeft(StringLeft($Bits, 16), 8)
    $3 = StringTrimRight(StringRight($Bits, 16), 8)
    $4 = StringRight($Bits, 8)
    $Bits = StringTrimRight($4&$3&$2&$1, $iBit - 1)
    If $Bits = "" Then Return 0
    Return StringRight($Bits, 1)
    EndFunc

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

    Func _Int2Bits32($iZahl)
    If $iZahl > 2147483647 Then Return SetError(1, 0, 0)
    Local $Zahl = $iZahl, $Ergebnis = ""
    If $iZahl < 0 Then $Zahl = 2147483648 + $iZahl
    Do
    $Ergebnis = BitAND($Zahl, 1) & $Ergebnis
    $Zahl = BitShift($Zahl, 1)
    Until $Zahl = 0
    $Ergebnis = StringFormat('%032s', $Ergebnis)
    If $iZahl < 0 Then $Ergebnis = '1' & StringTrimLeft($Ergebnis, 1)
    Return $Ergebnis
    EndFunc

    [/autoit]
  • Nach Abbruch von FileOpenDialog

    • funkey
    • 25. März 2009 um 21:19

    So?

    [autoit]

    $Test = FileOpenDialog("Test", @ScriptDir, 'Alle (*.*)')
    If Not @error Then
    MsgBox(0, "", $Test)
    ; Mach was...
    Else
    MsgBox(0, "", 'Abgebrochen')
    ; Mach nichts...
    EndIf

    [/autoit]
  • Zwei voneinander unabhängige Radiobuttons

    • funkey
    • 25. März 2009 um 21:13

    Du brauchst Gruppen

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 275, 115, 193, 125)
    $group1 = GUICtrlCreateGroup('Browser', 5, 10, 100, 100)
    $Radio1 = GUICtrlCreateRadio("Browser1", 8, 30, 80, 21)
    $Radio2 = GUICtrlCreateRadio("Browser2", 8, 50, 80, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    $group2 = GUICtrlCreateGroup('Ausflösung', 120, 10, 120, 100)
    $Radio3 = GUICtrlCreateRadio("Auflösung1", 148, 30, 80, 21)
    $Radio4 = GUICtrlCreateRadio("Auflösung2", 148, 50, 80, 21)
    $Radio5 = GUICtrlCreateRadio("Auflösung3", 148, 70, 80, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

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

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Grenzen Bit-Operationen für signed 32Bit-Integer

    • funkey
    • 25. März 2009 um 11:43

    Hallo!

    Ich benötige Bitoperationen im Bereich von -2147483648 bis 2147483647. Demnach müsste ich mit Werten bis maximal 4294967295 rechnen können.
    Das funktioniert allerdings nicht mehr. Weiß einer wie man mit negativen Werten oder mit Werten über 2147483647 Bit-Operationen durchführen kann?

    Spoiler anzeigen
    [autoit]

    Local $Bin = ''
    Local $Zahl8 = -128
    Local $Zahl16 = -32768

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

    ;~ Local $Zahl32 = -2147483648
    Local $Zahl32 = 2147483647

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

    For $i = 1 To 8
    $Bin &= _GetBit8($Zahl8, $i)
    Next
    MsgBox(0, $Zahl8, $Bin)

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

    $Bin = ''
    For $i = 1 To 16
    $Bin &= _GetBit16($Zahl16, $i)
    Next
    MsgBox(0, $Zahl16, $Bin)

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

    $Bin = ''
    For $i = 1 To 32
    $Bin &= _GetBit32($Zahl32, $i)
    Next
    MsgBox(0, $Zahl32, $Bin)

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

    Func _GetBit32($iZahl, $iBit) ;für Doppelworte
    Local $1, $2, $3, $4
    Local $Bits = _Int2Bits32($iZahl)
    $1 = StringLeft($Bits, 8)
    $2 = StringTrimLeft(StringLeft($Bits, 16), 8)
    $3 = StringTrimRight(StringRight($Bits, 16), 8)
    $4 = StringRight($Bits, 8)
    $Bits = StringTrimRight($4&$3&$2&$1, $iBit - 1)
    If $Bits = "" Then Return 0
    Return StringRight($Bits, 1)
    EndFunc

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

    Func _Int2Bits32($iZahl)
    If $iZahl > 2147483647 Then Return SetError(1, 0, 0)
    Local $Zahl = $iZahl, $Ergebnis = ""
    If $iZahl < 0 Then $Zahl = 4294967296 + $iZahl
    Do
    $Ergebnis = BitAND($Zahl, 1) & $Ergebnis
    $Zahl = BitShift($Zahl, 1)
    Until $Zahl = 0
    Return StringFormat('%032s', $Ergebnis)
    EndFunc

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

    Func _GetBit16($iZahl, $iBit) ;für Worte
    Local $1, $2
    Local $Bits = _Int2Bits16($iZahl)
    $1 = StringLeft($Bits, 8)
    $2 = StringRight($Bits, 8)
    $Bits = StringTrimRight($2&$1, $iBit - 1)
    If $Bits = "" Then Return 0
    Return StringRight($Bits, 1)
    EndFunc

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

    Func _Int2Bits16($iZahl)
    If $iZahl > 32767 Then Return SetError(1, 0, 0)
    Local $Zahl = $iZahl, $Ergebnis = ""
    If $iZahl < 0 Then $Zahl = 65536 + $iZahl
    Do
    $Ergebnis = BitAND($Zahl, 1) & $Ergebnis
    $Zahl = BitShift($Zahl, 1)
    Until $Zahl = 0
    Return StringFormat('%016s', $Ergebnis)
    EndFunc

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

    Func _GetBit8($iZahl, $iBit) ;für ein Byte
    Local $Bits = _Int2Bits8($iZahl)
    $Bits = StringTrimRight($Bits, $iBit - 1)
    If $Bits = "" Then Return 0
    Return StringRight($Bits, 1)
    EndFunc

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

    Func _Int2Bits8($iZahl)
    If $iZahl > 127 Then Return SetError(1, 0, 0)
    Local $Zahl = $iZahl, $Ergebnis = ""
    If $iZahl < 0 Then $Zahl = 256 + $iZahl
    Do
    $Ergebnis = BitAND($Zahl, 1) & $Ergebnis
    $Zahl = BitShift($Zahl, 1)
    Until $Zahl = 0
    Return StringFormat('%008s', $Ergebnis)
    EndFunc

    [/autoit]
  • Text an Game senden mit GUI, send und variablen.....

    • funkey
    • 25. März 2009 um 00:37

    Du hast ja die Variable $kiss nirgends deklariert!

    [autoit]

    $kiss = GUICtrlRead($name)

    [/autoit]
  • Es leben die Admins :D

    • funkey
    • 25. März 2009 um 00:28

    :rofl:
    Das hab ich jetzt gleich meinen Admins geschickt :D

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™