1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Windi

Beiträge von Windi

  • Hilfe bei Regex

    • Windi
    • 7. Dezember 2022 um 23:03
    Zitat von BugFix

    OK, das Erinnerungsvermögen nimmt manchmal unerwartet eine kleine Auszeit - aber nicht wirklich dramatisch. :rofl:

    Du wirst noch manchmal an meine Worte denken! :saint::)

  • Hilfe bei Regex

    • Windi
    • 7. Dezember 2022 um 23:02

    Vielen Dank für die ausführliche erläuterung.

    Dachte meine Version wäre eine stümperhafte.

    Bin jetzt aber ganz Stolz. :klatschen:

    Hab Stunden damit verbracht, mit den Befehlszeilenumbrüchen.

    Jetzt weiß ich was ich immer vergessen habe es waren die " am Ende jeder Zeile. ( _ ) das wusste ich! :)

    Zitat


    Ich hatte es so gemacht, geht auch, aber elend langsam,

    Hab es mit Stringsplit auseinander genommen und Zeilenweise in Excel eingefügt.

    Deine Funtionen sind der Hammer (weiß zwar nicht was das ganze Zeug bedeutet).

    Im Array fluschtschen sie in null Komma nix durch.

    Arbeite erst seit 2 Monaten mit Arrays.

    Nochmals Vielen Vielen Dank :klatschen:

  • Hilfe bei Regex

    • Windi
    • 7. Dezember 2022 um 16:27
    Zitat

    Je älter ich werde, desto mehr will ich noch (dazu-) lernen

    Glaube mir ich spreche aus Erfahrung:

    Du musst mindestens 40 % mehr dazu lernen.

    Denn durch das alter vergisst du wieder 60 % und es wird immer mehr. :(:(:(

    Noch mal eine Frage an die Expertenrunde?

    Wie baut man so eine Url zusammen?

    Ich hatte es so gemacht, geht auch, aber elend langsam, im Verhältnis von dem Script von AspirinJunkie


    Code
    Local $Geo =  "50.77677,7.08529:50.72258,7.37596"
    Local $MS = 80
    Global CONST $SAPIKEY_TOMTOM = "..."
    
    Global $url = ("https://api.tomtom.com/routing/1/calculateRoute/" & $Geo & "/json?maxAlternatives=3&language=de-DE&sectionType=traffic&routeType=fastest&traffic=true&avoid=unpavedRoads&travelMode=car&vehicleMaxSpeed=" & $MS & "&key=********")
    C
    #include "JSON_1.au3"
    #include <Array.au3>
    
    ; ANPASSEN!
    Global CONST $SAPIKEY_TOMTOM = "..."
    
    ; Koordinaten zu Adresse abfragen:
    $aKoordinaten = _tomtom_geocodeAdress("Wilnsdorf Hohe Roth 6")
    
    If @error Then ; Fehler
        MsgBox(48, "Fehler", "@error: " & @error & @CRLF & "@extended: " & @extended)
    Else ; Ergebnis anzeigen
        _ArrayDisplay($aKoordinaten)
    EndIf
    
    
    ; gibt die Koordinaten einer Adresse mit Hilfe der TomTom Geocode-Api zurück
    Func _tomtom_geocodeAdress($sAdresse, $sApiKey = $SAPIKEY_TOMTOM)
        ; URL zusammenbauen
        Local $sURL = StringFormat('https://api.tomtom.com/search/2/geocode/%s.json?key=%s', _URIEncode($sAdresse), $sApiKey)
    
        ; Abfrage senden und Ergebnis in Variable speichern:
        Local $sJSONReturn = InetRead($sURL)
        If @error Then Return SetError(1, @error, Null)
        $sJSONReturn = BinaryToString($sJSONReturn)
    
        ; JSON-String parsen:
        Local $oJSON = Json_Decode($sJSONReturn)
    
        ;  Lat und Lon aus Ergebnis extrahieren
        Local $fLat = Json_Get($oJSON, ".results[0].position.lat")
        If @error Then Return SetError(3, @error, Null)
        Local $fLon = Json_Get($oJSON, ".results[0].position.lon")
        If @error Then Return SetError(4, @error, Null)
    
        Local $aRet[2] = [ $fLat, $fLon]
        Return $aRet
    EndFunc
    
    ; Funktion um Adresse innerhalb der URI zu kodieren:
    Func _URIEncode($sData)
        ; Prog@ndy
        Local $aData = StringSplit(BinaryToString(StringToBinary($sData, 4), 1), "")
        Local $nChar
        $sData = ""
        For $i = 1 To $aData[0]
            $nChar = Asc($aData[$i])
            Switch $nChar
                Case 45, 46, 48 To 57, 65 To 90, 95, 97 To 122, 126
                    $sData &= $aData[$i]
                Case 32
                    $sData &= "+"
                Case Else
                    $sData &= "%" & Hex($nChar, 2)
            EndSwitch
        Next
        Return $sData
    EndFunc   ;==>_URIEncode
    Alles anzeigen

    Viele Grüße vom alten Mann

    der schon wieder die Hälfte vergessen hat

    Windi

  • Hilfe bei Regex

    • Windi
    • 6. Dezember 2022 um 16:18

    Hi @AspirinJunkie,

    Du bist echt der größte, hab gar nicht gewußt was du damit meinst.

    Es läuft alles perfekt.

    War ja sooo froh das du mir geholfen hast.

    Hab mal wieder gemerkt, dass ich noch sehr viel lernen muss.

    Aber auf Grund meines alters, wird dass in diesem Leben nichts mehr.

    Danke nochmal

    auch an die anderen.

    Gruß Windi

  • Hilfe bei Regex

    • Windi
    • 6. Dezember 2022 um 13:05

    Hab's jetzt so gemacht und es funktioniert.

    Wie gesagt die vom Webdriver mag es nicht.

    der anderen ist es egal.

    C
    #include "JSON.au3"
    #include "JSON_S.au3" ;Für Geokodierung
  • Hilfe bei Regex

    • Windi
    • 6. Dezember 2022 um 12:26

    Die Json vom Webdriver kann man nicht umbennen, die andere schon!

  • Hilfe bei Regex

    • Windi
    • 6. Dezember 2022 um 12:15

    Kann man es auch so machen?

    C
    #include <Json_1.au3>
    und
    #include <Json_2.au3>

    Oder geht das nicht. Werde es mal ausprobieren!

    Ich könnte auch am Anfang vom Script immer die entsprechende Datei in den include Ordner kopieren.

  • Hilfe bei Regex

    • Windi
    • 6. Dezember 2022 um 11:50

    Für das Script brauch ich den Webdriver nicht.

    Aber wenn die Geokodierung fertig ist muss ich mit dem Webdriver die Datei mit Mydrive an das Navi senden.

    Dazu brauch ich ihn, um die iframes zu steuern.

    Zitat von Musashi

    Was passiert denn, wenn Du das Skript von AspirinJunkie (Beitrag #20) ohne Änderungen (außer deinem Key) bei Dir laufen lässt ?

    Wie ich geschrieben habe mit der einen Json geht es mit der anderen nicht.

    und einmal kommt Fehlermeldung 1 und bei der anderen kommt beim Webdriver Meldung 2.


    Zitat von Musashi

    Der Webdriver verwendet eine andere JSON-UDF

    Das habe ich ja festgestellt!

    und deshalb habe ich mich gemeldet.

    Meine Frage?

    Gibt es vielleicht noch eine andere Version der Json für beide.

  • Hilfe bei Regex

    • Windi
    • 6. Dezember 2022 um 11:02

    Danke für die Rückmeldung.

    Es ist nur seltsam das der Webdrv mit der einen Json läuft und mit der anderen nicht.

    Und beim Script ist es umgekehrt.

    Deshalb vermute ich es muss an der Json liegen.

  • Hilfe bei Regex

    • Windi
    • 6. Dezember 2022 um 10:37

    Hi ich muss mich nochmal melden!

    Ich habe festgestellt dass ich mit der Json_1.au3 nicht das Script von AspirinJunkie ausführen kann und

    mit der Jason_2 nicht den Webdriver.

    Hier die Fehlermeldungen:


    Was mache ich falsch?


    Spoiler anzeigen


    JSON_1.au3                 JSON_2.au3

  • Hilfe bei Regex

    • Windi
    • 4. Dezember 2022 um 12:00

    Na super,

    bin halt Anfänger hab gedacht das muss alles über ein Browser laufen.

    Vielen Dank für deine Mühe und noch eine schöne Adventszeit.

    Gruß Windi

  • Hilfe bei Regex

    • Windi
    • 4. Dezember 2022 um 10:38

    Ok Danke,

    bin dabei.

    Versuche es in den Webdriver von Dan einzuarbeiten.

    Ich glaube, ich muß mal alles neu updaten.

    Hatte festgestellt, dass der webdriver nicht mehr lief wenn die Datei

    JSON_Dictionary.au3 eingebunden ist.

    Wie ist das eigentlich, laufen die alten Sripte noch nach dem Update, oder muss da was angepasst werden.

  • Hilfe bei Regex

    • Windi
    • 4. Dezember 2022 um 01:13

    OK Danke!

  • Hilfe bei Regex

    • Windi
    • 4. Dezember 2022 um 00:48

    Edit: heute

  • Hilfe bei Regex

    • Windi
    • 4. Dezember 2022 um 00:47

    Jetzt funktioniert es.

    Danke!

    Werde mich morgen mal drüber machen.

    Euch allen morgen einen schönen 2 Advent

    Gruß Windi

  • Hilfe bei Regex

    • Windi
    • 4. Dezember 2022 um 00:00

    Hab die neue Version runtergeladen.

    Jetzt kommt der Fehler:

    Code
    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\xx2\Desktop\Regex test.au3"    
    "C:\Users\xx2\Desktop\JSON.au3" (184) : ==> Variable subscript badly formatted.:
    Local $o_Current[]
    Local $o_Current[^ ERROR
    >Exit code: 1    Time: 0.3685
  • Hilfe bei Regex

    • Windi
    • 3. Dezember 2022 um 23:00

    Danke für deine Mühe, kriege folgende Fehlermeldung.

    Die Url ist von TomTom und der Key kann ich nicht veröffentlichen.


    Code
    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\xx2\Desktop\Regex test.au3"    
    "C:\Users\xx2\Desktop\Regex test.au3" (36) : ==> Unknown function name.:
    $oResult = _JSON_Parse($sJSONReturn)
    $oResult = ^ ERROR
    >Exit code: 1    Time: 0.3565

    Ich hatte es mit StringinStr probiert aber es ist verdammt langsam.

    Da sind zum Teil ein paar Tauusend zeichen drin.

    Deshalb kam ich auf die idee mit Regex.

  • Hilfe bei Regex

    • Windi
    • 3. Dezember 2022 um 21:15

    Hier die Rohdaten:

    Code
    {"summary":{"query":"wilnsdorf hohe roth 6","queryType":"NON_NEAR","queryTime":149,"numResults":1,"offset":0,"totalResults":7314,"fuzzyLevel":2},"results":[{"type":"Point Address","id":"DE/PAD/p0/21286756","score":7.0448002815,"matchConfidence":{"score":0.9350328916967534},"address":{"streetNumber":"6","streetName":"Hoheroth","municipality":"Wilnsdorf","countrySecondarySubdivision":"Siegen-Wittgenstein","countrySubdivision":"Nordrhein-Westfalen","postalCode":"57234","countryCode":"DE","country":"Deutschland","countryCodeISO3":"DEU","freeformAddress":"Hoheroth 6, 57234 Wilnsdorf","localName":"Wilnsdorf"},"position":{"lat":50.82027,"lon":8.11352},"viewport":{"topLeftPoint":{"lat":50.82117,"lon":8.1121},"btmRightPoint":{"lat":50.81937,"lon":8.11494}},"entryPoints":[{"type":"main","position":{"lat":50.82024,"lon":8.11361}}]}]}
    Code
    "position":{"lat":50.82027,"lon":8.11352

    Diese Werte bräuchte ich.

  • Hilfe bei Regex

    • Windi
    • 3. Dezember 2022 um 21:10

    Hi Musashi,

    Danke für deine Rückmeldung.

    mit dem Ansprechen von Arrays habe ich keine Probleme.

    Ich muss ca 100 Adressen geocodieren und hab festgestellt, dass die lat und lon Werte, nicht immer auf den gleichen Positionen ausgegeben werden.

    Siehe Bild 2

    Gruß Windi


    Daher meine Frage ob man es noch enger begrenzen kann.

  • Hilfe bei Regex

    • Windi
    • 3. Dezember 2022 um 18:31

    Hi Andy,

    danke für die Rückmeldung!

    Ich habe die Daten im Array richtig.

    Kann man die noch ein bischen mehr eingrenzen.

    Hier das Original Array!

    Ich brauch davon Row 4 und 5

    Row 1 hat manchmal die gleiche Größe an Ziffern.

    Und Row 5 ist manchmal 2 Stellig.

    Mir würde schon helfen wenn Row 0, Row 2 und Row 3 draus wären.

    Ist das überhaupt möglich?

    Gruß Windi

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™