Zufall Script

  • Hallo Leute,

    Ich habe mich gefragt ob es eine möglichkeit gibt eine Zufalls Zahlen/Buchstaben Kombination zu generieren...

    Also das ich eine Zahlen/Buchstabenkombi zwischen 1 und 20 Zeichen bekomme also für das einfache verständniss ein kleines bsp.

    123JK2jhja

    AS23opo3hfASweq23

    Und so weiter ^^

    Frage Geht sowas überhaupt ?
    wenn ja wie ? ?(

    Einmal editiert, zuletzt von SionS (21. Mai 2011 um 14:14)

  • Hallo SionS,

    Hier ein einfaches Beispiel für den Umgang mit random und Schleifen:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    Global $iSpalte, $iZeile, $iZahlOderBuchstabe
    Global $aSuchArray[20][20] ;20 Zeilen und 20 Spalten
    For $iZeile = 0 To 19
    $iAbruch = Random(5,19,1) ; mindest. 6 Zeichen höchtens 20
    For $iSpalte = 0 To 19
    $iZahlOderBuchstabe = Random(0, 1, 1)
    If $iZahlOderBuchstabe Then
    $aSuchArray[$iZeile][$iSpalte] = Random(0, 9, 1) ;mit Zufallszahlen belegen
    Else
    $iGross = Random(0, 1, 1)
    If $iGross Then
    $aSuchArray[$iZeile][$iSpalte] = Chr(Random(65, 90, 1)) ;mit Zufallsbuchstaben belegen
    Else
    $aSuchArray[$iZeile][$iSpalte] = Chr(Random(97, 122, 1)) ;mit Zufallsbuchstaben belegen
    EndIf
    EndIf
    if $iSpalte = $iAbruch Then ExitLoop
    Next
    Next
    _ArrayDisplay($aSuchArray)

    [/autoit]

    mfg autoBert

  • Mh.. Das ist nicht so das was ich mir erhofft hatte..

    Danke Trozdem

    ich wollte eig. gesagt bekommen wie ich es anstelle das ich mit

    [autoit]

    Random
    ;und
    Chr(Random(97, 122, 1))

    [/autoit]


    eine Zahlen Buchstaben Kombie kombienieren kann. mein bisheriges script hat nix mit zufall zu tun es folgt einenm klaren schema das will ich nicht.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 543, 183, 245, 198)
    $Label1 = GUICtrlCreateLabel("Label1", 15, 15, 516, 17)
    $Input1 = GUICtrlCreateInput("Input1", 15, 45, 211, 21)
    $Button1 = GUICtrlCreateButton("KeyGen Go!", 240, 45, 91, 46, 0)
    $Button2 = GUICtrlCreateButton("Stop!", 345, 45, 91, 46, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    Case $Button1
    KeyGen()

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

    Case $Button2
    KeyGenStop()

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

    EndSwitch
    WEnd

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

    Func KeyGenStop()

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

    EndFunc

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

    Func KeyGen()

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

    While 1
    GUICtrlSetData($Label1, "Ihr Key: "& Random(1, 10, 1)& Chr(Random(97, 122, 1)) & Random(1, 9, 1))
    Sleep(700)

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

    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Hallo SionS,

    dann mach es so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Global $iSpalte, $iZeile, $iZahlOderBuchstabe, $iKlein

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

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 543, 183, 245, 198)
    $Label1 = GUICtrlCreateLabel("Label1", 15, 15, 516, 17)
    $Input1 = GUICtrlCreateInput("Input1", 15, 45, 211, 21)
    $Button1 = GUICtrlCreateButton("KeyGen Go!", 240, 45, 91, 46, 0)
    $Button2 = GUICtrlCreateButton("Stop!", 345, 45, 91, 46, 0)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    KeyGen()
    Case $Button2
    KeyGenStop()
    EndSwitch
    WEnd

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

    Func KeyGenStop()
    AdlibUnRegister("CreateKey")

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

    EndFunc ;==>KeyGenStop

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

    Func KeyGen()
    AdlibRegister("CreateKey")
    EndFunc ;==>KeyGen

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

    Func CreateKey()
    $iAbruch = Random(5, 19, 1) ; mindest. 6 Zeichen höchtens 20
    $sKey = ""
    For $iSpalte = 0 To 19
    $iZahlOderBuchstabe = Random(0, 3, 1) ;Buchstaben sollen häufiger vorkommen als Zahlen 1. Zahl muss 0 sein für FALSE je grösser die 2. Zahl desto wahrscheunlicher kommen Buchstaben
    If not $iZahlOderBuchstabe Then
    $sKey &= Random(0, 9, 1) ;Zufallszahl anhängen
    Else
    $iKlein = Random(0, 3, 1) ; Kleinbuchstaben sollen häufiger vorkommen 1. Zahl muss 0 sein für FALSE je grösser die 2. Zahl desto wahrscheunlicher kommen Kleibuchstaben
    If $iKlein Then
    $sKey &= Chr(Random(97, 122, 1)) ;mit Kleinbuchstabe anhängen
    Else
    $sKey &= Chr(Random(65, 90, 1)) ;mit Grossbuchstabe anhängen
    EndIf
    EndIf
    If $iSpalte = $iAbruch Then ExitLoop
    Next
    GUICtrlSetData($Input1,$sKey)
    EndFunc

    [/autoit]

    aus meinem vorhergehendem Skript abgeleitet und in deines eingebaut von den benötigten Funktionen war ja schon alles da bis auf Adlib-Funktionen und den Verketten-Operator.

    mfg autoBert

  • Danke an alle die so schnell geantwortet haben und ganz besonders an dich autoBert dein script habe ich gut verstanden und in mein programm mit eingebaut ein bisschen abgewandelt nartürlich aber es Funktioniert DANKE! :)