Europäische Union

  • Guten Abend Community,

    ich habe vor einen Lern Script für die Europäische Union zu scripten.
    Dabei muss man immer von dem Mitgliedsstaat die Hauptstadt angeben.
    Und nun komme ich nicht mehr weiter.

    P.S.: Dies ist mein erster Versuch mit den Arrays :/

    Spoiler anzeigen
    [autoit]

    ; EU Staaten und deren Hauptstädte
    ; Lern script für das Fach ,,Politik"

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

    Dim $Land[27]

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

    $Land[0] = "Belgien"
    $Land[1] = "Deutschland"
    $Land[2] = "Frankreich"
    $Land[3] = "Italien"
    $Land[4] = "Luxemburg"
    $Land[5] = "Niederlande"
    $Land[6] = "Dänemark"
    $Land[7] = "Irland"
    $Land[8] = "England"
    $Land[9] = "Griechenland"
    $Land[10] = "Protugal"
    $Land[11] = "Spanien"
    $Land[12] = "Finnland"
    $Land[13] = "Österreich"
    $Land[14] = "Schweden"
    $Land[15] = "Estland"
    $Land[16] = "Lettland"
    $Land[17] = "Litauen"
    $Land[18] = "Malta"
    $Land[19] = "Polen"
    $Land[20] = "Slowakei"
    $Land[21] = "Slowenien"
    $Land[22] = "Tschechien"
    $Land[23] = "Ungarn"
    $Land[24] = "Zypern"
    $Land[25] = "Bulgarien"
    $Land[26] = "Rumänien"

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

    Dim $Haupstadt[27]

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

    $Haupstadt[0] = "Brüssel"
    $Haupstadt[1] = "Berlin"
    $Haupstadt[2] = "Paris"
    $Haupstadt[3] = "Rom"
    $Haupstadt[4] = "Luxemburg"
    $Haupstadt[5] = "Amsterdam"
    $Haupstadt[6] = "Kopenhagen"
    $Haupstadt[7] = "Dublin"
    $Haupstadt[8] = "London"
    $Haupstadt[9] = "Athen"
    $Haupstadt[10] = "Lissabon"
    $Haupstadt[11] = "Madrid"
    $Haupstadt[12] = "Helsinki"
    $Haupstadt[13] = "Wien"
    $Haupstadt[14] = "Stockholm"
    $Haupstadt[15] = "Tallinn"
    $Haupstadt[16] = "Riga"
    $Haupstadt[17] = "Vilnius"
    $Haupstadt[18] = "Valletta"
    $Haupstadt[19] = "Warschau"
    $Haupstadt[20] = "Bratislava"
    $Haupstadt[21] = "Ljubljana"
    $Haupstadt[22] = "Prag"
    $Haupstadt[23] = "Budapest"
    $Haupstadt[24] = "Nikosia"
    $Haupstadt[25] = "Sofia"
    $Haupstadt[26] = "Bukarest"

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

    $nMsg = GUIGetMsg ()
    Switch $nMsg
    Case $Land[0] To $Land[26]
    $Eingabe = InputBox ("EU Städte + Hauptstädte","Was ist die Hauptstadt von " & $Land[0] & "?")
    If $Eingabe = $Haupstadt[0] Then
    MsgBox (0,"Richtig!","Die Hauptstadt von " & $Land[0] & " ist " & $Haupstadt[0] & "!")
    Else
    MsgBox (0,"Falsch","Die Hauptstadt von " & $Land[0] & " war nicht " & $Eingabe & @CRLF & @CRLF & "Die Hauptstadt von " & $Land[0] & " war " & $Haupstadt[0] & "!")
    EndIf
    EndSwitch

    [/autoit]

    Wie gesagt, er soll halt von $Land[0] bis $Land[26] immer diese Frage stellen, aber
    er stellt nur die von Belgien..

    Einmal editiert, zuletzt von cOraXx (7. Dezember 2010 um 22:11)

  • Spoiler anzeigen
    [autoit]

    ; EU Staaten und deren Hauptstädte
    ; Lern script für das Fach ,,Politik"

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

    Dim $Land[27]

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

    $Land[0] = "Belgien"
    $Land[1] = "Deutschland"
    $Land[2] = "Frankreich"
    $Land[3] = "Italien"
    $Land[4] = "Luxemburg"
    $Land[5] = "Niederlande"
    $Land[6] = "Dänemark"
    $Land[7] = "Irland"
    $Land[8] = "England"
    $Land[9] = "Griechenland"
    $Land[10] = "Protugal"
    $Land[11] = "Spanien"
    $Land[12] = "Finnland"
    $Land[13] = "Österreich"
    $Land[14] = "Schweden"
    $Land[15] = "Estland"
    $Land[16] = "Lettland"
    $Land[17] = "Litauen"
    $Land[18] = "Malta"
    $Land[19] = "Polen"
    $Land[20] = "Slowakei"
    $Land[21] = "Slowenien"
    $Land[22] = "Tschechien"
    $Land[23] = "Ungarn"
    $Land[24] = "Zypern"
    $Land[25] = "Bulgarien"
    $Land[26] = "Rumänien"

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

    Dim $Haupstadt[27]

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

    $Haupstadt[0] = "Brüssel"
    $Haupstadt[1] = "Berlin"
    $Haupstadt[2] = "Paris"
    $Haupstadt[3] = "Rom"
    $Haupstadt[4] = "Luxemburg"
    $Haupstadt[5] = "Amsterdam"
    $Haupstadt[6] = "Kopenhagen"
    $Haupstadt[7] = "Dublin"
    $Haupstadt[8] = "London"
    $Haupstadt[9] = "Athen"
    $Haupstadt[10] = "Lissabon"
    $Haupstadt[11] = "Madrid"
    $Haupstadt[12] = "Helsinki"
    $Haupstadt[13] = "Wien"
    $Haupstadt[14] = "Stockholm"
    $Haupstadt[15] = "Tallinn"
    $Haupstadt[16] = "Riga"
    $Haupstadt[17] = "Vilnius"
    $Haupstadt[18] = "Valletta"
    $Haupstadt[19] = "Warschau"
    $Haupstadt[20] = "Bratislava"
    $Haupstadt[21] = "Ljubljana"
    $Haupstadt[22] = "Prag"
    $Haupstadt[23] = "Budapest"
    $Haupstadt[24] = "Nikosia"
    $Haupstadt[25] = "Sofia"
    $Haupstadt[26] = "Bukarest"

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

    While 1
    $rand = Random(0, 26, 1)
    $Eingabe = InputBox("EU Städte + Hauptstädte", "Was ist die Hauptstadt von " & $Land[$rand] & "?")
    If $Eingabe = $Haupstadt[$rand] Then
    MsgBox(0, "Richtig!", "Die Hauptstadt von " & $Land[$rand] & " ist " & $Haupstadt[$rand] & "!")
    Else
    MsgBox(0, "Falsch", "Die Hauptstadt von " & $Land[$rand] & " war nicht " & $Eingabe & @CRLF & @CRLF & "Die Hauptstadt von " & $Land[$rand] & " war " & $Haupstadt[$rand] & "!")
    EndIf
    WEnd

    [/autoit]


    Du kannst du beiden Arrays auch in ein 2dArray zusammenfassen.

  • Du hast keine Gui und erst recht keine Gui-Controls, woher soll dann GuiGetMsg eine Nachricht erhalten.

    Wenn du nicht bereit bist die Hilfe durchzuarbeiten, dass du die Grundlagen verstehst, solltest du dir ein anderes Hobby suchen. Für diese Jahreszeit schlage ich Schlittschuhlaufen vor,

    mfg autoBert

  • Was ist an Random so schwer zu verstehen? Es generiert eine Zufallszahl....
    Kann es sein, dass du weder den Befehl GUIGetMsg, noch Switch verstehst?
    Und To scheinst du auch nicht zu verstehen... Ich glaub du solltest dir die genannten Befehle und Schlüsselwörter nochmal gründlichst in der Hilfe angucken.

    • Offizieller Beitrag

    Das schreit doch eigentlich nach Dictionary-Objekt. :D

    Spoiler anzeigen
    [autoit]

    $oCapitals = ObjCreate("Scripting.Dictionary")

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

    $oCapitals.Add("Belgien", "Brüssel")
    $oCapitals.Add("Deutschland", "Berlin")
    $oCapitals.Add("Frankreich", "Paris")
    $oCapitals.Add("Italien", "Rom")
    $oCapitals.Add("Luxemburg", "Luxemburg")
    $oCapitals.Add("Niederlande", "Amsterdam")
    $oCapitals.Add("Dänemark", "Kopenhagen")
    $oCapitals.Add("Irland", "Dublin")
    $oCapitals.Add("England", "London")
    $oCapitals.Add("Griechenland", "Athen")
    $oCapitals.Add("Protugal", "Lissabon")
    $oCapitals.Add("Spanien", "Madrid")
    $oCapitals.Add("Finnland", "Helsinki")
    $oCapitals.Add("Österreich", "Wien")
    $oCapitals.Add("Schweden", "Stockholm")
    $oCapitals.Add("Estland", "Tallinn")
    $oCapitals.Add("Lettland", "Riga")
    $oCapitals.Add("Litauen", "Vilnius")
    $oCapitals.Add("Malta", "Valletta")
    $oCapitals.Add("Polen", "Warschau")
    $oCapitals.Add("Slowakei", "Bratislava")
    $oCapitals.Add("Slowenien", "Ljubljana")
    $oCapitals.Add("Tschechien", "Prag")
    $oCapitals.Add("Ungarn", "Budapest")
    $oCapitals.Add("Zypern", "Nikosia")
    $oCapitals.Add("Bulgarien", "Sofia")
    $oCapitals.Add("Rumänien", "Bukarest")

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

    For $country In $oCapitals
    $Eingabe = InputBox ("EU Städte + Hauptstädte","Was ist die Hauptstadt von " & $country & "?")
    If @error Or $Eingabe = '' Then ExitLoop
    $capital = $oCapitals.Item($country)
    If $Eingabe = $capital Then
    MsgBox (0,"Richtig!","Die Hauptstadt von " & $country & " ist " & $capital & "!")
    Else
    MsgBox (0,"Falsch","Die Hauptstadt von " & $country & " war nicht " & $Eingabe & @CRLF & @CRLF & "Die Hauptstadt von " & $country & " war " & $capital & "!")
    EndIf
    Next

    [/autoit]
  • Wie kann ich den jetzt einstellen, das wenn man auf das X klickt, das er den Script schließt,
    also Exit..?

  • Spoiler anzeigen
    [autoit]

    ; EU Staaten und deren Hauptstädte
    ; Lern script für das Fach "Politik"

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

    Dim $Land[27] = [ _
    "Belgien", _
    "Deutschland", _
    "Frankreich", _
    "Italien", _
    "Luxemburg", _
    "Niederlande", _
    "Dänemark", _
    "Irland", _
    "England", _
    "Griechenland", _
    "Protugal", _
    "Spanien", _
    "Finnland", _
    "Österreich", _
    "Schweden", _
    "Estland", _
    "Lettland", _
    "Litauen", _
    "Malta", _
    "Polen", _
    "Slowakei", _
    "Slowenien", _
    "Tschechien", _
    "Ungarn", _
    "Zypern", _
    "Bulgarien", _
    "Rumänien"]

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

    Dim $Haupstadt[27] = [ _
    "Brüssel", _
    "Berlin", _
    "Paris", _
    "Rom", _
    "Luxemburg", _
    "Amsterdam", _
    "Kopenhagen", _
    "Dublin", _
    "London", _
    "Athen", _
    "Lissabon", _
    "Madrid", _
    "Helsinki", _
    "Wien", _
    "Stockholm", _
    "Tallinn", _
    "Riga", _
    "Vilnius", _
    "Valletta", _
    "Warschau", _
    "Bratislava", _
    "Ljubljana", _
    "Prag", _
    "Budapest", _
    "Nikosia", _
    "Sofia", _
    "Bukarest"]

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

    While 1
    $rand = Random(0, 26, 1)
    $Eingabe = InputBox("EU Städte + Hauptstädte", "Was ist die Hauptstadt von " & $Land[$rand] & "?")
    If @error = 1 Then ExitLoop
    If $Eingabe = $Haupstadt[$rand] Then
    MsgBox(0, "Richtig!", "Die Hauptstadt von " & $Land[$rand] & " ist " & $Haupstadt[$rand] & "!")
    Else
    MsgBox(0, "Falsch", "Die Hauptstadt von " & $Land[$rand] & " war nicht " & $Eingabe & @CRLF & @CRLF & "Die Hauptstadt von " & $Land[$rand] & " war " & $Haupstadt[$rand] & "!")
    EndIf
    WEnd

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Das schreit doch eigentlich nach Dictionary-Objekt.


    Na dann jetzt noch das Random mit einbauen... ;)

    Edit: Ok - doch nicht so umständlich wie ich erst dachte:

    Spoiler anzeigen
    [autoit]

    $iR = Random(0, $oCapitals.Count - 1)
    $aKeys = $oCapitals.Keys()
    If $oCapitals($aKeys[$iR]) = InputBox("Frage", "Hauptstadt von " & $aKeys[$iR] & " eingeben") Then
    MsgBox(0, "", "Richtig")
    Else
    MsgBox(0, "", "Falsch")
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von AspirinJunkie (7. Dezember 2010 um 23:37)