![]() |
Record mit Unicode-"Strings" (array of char) nutze
Hallo,
Wir haben hier in der Firma ein Record:
Delphi-Quellcode:
Jetzt wollen wir mit diesen Werten arbeiten.
TUString255 = Array [0..255] of WideChar;
TMyRecord = Wert: integer; bla.... UnicodeString1: TUString255; UnicodeString2: TUString255; end;
Delphi-Quellcode:
Gibt es irgendeine Möglichkeit sauber ohne irgendwelches Copy o.ä. diesem Array Of Char mit einem String zu befüllen?
// Das geht:
MyString := Record.UnicodeString1; // Das geht aber nicht: Record.UnicodeString1 := MyString; Falls es eine einfache Möglichkeit gibt, Records mit richtigen Strings als Feldern (UnicodeString1: string) zu Streamen, dann würde das auch schon helfen. Wir sind nicht auf diesen "Unicode-ShortString" festgelegt, suchen im Moment nur eine einfache Möglichkeit dieses Record zu speichern. |
Re: Record mit Unicode-"Strings" (array of char) n
Auch wenn das im weitesten Sinne unter Copy fällt:
![]() |
Re: Record mit Unicode-"Strings" (array of char) n
Ich weiß nicht, ob das Probleme mit dem Streamen macht, aber du kannst doch einfach die UnicodeStrings als normale string-properties deklarieren und den nötigen Copy-Aufwand in die Getter und Setter packen.
Delphi-Quellcode:
type
TUString255 = Array [0..255] of WideChar; TMyRecord = record private FWert: integer; FUnicodeString1: TUString255; FUnicodeString2: TUString255; function GetUnicodeString1: string; function GetUnicodeString2: string; procedure SetUnicodeString1(const Value: string); procedure SetUnicodeString2(const Value: string); public property UnicodeString1: string read GetUnicodeString1 write SetUnicodeString1; property UnicodeString2: string read GetUnicodeString2 write SetUnicodeString2; property Wert: integer read FWert write FWert; end; function TMyRecord.GetUnicodeString1: string; begin Result := FUnicodeString1; end; function TMyRecord.GetUnicodeString2: string; begin Result := FUnicodeString2; end; procedure TMyRecord.SetUnicodeString1(const Value: string); begin StrPCopy(@FUnicodeString1[0], Value); end; procedure TMyRecord.SetUnicodeString2(const Value: string); begin StrPCopy(@FUnicodeString2[0], Value); end; |
Re: Record mit Unicode-"Strings" (array of char) n
Man kann in Records Getter und Setter definieren? ô.O
Probier ich demnächst mal aus, wir haben es im Moment mit einem Record mit überladenen Operatoren gelöst. Danke erstmal für die Vorschläge :) |
Re: Record mit Unicode-"Strings" (array of char) n
Zitat:
hier hätten wir auch noch soein "aufgemotztes" Char-Array ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz