Schleife die vom Benutzer bestimmt wird

  • Hey Leute,
    Ich habe mal eine Frage. Ist es möglich eine Schleife zu schreiben in der der Benutzer durch Eingabe bestimmen kann wie oft etwas geschehen soll. Z.B er gibt ein 10 und
    nun soll die Schleife 10 mal durchlaufen werden.
    ;) Danke schonmal

    Euer clonker

    Einmal editiert, zuletzt von clonker (17. Februar 2010 um 18:09)

  • Sorry ich habe gerade die For...To...Step...Next schleife in der Hilfe gesehen  :whistling:
    So ganz verstanden habe ich die aber noch nicht könnte die mir einer erklären ?

    sorry und danke

    clonker

    ganz nach dem Motto erst denken dann posten :)

  • Hoffe es hilft dir.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Form1", 291, 88, 677, 392)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    $Button1 = GUICtrlCreateButton("start", 176, 24, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_start") ;ruft die Funktion _start beim Buttonklick auf
    $Input1 = GUICtrlCreateInput("", 32, 24, 121, 21) ;hier erfolgt die Usereingabe
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _start()
    For $i = 0 To GUICtrlRead($Input1) - 1 ; von $i=0 bis $i = Eingabe aus dem Inputfeld -1 (-1 weil der Zähler bei 0 anfängt und nicht bei 1)
    MsgBox(0, "", "So oft wie der Benutzer es will") ;mach etwas
    Next ;nächster Durchlauf
    EndFunc ;==>_start

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

    Func _exit()
    Exit
    EndFunc ;==>_exit

    [/autoit]
  • Hey danke für die schnelle Antwort ...
    ich hab ne Frage so ganz klappt es bei mir noch nicht ...

    [autoit]

    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    Case $nMsg = $lineargo
    $Anzahl = GUICtrlRead ( $lineart )
    $linearfile = FileOpen ( "Lineareswachstum.txt", 1 )
    $linearJahr = 0
    $aenderunglinear = GUICtrlRead($lineard)
    $linearbestand = GUICtrlRead($linearb)
    $lineartmax = GUICtrlRead($lineart)
    For $i = 0 To $linearmax - 1
    $linearJahr = $linearJahr += 1
    $linearbestand = $linearbestand += $aenderunglinear
    FileWriteLine($file, $linearJahr"-----------"$linearbestand)
    Next
    EndSelect

    [/autoit]


    Also $lineargo ist der button
    Wenn der geklickt wird soll er die jahre von 1 - Eingabe Abtragen wie ne Tabelle
    und dazu einen Bestand. Dieser ändert sich mit jeder Zeiteinheit um die $änderunglinerar.
    Da nach einem Jahr der neue bestand + $änderung sine muss habe ich das so gelöst. Er hat jetzt nur irgendein problem mit meiner schleife und ich weißt nicht warum ?(

    Danke vorab

    clonker

    (dies ist natürlich nur ein Ausschnitt)

  • [autoit]

    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    Case $nMsg = $lineargo
    $Anzahl = GUICtrlRead ( $lineart )
    $linearfile = FileOpen ( "Lineareswachstum.txt", 1 )
    $linearJahr = 0
    $aenderunglinear = GUICtrlRead($lineard)
    $linearbestand = GUICtrlRead($linearb)
    $lineartmax = GUICtrlRead($lineart)
    For $i = 0 To $linearmax - 1 ; SOLLTE $lineartmax HEIßEN
    $linearJahr = $linearJahr += 1
    $linearbestand = $linearbestand += $aenderunglinear
    FileWriteLine($file, $linearJahr"-----------"$linearbestand)
    Next
    EndSelect

    [/autoit]

    Achte mal auf die rechtschreibung ;)

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • C:\Users\Jonas\Desktop\AutoIt v3 Script (neu) (4).au3 (70) : ==> Illegal text at the end of statement (one statement per line).:
    $linearJahr = $linearJahr += 1
    $linearJahr = $linearJahr ^ ERROR
    >Exit code: 1 Time: 5.024

    Was hat das jetzt genau zu sagen ?

  • Muss einfach nur

    [autoit]

    $linearJahr += 1

    [/autoit]

    heißen :D

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • hey danke das hätte ich schonmal jetzt weiß ich nur nicht mehr mit dem hier weiter

    C:\Users\Jonas\Desktop\AutoIt v3 Script (neu) (4).au3 (72) : ==> Error in expression.:
    FileWriteLine($file, $linearjahr "-----------" $linearbestand)
    FileWriteLine($file, ^ ERROR
    >Exit code: 1 Time: 4.364


    Script :

    [autoit]

    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    Case $nMsg = $lineargo
    $Anzahl = GUICtrlRead ( $lineart )
    $file = FileOpen ( "Lineareswachstum.txt", 1 )
    $aenderunglinear = GUICtrlRead($lineard)
    $linearbestand = GUICtrlRead($linearb)
    $linearmax = GUICtrlRead($lineart)
    $linearjahr = 0
    For $i = 0 To $linearmax - 1 ; SOLLTE $lineartmax HEIßEN
    $linearjahr = $linearjahr + 1
    $linearbestand = $linearbestand + $aenderunglinear
    FileWriteLine($file, $linearjahr "-----------" $linearbestand)
    Next

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

    EndSelect

    [/autoit]


    clonker

    P.S. Wahrscheinlich sind meine Fragen für euch ziemlich nervig aber probiere mich erst mal einzufinden ;)

  • Muss

    [autoit]

    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    Case $nMsg = $lineargo
    $Anzahl = GUICtrlRead ( $lineart )
    $file = FileOpen ( "Lineareswachstum.txt", 1 )
    $aenderunglinear = GUICtrlRead($lineard)
    $linearbestand = GUICtrlRead($linearb)
    $linearmax = GUICtrlRead($lineart)
    $linearjahr = 0
    For $i = 0 To $linearmax - 1 ; SOLLTE $lineartmax HEIßEN
    $linearjahr = $linearjahr + 1
    $linearbestand = $linearbestand + $aenderunglinear
    FileWriteLine($file, $linearjahr & "-----------" & $linearbestand) ; Die &-Zeichen verbinden die Strings zu einem String
    Next

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

    EndSelect

    [/autoit]

    heißen :rolleyes:
    P.S. Fragen sind nicht schlimm, dafür sind wir ja hier :D

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Danke Leute für die schnelle UND gute Hilfe :thumbup: . Ohne euch wär ich da nicht weitergekommen
    und oft hapert es an Kleinigkeiten. Falls es euch interessiert. Dies wird ein Programm zur berechnung verschiedener Wachstümer.
    -Lineares Wachstum
    -Exponentielles Wachstum
    -Begrenztes Wachstum
    -Logistisches Wachstum

    Wenn es fertig ist werde ich es posten. Vielleicht kann es ja irgendjemand gebrauchen. ;)
    Ich mache es für die Schule.

    Eine Frage hab ich noch.

    Wie ihr ja im Script seht erstelle ich einfach die Datei lineares Wachstum.txt irgendwo.
    Kann ich wenn ich den button drücke den Speicherdialog drücken so das der User Name und Ort bestimmen kann ?

    lG

    clonker