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

Beiträge von DFPWare

  • GDI+ schnell??

    • DFPWare
    • 7. April 2011 um 21:24

    stimmt..
    weiß jemand wie ich das hinbekomme, dass man beide gleichzeitig bewegen kann?

  • GDI+ schnell??

    • DFPWare
    • 7. April 2011 um 20:51

    Das mit dem doppelten $msg ist bei copy paste ausversehen mitgekommen

    Mit zweimal auf den buffer zeichnen meinst du

    [autoit]

    _GDIPlus_GraphicsDrawImageRect($graphic, $bitmap,0,0,500,500)

    [/autoit]

    richtig? Das hab ich auch gedacht, aber wenn ich das lösche dann wird das grüne Quadrat nicht gezeichnet ?(

    AdlibRegister hab ich auch eingefügt

    Spoiler anzeigen

    #include <GdiPlus.au3>
    #include <GuiConstants.au3>
    #include <Misc.au3>

    Global $xg = 0
    Global $yg = 0
    Global $xb = 400
    Global $yb = 0

    OnAutoItExitRegister("_EXIT")

    _GDIPlus_Startup()

    $Gui = GUICreate("GDIPlus",500,500,100,100)

    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(500,500,$graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)

    $brushGruen = _GDIPlus_BrushCreateSolid(0xFF60CC3F)
    $brushWeiss = _GDIPlus_BrushCreateSolid(0xFF000000)
    $brushBlau = _GDIPlus_BrushCreateSolid(0xFF6677FF)

    GUISetState(@SW_SHOW)
    AdlibRegister("_zeichnen",50)

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case _IsPressed(25) And $xg >= 0
    $xg -= 1
    Case _IsPressed(26) And $yg >= 0
    $yg -= 1
    Case _IsPressed(27) And $xg <= 400
    $xg += 1
    Case _IsPressed(28) And $yg <= 400
    $yg += 1
    Case _IsPressed(41) And $xb >= 0
    $xb -= 1
    Case _IsPressed(57) And $yb >= 0
    $yb -= 1
    Case _IsPressed(44) And $xb <= 400
    $xb += 1
    Case _IsPressed(53) And $yb <= 400
    $yb += 1
    EndSelect
    WEnd

    Func _EXIT()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_Shutdown()
    EndFunc ;==>_EXIT

    Func _zeichnen()
    _GDIPlus_GraphicsFillRect($buffer,0,0,500,500,$brushWeiss)
    _GDIPlus_GraphicsFillRect($buffer,$xg,$yg,100,100,$brushGruen)
    _GDIPlus_GraphicsDrawImageRect($graphic, $bitmap,0,0,500,500)
    _GDIPlus_GraphicsFillRect($buffer,0,0,500,500,$brushWeiss)
    _GDIPlus_GraphicsFillRect($buffer,$xb,$yb,100,100,$brushBlau)
    _GDIPlus_GraphicsDrawImageRect($graphic, $bitmap,0,0,500,500)
    EndFunc


    Sorry aber es flackert immer noch und jetzt kann man nicht mehr beide gleichzeitig steuern, was vorher ging.

  • GDI+ schnell??

    • DFPWare
    • 7. April 2011 um 20:19

    Hey Leute
    alle meinen, dass GDI+ total schnell ist, aber irgendwie flackert das bei mir trotz Buffer-.-
    Hoffentlich könnt ihr mir helfen

    Spoiler anzeigen

    #include
    #include
    #include

    $xg = 0
    $yg = 0
    $xb = 400
    $yb = 0

    OnAutoItExitRegister("_EXIT")

    _GDIPlus_Startup()

    $Gui = GUICreate("GDIPlus",500,500,100,100)

    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(500,500,$graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)

    $brushGruen = _GDIPlus_BrushCreateSolid(0xFF60CC3F)
    $brushWeiss = _GDIPlus_BrushCreateSolid(0xFF000000)
    $brushBlau = _GDIPlus_BrushCreateSolid(0xFF6677FF)

    GUISetState(@SW_SHOW)

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case _IsPressed(25 ) And $xg >= 0
    $xg -= 2
    Case _IsPressed(26 ) And $yg >= 0
    $yg -= 2
    Case _IsPressed(27 ) And $xg <= 400
    $xg += 2
    Case _IsPressed(28 ) And $yg <= 400
    $yg += 2
    EndSelect
    _GDIPlus_GraphicsFillRect($buffer,0,0,500,500,$brushWeiss)
    _GDIPlus_GraphicsFillRect($buffer,$xg,$yg,100,100,$brushGruen)
    _GDIPlus_GraphicsDrawImageRect($graphic, $bitmap,0,0,500,500)

    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case _IsPressed(41) And $xb >= 0
    $xb -= 2
    Case _IsPressed(57) And $yb >= 0
    $yb -= 2
    Case _IsPressed(44) And $xb <= 400
    $xb += 2
    Case _IsPressed(53) And $yb <= 400
    $yb += 2
    EndSelect
    _GDIPlus_GraphicsFillRect($buffer,0,0,500,500,$brushWeiss)
    _GDIPlus_GraphicsFillRect($buffer,$xb,$yb,100,100,$brushBlau)
    _GDIPlus_GraphicsDrawImageRect($graphic, $bitmap,0,0,500,500)
    WEnd

    Func _EXIT()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_Shutdown()EndFunc ;==>_EXIT

  • GDIPlus

    • DFPWare
    • 7. April 2011 um 19:09

    okay danke ;)

  • GDIPlus

    • DFPWare
    • 7. April 2011 um 18:21

    Hey Leute

    ich suche schon längere Zeit ein wirklich ausführliches GDIPlus Tutorial.

    Ich hab Ubuntus schon durch und auch alles verstanden, aber das ist ja nicht soooo umfangreich.

    Ich will hier zum Beispiel einfach eine schwarze Fläche auf die Gui zeichnen lassen, ohne Bild, aber er macht gar nix :

    Spoiler anzeigen
    [autoit]

    #include <GdiPlus.au3>
    #include <GuiConstants.au3>
    OnAutoItExitRegister("_EXIT")
    _GDIPlus_Startup()
    $Gui = GUICreate("GDIPlus",500,500,100,100)
    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    _GDIPlus_GraphicsDrawRect($graphic,10,10,100,100)
    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd
    Func _EXIT()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_Shutdown()
    EndFunc ;==>_EXIT

    [/autoit]
  • Pixelanordnung/kombination suchen

    • DFPWare
    • 6. April 2011 um 17:30

    achso ;)

    ich hab mich schon gewundert, weil mit pixelsearch sucht man ja die genaue Farbe und keine ähnlichen oder sowas...

  • Dodge the bullet (GDI+)

    • DFPWare
    • 6. April 2011 um 17:21

    Hey das kenn ich doch ;)

    Cooles Skript, man merkt dass du dich mit GDI+ wirklich gut auskennst, was man von mir nicht so behaupten kann :D

    Ich finds cool dass so ein tolles Skript in nichtmal 200 Zeilen passt :thumbup:

    DFPWare

  • Pixelanordnung/kombination suchen

    • DFPWare
    • 6. April 2011 um 16:54

    Oscar :

    warum ist pixelsearch nicht sehr genau??

  • Hallo :)

    • DFPWare
    • 4. April 2011 um 19:55

    Hey Robin

    hertzlich willkommen im Forum, es würde mich aber interessieren, ob du schonmal mit einer anderen software programmiert hast, wie zB c++/vb/java/usw...

    Wir machen zum Beispiel im Moment in Informatik BlueJ und wie es aussieht werd ich die nächsten 2 1/2 Jahre auch nix anderes mehr in der Schule sehen :wacko:

    Wenn nicht, dann guck mal in meine Signatur;) da sind ein paar Tutorials zu schleifen verlinkt :D

  • Neue Betrugsmasche: Ermittlungsverfahren..

    • DFPWare
    • 4. April 2011 um 19:39

    Als ich 12 war bin ich fast mal auf sowas reingefallen.

    War komischerweise auch von Sony Music Entertainment oder sonem zeugs:D

    Ich hatte echt schiss :wacko:

    Aber dann hab ich mich doch entschieden einfach nen bisschen zu warten, weil, wenn sie wirklich was wollten dann würden sie nen Brief schicken.

    Ich sollte überweisen :D

    omg mit 12 wusste ich doch noch nich wie man überweist und deswegen hätt ich es eh meinen Eltern sagen müssen und dann wär es mir wirklich lieber gewesen, wenn meine Eltern den Brief bekommen hätten :D

  • Japan - Atomare Katastrophe

    • DFPWare
    • 4. April 2011 um 19:23
    Zitat

    aber 2012 soll die Wlet ja eh untergehen, von dem her.


    Das ist schon der Anfang.... ;(

  • Sortieralgorithmen

    • DFPWare
    • 3. April 2011 um 20:17

    ja die Verfahren hab ich hier her :)

  • Sortieralgorithmen

    • DFPWare
    • 3. April 2011 um 13:46

    SelectSort ist fast das selbe wie ShakerSort, der einzige Unterschied ist, dass bei SelectSort der Array immer von vorne nach hinten durchsucht wird und auch immer nur das letzte Feld "abgeschnitten" wird. Bei ShakerSort wird der Array erst von vorne nach hinten durchsucht, dann wird das letzte Fled "abgeschnitten", dann wird von hinten nach vorne durchsucht und dann das erste Feld "abgeschnitten", usw...

    Ich habe ShakerSort umgesetzt, weil ich es irgendwie interessant finde.

    Wenn ich lust hab dann werd ich SelectSort wohl auch noch umsetzen, nur um Geschwindigkeitseinsparungen feststellen zu können :D

    DFPWare

  • [APRIL APRIL] Autoit Version 4 nächste Woche [APRIL APRIL]

    • DFPWare
    • 3. April 2011 um 13:40

    Also ich fänd die von Andy beschriebene Geschichte echt toll:D

    das sollte man den AutoIt machern mal als Vorschlag schicken :D

  • Sortieralgorithmen

    • DFPWare
    • 3. April 2011 um 13:13

    Hey Leute

    ich habe mal ein paar einfache Sortieralgorithmen in AutoIt umgesetzt.

    Ich hoffe das kann jemand brauchen ;)

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Dim $Feld[1000]
    Dim $neuesFeld[1000]
    For $i = 0 To 999 Step 1
    $Feld[$i] = Random(1, 1000, 1)
    Next
    _ArrayDisplay($Feld)
    $timer = TimerInit()
    $neuesFeld = _InsertSort($Feld)
    $zeit = TimerDiff($timer)
    MsgBox(0,"Zeit","Der Algorithmus hat "&$zeit&" Millisekunden gebraucht!")
    _ArrayDisplay($neuesFeld)

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

    #cs
    _BubbleSort (3539 msek bei 1000 Zahlen)
    Es wird immer von vorne bis hinten durchsucht, ob das nächste Feld größer oder kleiner ist, als das untersuchte.
    Wenn das nächste Feld kleiner ist, dann werden die Daten der beiden Felder ausgetauscht.
    Der Array wird um eins weniger - fach untersucht, wie er Felder hat, also bei 100 Feldern 99 - mal.
    Danach ist der Array sortiert
    #ce
    Func _BubbleSort($iArray)
    If UBound($iArray,0) <> 1 Then
    MsgBox(0,"ERROR","Sie haben keinen eindimensionalen Array angegeben")
    Exit
    EndIf
    For $k = 0 To UBound($iArray,1)
    For $i = 0 to (UBound($iArray,1)-2)
    If $iArray[$i] > $iArray[$i + 1] Then
    _ArraySwap($iArray[$i + 1], $iArray[$i])
    EndIf
    Next
    Next
    Return $iArray
    EndFunc

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

    #cs
    _RippleSort (3498 msek bei 1000 Zahlen)
    RippleSort ist fast identisch mit BubbleSort, jedoch ist die Abbruchbedingung anders.
    Bei BubbleSort wird ein 100-Feld-Array 99-mal durgegangen, egal ob es noch etwas zum sortieren gibt.
    Bei RippleSort wird ein Array solange durchsucht, bis es nichts mehr auszutauschen gibt.
    #ce
    Func _RippleSort($iArray)
    If UBound($iArray,0) <> 1 Then
    MsgBox(0,"ERROR","Sie haben keinen eindimensionalen Array angegeben")
    Exit
    EndIf
    Do
    $kontrolle = False
    For $i = 0 to (UBound($iArray,1)-2)
    If $iArray[$i] > $iArray[$i + 1] Then
    _ArraySwap($iArray[$i + 1], $iArray[$i])
    $kontrolle = True
    EndIf
    Next
    Until $kontrolle == False
    Return $iArray
    EndFunc

    #cs
    _ShakerSort (2606 msek bei 1000 Zahlen)
    Der Array wird zu Erst von vorne nach hinten durchsucht und ausgetauscht, wie bei BubbleSort, aber nur einmal.
    Dann wird der Array von hinten nach vorne durchsucht und ausgetauscht.
    Danach ist die größte Zahl hinten und die kleinste Zahl vorne.
    Dadurch müssen das erste und letzte Feld nicht mehr untersucht werden.
    Das wird wiederholt und dann sind die beiden größten Zahlen hinten und die beiden kleinsten Zahlen vorne.
    Das wird solange wiederholt, bis sich die beiden Fronten in der Mitte treffen.
    Dann ist der Array sortiert.
    Ein ähnliches Verfahren namens Selectsort funktioniert genauso, jedoch wird immer von vorne nach hinten durchsucht und immer nur das letzte Feld abgeschnitten.
    #ce
    Func _ShakerSort($iArray)
    If UBound($iArray,0) <> 1 Then
    MsgBox(0,"ERROR","Sie haben keinen eindimensionalen Array angegeben")
    Exit
    EndIf
    $links = 0
    $rechts = UBound($iArray,1)-1
    Do
    $iArray = _ShakerLinks($iArray,$links,$rechts)
    $links += 1
    $iArray = _ShakerRechts($iArray,$links,$rechts)
    $rechts -= 1
    Until $links > $rechts
    Return $iArray
    EndFunc
    Func _ShakerLinks($lArray,$l,$r)
    For $i=$l To $r-1 Step 1
    If $lArray[$i] > $lArray[$i + 1] Then
    _ArraySwap($lArray[$i + 1], $lArray[$i])
    EndIf
    Next
    Return $lArray
    EndFunc
    Func _ShakerRechts($rArray,$l,$r)
    For $i = $r-1 To $l Step -1
    If $rArray[$i] < $rArray[$i - 1] Then
    _ArraySwap($rArray[$i - 1], $rArray[$i])
    EndIf
    Next
    Return $rArray
    EndFunc

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

    #cs
    _InsertSort (2572 msek bei 1000 Zahlen)
    es wird von vorne bis hinten durchgeguckt, ob die aktuell untersuchte Zahl weiter vorne einsortiert werden kann.
    Wenn also $i zum Beispiel bei 5 ist, dann wird geprüft, ob sich die zahl zwischen 3 und 4, 2 und 3, 1 und 2, oder 0 und 1 einsortieren lässt.
    #ce
    Func _InsertSort($iArray)
    For $i = 0 To (UBound($iArray,1)-2) Step 1
    For $j = $i To 0 Step -1
    If $iArray[$j] > $iArray[$j+1] Then
    _ArraySwap($iArray[$j],$iArray[$j+1])
    EndIf
    Next
    Next
    Return $iArray
    EndFunc
    #cs
    Anschaulich:
    _BubbleSort 3539 msek
    _RippleSort 3498 msek
    _ShakerSort 2606 msek
    _InsertSort 2572 msek
    #ce

    [/autoit]

    PS: Ja ich kenne _ArraySort :D

  • ShakerSort

    • DFPWare
    • 3. April 2011 um 12:55

    habs doch selber hinbekommen ;)

    für alle die es interessiert hier das Skript:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Dim $Feld[100]
    Dim $neuesFeld[100]
    For $i = 0 To 99 Step 1
    $Feld[$i] = Random(1, 1000, 1)
    Next
    _ArrayDisplay($Feld)
    $neuesFeld = _ShakerSort($Feld)
    _ArrayDisplay($neuesFeld)
    #cs
    _ShakerSort
    Der Array wird zu Erst von vorne nach hinten durchsucht und ausgetauscht, wie bei BubbleSort, aber nur einmal.
    Dann wird der Array von hinten nach vorne durchsucht und ausgetauscht.
    Danach ist die größte Zahl hinten und die kleinste Zahl vorne.
    Dadurch müssen das erste und letzte Feld nicht mehr untersucht werden.
    Das wird wiederholt und dann sind die beiden größten Zahlen hinten und die beiden kleinsten Zahlen vorne.
    Das wird solange wiederholt, bis sich die beiden Fronten in der Mitte treffen.
    Dann ist der Array sortiert.
    Ein ähnliches Verfahren namens Selectsort funktioniert genauso, jedoch wird immer von vorne nach hinten durchsucht und immer nur das letzte Feld abgeschnitten.
    #ce
    Func _ShakerSort($iArray)
    If UBound($iArray,0) <> 1 Then
    MsgBox(0,"ERROR","Sie haben keinen eindimensionalen Array angegeben")
    Exit
    EndIf
    $links = 0
    $rechts = UBound($iArray,1)-1
    Do
    $iArray = _ShakerLinks($iArray,$links,$rechts)
    $links += 1
    $iArray = _ShakerRechts($iArray,$links,$rechts)
    $rechts -= 1
    Until $links > $rechts
    Return $iArray
    EndFunc
    Func _ShakerLinks($lArray,$l,$r)
    For $i=$l To $r-1 Step 1
    If $lArray[$i] > $lArray[$i + 1] Then
    _ArraySwap($lArray[$i + 1], $lArray[$i])
    EndIf
    Next
    Return $lArray
    EndFunc
    Func _ShakerRechts($rArray,$l,$r)
    For $i = $r-1 To $l Step -1
    If $rArray[$i] < $rArray[$i - 1] Then
    _ArraySwap($rArray[$i - 1], $rArray[$i])
    EndIf
    Next
    Return $rArray
    EndFunc

    [/autoit]
  • ShakerSort

    • DFPWare
    • 3. April 2011 um 10:24

    Hast du das Skript ausgeführt?

    Bei mir wird das Programm schon vor Beendigung von _ShakerLinks beendet.

    Code
    C:\Users\XXXXXX\Desktop\AutoIt v3 Script (neu).au3 (42) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.: 
    If $lArray[$i] > $lArray[$i + 1] Then 
    If $lArray[$i] > ^ ERROR 
    ->10:18:13 AutoIT3.exe ended.rc:1 
    >Exit code: 1 Time: 2.752

    1.) die For-Schleife läuft nicht bis 100, sie läuft bis $r-1, $r = $rechts aus _ShakerSort, $rechts ist Ubound($iArray), Ubound($iArray) ist 100;

    ==>> sie läuft bis 100-1 ==>> 99

    2.) stimmt es müsste so heißen:

    [autoit]

    $links += 1

    [/autoit]

    3.) wenn ich das richtig verstanden hab dann ist das damit ^ behoben


    Es funktioniert aber immer noch nicht, der Fehler bleibt der Selbe

  • ShakerSort

    • DFPWare
    • 2. April 2011 um 20:41

    Hey Leute

    ich versuche gerade einen Sortieralgorithmus namens Shakersort zu schreiben, aber ich bekomme einen Fehler wo ich keinen sehe.

    ich hoffe ihr könnt mir helfen.

    Danke

    DFPWare


    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Dim $Feld[100]
    Dim $neuesFeld[100]
    For $i = 0 To 99 Step 1
    $Feld[$i] = Random(1, 1000, 1)
    Next
    _ArrayDisplay($Feld)
    $neuesFeld = _ShakerSort($Feld)
    _ArrayDisplay($neuesFeld)
    #cs
    _ShakerSort
    Der Array wird zu Erst von vorne nach hinten durchsucht und ausgetauscht, wie bei BubbleSort, aber nur einmal.
    Dann wird der Array von hinten nach vorne durchsucht und ausgetauscht.
    Danach ist die größte Zahl hinten und die kleinste Zahl vorne.
    Dadurch müssen das erste und letzte Feld nicht mehr untersucht werden.
    Das wird wiederholt und dann sind die beiden größten Zahlen hinten und die beiden kleinsten Zahlen vorne.
    Das wird solange wiederholt, bis sich die beiden Fronten in der Mitte treffen.
    Dann ist der Array sortiert.
    Ein ähnliches Verfahren namens Selectsort funktioniert genauso, jedoch wird immer von vorne nach hinten durchsucht und immer nur das letzte Feld abgeschnitten.
    #ce
    Func _ShakerSort($iArray)
    If UBound($iArray,0) <> 1 Then
    MsgBox(0,"ERROR","Sie haben keinen eindimensionalen Array angegeben")
    Exit
    EndIf
    $links = 0
    $rechts = UBound($iArray,1)
    Do
    $iArray = _ShakerLinks($iArray,$links,$rechts)
    $links -= 1
    $iArray = _ShakerRechts($iArray,$links,$rechts)
    $rechts -= 1
    Until $links > $rechts
    EndFunc
    Func _ShakerLinks($lArray,$l,$r)
    For $i=$l To $r-1 Step 1
    ConsoleWrite($i&@CRLF)
    If $lArray[$i] > $lArray[$i + 1] Then
    _ArraySwap($lArray[$i + 1], $lArray[$i])
    EndIf
    Next
    Return $lArray
    EndFunc
    Func _ShakerRechts($rArray,$l,$r)
    For $i = $r-1 To $l Step 1
    If $rArray[$i] < $rArray[$i - 1] Then
    _ArraySwap($rArray[$i - 1], $rArray[$i])
    EndIf
    Next
    Return $rArray
    EndFunc

    [/autoit]
  • _ArraySort

    • DFPWare
    • 2. April 2011 um 18:16

    stimmt so macht das alles Sinn.

    Danke

    aber gibt es da nicht eine einfache Funktion, die mir einfach jede Spalte sortiert?

  • _ArraySort

    • DFPWare
    • 2. April 2011 um 16:36

    Hey Leute

    ich habe mal eine Frage zu meinem Lottoprogramm...

    Es sollen Zufallszahlen erzeugt werden und dann sortiert wieder ausgegeben werden.

    Die Funktion _ArraySort macht mir jedoch Probleme.

    Es wird immer nur die letzte Spalte des Arrays sortiert.

    Ich hoffe Ihr könnt mir helfen.

    Danke

    DFPWare

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <Array.au3>
    GUICreate("LOTTO",320,480)
    GUICtrlCreateLabel("Lotto [1 aus 49]",120,30)
    GUICtrlCreateLabel("Anzahl der Tipps",10,80)
    $input = GUICtrlCreateInput("",100,80,100)
    $lotto = GUICtrlCreateButton("Tipp",210,78,100)
    $liste = GUICtrlCreateListView("A|B|C|D|E|F",10,110,300,300)
    $beenden = GUICtrlCreateButton("Beenden",120,430,100)
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $lotto
    $anzahl = GUICtrlRead($input)
    Dim $array[6][$anzahl]
    For $i = 0 To $anzahl-1 Step 1
    For $p = 0 To 5 Step 1
    $array[$p][$i] = Random(1,49,1)
    Next
    If $array[0][$i] <> $array[1][$i] And $array[0][$i] <> $array[2][$i] And $array[0][$i] <> $array[3][$i] And $array[0][$i] <> $array[4][$i] And $array[0][$i] <> $array[5][$i] And $array[1][$i] <> $array[2][$i] And $array[1][$i] <> $array[3][$i] And $array[1][$i] <> $array[4][$i] And $array[1][$i] <> $array[5][$i] And $array[2][$i] <> $array[3][$i] And $array[2][$i] <> $array[4][$i] And $array[2][$i] <> $array[5][$i] And $array[3][$i] <> $array[4][$i] And $array[3][$i] <> $array[5][$i] And $array[4][$i] <> $array[5][$i] Then ContinueLoop
    Else
    $i -= 1
    EndIf
    Next
    Case $beenden
    _ArrayDisplay($array)
    For $k = 0 To $anzahl-1 Step 1
    _ArraySort($array,0,0,0,$k)
    Next
    _ArrayDisplay($array)
    EndSwitch
    WEnd

    [/autoit]

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™