len(string$) gibt falschen Wert aus
len(string$) gibt falschen Wert aus
Hi Leute. Ich habe da etwas merkwürdiges entdeckt. Ich versuche hier mal das Problem zu beschreiben:
Ich erhalte einen String von einem IRC-Server. Diesen lasse ich zu erst in den Arbeitsspeicher und dann in die Variable string$ schreiben. Als nächstes lasse ich mit len(string$) über den Messagerequester die Länge des Strings anzeigen. Danach lasse ich den String zeilenweise auslesen. Die Anzahl der Zeichen in jeder Zeile addiere ich zur Variable StringCounting. Nach dem der String vollständig ausgelesen ist, ist merkwürdiger Weise die Länge von string$ um einiges kleiner als die Länge von StringCounting. Einmal habe ich sogar den String aus dem MessageRequester herauskopiert und die Zeichen gezählt. Diese stimmen mit StringCounting überein. Kann mir das einer erklähren???
Ich erhalte einen String von einem IRC-Server. Diesen lasse ich zu erst in den Arbeitsspeicher und dann in die Variable string$ schreiben. Als nächstes lasse ich mit len(string$) über den Messagerequester die Länge des Strings anzeigen. Danach lasse ich den String zeilenweise auslesen. Die Anzahl der Zeichen in jeder Zeile addiere ich zur Variable StringCounting. Nach dem der String vollständig ausgelesen ist, ist merkwürdiger Weise die Länge von string$ um einiges kleiner als die Länge von StringCounting. Einmal habe ich sogar den String aus dem MessageRequester herauskopiert und die Zeichen gezählt. Diese stimmen mit StringCounting überein. Kann mir das einer erklähren???
- NicTheQuick
- Ein Admin
- Beiträge: 8835
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Zeilentrennzeichen (Chr(13) und Chr(10)) werden von Len() mitgezählt, sind
aber in einem Messagerequester 'unsichtbar', weil sie dort sofort 'interpretiert
werden (also an dieser Stelle bricht die Zeile um).
Also pro Zeilenumbruch musst Du 1 oder 2 Zeichen (je nach
Zeilenumbruchtyp) hinzuzählen.
Grüße ... Kiffi
aber in einem Messagerequester 'unsichtbar', weil sie dort sofort 'interpretiert
werden (also an dieser Stelle bricht die Zeile um).
Also pro Zeilenumbruch musst Du 1 oder 2 Zeichen (je nach
Zeilenumbruchtyp) hinzuzählen.
Grüße ... Kiffi
OK, aber das kann nicht das Problem sein, da im Originalstring ja weniger Zeichen angezeigt werden, als tatsächlich vorhanden sind. Das habe ich wie gesagt von Hand nachgezählt. Es entsteht eine Differenz bei ca. 40 Zeichen, der String hat vier Zeilen. Ich möchte nochmal darauf hinweisen, dass es sich um einen String handelt, welchen ich bei der Anmeldung an irc.germany.net erhalten habe. Genauer gesagt ist es der zweite. Ich kann mir das nicht erklähren.
Das mit dem Quellcode ist so, dass das ganze sehr in ein Programm verwickelt ist und ich nicht das ganze Programm posten möchte, sondern mich auf das wesendliche konzentrieren will. Ich habe jetzt den String, welchen ich empfange, mit addgadgetitem in ein Editorfeld schreiben lassen und siehe da, plötzlich stimmt die kürzere Länge, da die Zeichen, die er im Messagerequester zu viel angezeigt hat, erst beim nächsten durchlaufen der Schleife angezeigt werden. Das klingt jetzt wohl unverständlich ohne den Code und ich hatte heute auch wenig Zeit, aber morgen poste ich das Teil mal.