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

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • 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)