AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SetString für WideStrings

Ein Thema von halinchen · begonnen am 11. Nov 2007 · letzter Beitrag vom 11. Nov 2007
Antwort Antwort
Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#1

SetString für WideStrings

  Alt 11. Nov 2007, 16:17
Hi!

Folgendes Funktioniert:
Delphi-Quellcode:
var
  Str : String;
begin
  SetString(Str,NIL,10);
  ShowMessage(Str);
end;
Im String steht 10x #0 drin.

Sobald ich aber einen WideString nehme:
Delphi-Quellcode:
var
  Str : WideString;
begin
  SetString(Str,NIL,10);
  ShowMessage(Str);
end;
geht's nicht mehr. Im WideString stehen immer solche komischen Kästchen drin (Nicht die "normalen" Kästchen wenn ein Zeichen nicht im Zeichensatz drin ist, sonder noch 2 Striche oben links).
Diese setzen sich so zusammen.
1. Byte: #0
2. Byte; #47789

Das selbe passiert auch mit SetLength.

Am Anfang dachte ich, es ist normal, aber auf einmal stand "Deutsch (Deutschland)" in meinem WideString . Da greift es sicherlich auf einen anderen Speicherbereich zu.

Es muss doch sowas auch für Unicodes geben. Ich muss nämlich einen WideString in einen anderen mittels Move verschieben.

P.S.: Ich bin mir bewusst, das ShowMessage kein Unicode darstellen kann! Das was ich sehe ist in den überwachten Ausdrücken.

edit: Rechtschreibfehler
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: SetString für WideStrings

  Alt 11. Nov 2007, 17:38
Zitat von halinchen:
Folgendes Funktioniert:
Delphi-Quellcode:
var
  Str : String;
begin
  SetString(Str,NIL,10);
  ShowMessage(Str);
end;
Im String steht 10x #0 drin.
Purer Zufall.

Delphi-Quellcode:
var
  Str: string;
  P: PByteArray;
  I: Integer;
begin
  GetMem(P, 18);
  for I := 0 to 17 do
    P[I] := I + 20;
  FreeMem(P);
  SetString(Str,NIL,10);
  ShowMessage(Str); // jetzt seht wohl nicht mehr #0#0... in Str
end;
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#3

Re: SetString für WideStrings

  Alt 11. Nov 2007, 17:48
D.h. es funktioniert mit dem WideString auch.

Danke, das wollte ich wissen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz