![]() |
Zeichen im Widestring
Hallo, weiß jemand, wie man auf die einzelnen Zeichen in einem widestring zugreifen kann ?
Gruss bioser |
Re: Zeichen im Widestring
Hallo,
genauso wie auf ein Zeichen in einem AnsiString:
Delphi-Quellcode:
Gruß
var
Str: WideString Zeichen: WideChar; ... Zeichen := Str[5]; // Gibt fünftes Zeichen zurück xaromz |
Re: Zeichen im Widestring
Hallo,
bei der TNTStringList gibt's ne Zugriffsverletzung !
Delphi-Quellcode:
Komisch...
var sl:TTNTStringList;
ws:widestring; sl := TTNTStringList.Create; sl.LoadFromFile('c:\test.txt'); for i:=0 to sl.Count-1 do begin ws := sl.Strings[i]; if ws[1] = '' then ShowMessage('S'); end; Gruss bioser |
Re: Zeichen im Widestring
mahlzeit,
natürlich führt
Delphi-Quellcode:
zu einer zugriffsverletzung. wenn ws leer ist (ws = '') kannst du auch nicht auf ws[1] zugreigen. deinen code würde ich wenn dann ändern zu:
if ws[1] = '' then ShowMessage('S');
Delphi-Quellcode:
in den TntUtils gibt es ein wide-version zu length.
if Length(ws) > 0 then
ShowMessage('S'); |
Re: Zeichen im Widestring
Wenn der String leer ist, dann ist diesem kein Speicher zugewiesen, wodurch natürlich kein Zugrif auf das 1. Zeichen möglich ist.
Delphi-Quellcode:
if (ws <> '') and (ws[1] = '*') then
Zitat:
Was willst du überhaupt testen? @AndreasP: Delphi hat selber auch schon ein Length für die WideStrings drin ;) |
Re: Zeichen im Widestring
alles klar, danke, jetzt klappt's !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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