Schleife funktioniert nicht

  • Hi liebe Leute,

    ich versuche mich auch in autoit.

    Habe mich da bei einer Schleife festgefahren.

    Warum funktioniert das nicht?? Ich bitte um Hilfe.

    Danke.

    [autoit]


    #include
    local $Ortschaften[10] ;Liste der Ortschaften

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

    $Ortschaften[0] = "bucuresti"$Ortschaften[1] = "berlin"$Ortschaften[2] = "berlin"$Ortschaften[3] = "Hamburg, Germany"$Ortschaften[4] = "bucuresti"$Ortschaften[5] = "Paris, France"$Ortschaften[6] = "Istanbul, Turkey"$Ortschaften[7] = "Madrid, Spain"$Ortschaften[8] = "London, United Kingdom"$Ortschaften[9] = "Perth, Australia"
    ;~ While True

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

    $rows = UBound($Ortschaften)

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

    MsgBox(4096,"Anzahl der Datensätze", $rows)
    For $i = 0 To UBound($Ortschaften) - 1

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

    MsgBox(0,"si: ",$i)
    MsgBox(0,"Folgende Ortschaft wird ausgewertet: ",$Ortschaften[$i])
    $url = "http://www.wunderground.com/cgi-bin/findweather/getForecast?query="&$Ortschaften[$i] MsgBox(0,"Aktuelle url: ",$url)

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

    $ordnername = "\"& $Ortschaften[$i] & ".html"
    MsgBox(0,"Ordnername ",$ordnername)
    Local $Ortschaften = InetGet($url, @ScriptDir & $ordnername, 1,1)
    Next

    [/autoit]


    Vielen Dank im Voraus.

    Richard

  • Tja gute Frage.
    Können wir auch nicht einschätzen da wir ja nicht wissen was eigentlich passieren soll.

    2 Dinge sind mir zumindestens aufgefallen:

    • "#include" - ohne Dateiangabe.
    • Local $Ortschaften = InetGet($url, @ScriptDir & $ordnername, 1,1) - damit überschreibst du dein Array $Ortschaften welches du oben so mühsam zusammengebastelt hast.


    Kleiner Tipp am Rande: Arrays kann man so etwas komfortabler mit Werten vorbelegen:

    [autoit]

    Global $Ortschaften[10] = ["bucuresti", "berlin", "berlin", "Hamburg, Germany", "bucuresti", "Paris, France", "Istanbul, Turkey", "Madrid, Spain", "London, United Kingdom", "Perth, Australia"]

    [/autoit]
  • hi,
    mist, AspirinJunkie war schneller als ich ^^

    Spoiler anzeigen
    [autoit]

    ;#include hier muß natürlich auch die einzubindende datei stehen, sonst geht's nicht
    ;siehe Hilfe..
    local $Ortschaften[10] ;Liste der Ortschaften

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

    $Ortschaften[0] = "bucuresti"
    $Ortschaften[1] = "berlin"
    $Ortschaften[2] = "berlin"
    $Ortschaften[3] = "Hamburg, Germany"
    $Ortschaften[4] = "bucuresti"
    $Ortschaften[5] = "Paris, France"
    $Ortschaften[6] = "Istanbul, Turkey"
    $Ortschaften[7] = "Madrid, Spain"
    $Ortschaften[8] = "London, United Kingdom"
    $Ortschaften[9] = "Perth, Australia"
    ;~ While True

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

    $rows = UBound($Ortschaften)

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

    MsgBox(4096,"Anzahl der Datensätze", $rows)
    For $i = 0 To $rows - 1
    MsgBox(0, "si: ", $i)
    MsgBox(0, "Folgende Ortschaft wird ausgewertet: ", $Ortschaften[$i])
    $url = "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=" &$Ortschaften[$i]
    MsgBox(0, "Aktuelle url: ", $url)
    $ordnername = "\" & $Ortschaften[$i] & ".html"
    MsgBox(0, "Ordnername ", $ordnername)
    Local $Ortschaft = InetGet($url, @ScriptDir & $ordnername, 1, 1)
    Next

    [/autoit]


    ..ich hab dein Skript soweit es ging unverändert gelassen, aber so läuft es wenigstens..
    In der Hilfe-Datei kannst du dich ja mal schlau machen, warum das jetzt geht..
    s.AspirinJunkie
    Eins noch: Selbst unter FreeBasic kann man mehrere Befehle nur in eine Programmzeile schreiben, wenn die einzelnen Befehle durch ':' getrennt werden. In AutoIt geht es AFAIK nicht!
    Probier's halt
    Viel Spaß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

  • Hi Aspirin,

    Das ist der Hammer wie schnell du mir geholfen hast:))

    ich möchte Webseiten einfach lokal abspeichern, um danach die Wetterdaten zu entnehmen und weiter zu verarbeiten.

    Da gibt es eine Seite wo ich mir diese Daten abgreifen kann.

    Nun habe ich es hinbekommen, zumindest den ersten Schritt.

    [autoit]


    #include

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

    Global $Ortschaften[10] = ["bucuresti", "berlin", "berlin", "Hamburg, Germany", "bucuresti", "Paris, France", "Istanbul, Turkey", "Madrid, Spain", "London, United Kingdom", "Perth, Australia"]

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

    $rows = UBound($Ortschaften)

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

    MsgBox(4096,"Anzahl der Datensätze", $rows)
    For $i = 0 To UBound($Ortschaften) - 1

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

    MsgBox(0,"si: ",$i)
    MsgBox(0,"Folgende Ortschaft wird ausgewertet: ",$Ortschaften[$i])
    $url = "http://www.wunderground.com/cgi-bin/findweather/getForecast?query="&$Ortschaften[$i] MsgBox(0,"Aktuelle url: ",$url)

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

    $ordnername = "\"& $Ortschaften[$i] & ".html"
    MsgBox(0,"Ordnername ",$ordnername)

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

    ;~ Local $Ortschaften = InetGet($url, @ScriptDir & $ordnername, 1,1)
    InetGet($url, @ScriptDir & $ordnername, 1,1)
    Next

    [/autoit]


    Viele Grüße

    Rici

  • hmm.. ich kann leider nicht sehr viel helfen aber du darfst nicht nur einfach
    #include
    hinschreiben sondern z.b.
    #include <GuiConstantsEx.au3>

    und ich glaub du darfst in deinen array so wie in der mitte von diesem thread bis jetzt auch nicht die ortschaften zusammen schreiben..
    ich weiß es nicht so ganz genau über den arrays weil ich mich noch nicht damit auseinander gesetzt hab.

    Gruß
    Fabi