isabeau wo bist du, ich bräuchte nochmal deine Hilfe:)



  • @isabeau:

    Du hast mir als Hilfestellung, um eine IP-Adresse von einer Website zu parsen mal folgenden Codeausschnitt gegeben:

    m_IP.SetAddress(atoi(strHTMLText.Left(strHTMLText.Find("."))),atoi(strHTMLText.Mid(strHTMLText.Find(".")+1,strHTMLText.Find(".",strHTMLText.Find(".")+1)-strHTMLText.Find(".")-1)),atoi(strHTMLText.Mid(strHTMLText.Find(".",strHTMLText.Find(".")+1)+1,strHTMLText.ReverseFind('.')-strHTMLText.Find(".",strHTMLText.Find(".")+1)-1)),atoi(strHTMLText.Right(strHTMLText.GetLength()-strHTMLText.ReverseFind('.')-1)));
    

    Leider hat sich da irgendwo der Fehlerteufel eingeschlichen und ich kann ihn nicht finden. Bei obigem Code bekomme ich als erstes Oktett immer Null. Also z.B. 0.125.78.98, wobei die Null (nach Überprüfung mit IPConfig) eigentlich 123 sein sollte. (Wie gesagt, nur jetzt mal als Beispiel).
    Weißt du, (oder jmd. anderes) vielleicht Rat?

    Danke



  • diese (eine) zeile sieht schon mal ziemlich chaotisch aus, was natürlich nicht heißen muss das sie falsch ist. ich würde mir nen array[4] anlegen und in ner for-schleife jedes einzelne oktett (das sind doch die 4 IP-adress-teile, oder !? ;)) in das array schreiben.
    dann kannst du einfach so machen:

    m_IP.SetAddress(array[0], array[1], array[2], array[3])
    

    sieht auf jeden fall einfacher aus, und verringert die fehleraufkommen. da bist du auf jeden fall auf ner sicheren seite



  • Da Teil funktioniert, wenn in strHTMLText soetwas wie "123.45.678.90" steht. Es war aber nicht wirklich ernst gemeint. Sowas unübersichtliches benutzt man eigentlich nicht...
    Könnte sein, dass in deinem strHTMLText etwas falsches steht ?
    Hab jetzt Feierabend und bin für heute weg...



  • nur nicht selbst überlegen 😡



  • Ich sag doch, dass ich den Fehler nicht selbst gefunden habe 🤡
    Trotzdem danke für den Tip mit den Array's. Werd das gleich mal ausprobieren



  • das war kein richtiger lösungsvorschlag, das war nur ein tip um die ganze geschichte übersichtlich zu halten. wenn du den oberen teil korrekt hast, und du im prinzip die gleiche funktionalität umbaust, in meinen vorschlag, kann der fehler immer noch kommen. mein vorschlag sieht nur besser aus (;)), weil er übersichtlicher ist, und könnte dazu führen flüchtigkeitsfehler zu vermeiden.

    aber gern geschehen 😃


Anmelden zum Antworten