Zitat von
flotschie:
den string im beispiel fülle ich ja zuerst mal mit Leerzeichen, die so lang sind wie der text
So lang sind wie der Text + 1 (da die
API-Funktion bei ihren 'Strings' keine Längenangabe speichert oder kennt, sondern am Ende eine 0 anhängt und dadurch weiß, wan der String zu Ende ist - deswegen muss genug Platz für den Text und das Null-Byte reserviert werden).
Zitat von
flotschie:
Dann hat die zuweisung dieser funktion zu der variablen slength nur den zweck (ausser nacher dem abschneiden), das der übergabeparameter wintext befüllt wird...?
Visual Basic hat für sein String-Objekt eine Länge gespeichert. Diese Länge enthält aber auch das abschliessende Null-Byte. Um den String wieder zu kürzen (bzw. um Fehler abzufangen) werden nur die Zeichen kopiert, die die Funktion in den String-Puffer geschrieben hat (ohne Null-Byte).
\\edit@dizzy: keine Sorge, ich hab gerade noch länger gebraucht