Einzelnen Beitrag anzeigen

Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#1

WideString - länge "korrigieren"

  Alt 17. Dez 2008, 16:10
Wenn bei einem Widestring irgendwo ein Doppel-NullByte eingefügt wird, wie kann ich dann Delphi verklickern, dass es den Längen-wert korrigieren sollte?

z.B.
alter Inhalt : "TestString"
neuer Inhalt : "result'#0'ing"

length(x) liefert noch immer 10.
setlength(x, StrLen(PChar(string(x)))) kann's ja net sein, das muss schöner gehen.

Danke!


P.S.: Das gleiche Problem mit "normalen" strings demonstriert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s : string;
begin
     s:='Hallo'+#0+Caption;
     Memo1.Lines.Add('length = '+IntToStr(length(s)));
     Memo1.Lines.Add(s);
end;
Wie "korrigiere" ich s, so dass Length hier 5 liefert?
Setlength(pos(#0... ist ja auch so eine miese Lösung, da gibt's doch sicher was "richtiges"...
Danke!
  Mit Zitat antworten Zitat