Aber das Copy im D6 sollte doch ebenfalls den WideString behandeln? (kann's grad nicht nachsehn, aber bin mir eigentlich ganz sicher)
Delphi-Quellcode:
b := LeftStrW(a, 2);
// wird zu
b := Copy(a, 1, 2);
Intern geht das LeftStr/LeftStrW doch bestimmt eh zum Copy und macht es genauso.
PS: Bei String/AnsiString mit UTF-8 oder einer chinesischen Codepage drin,
da müsste man z.B. mit
CharNextA oder besser
CharNextExA arbeiten, da ein "Zeichen" mehrere Byte/AnsiChar belegen kann.
Also mehrmals (2) aufrufen und weiterzählen, um die Anzahl für's Copy zu bestimmen, oder man benutzt stattdessen vielleicht
LStrCpyNA.
Nja, selber z.B. mit
CreateWindowW('EDIT', ...)
rumzuspielen, das Edit dann manuell zu behandeln und womöglich auch noch die MessageBehandlung vom Delphi umzubiegen, da vor D2009 bloß
ANSI behandelt wurde ... da ist es mit sowas wie den
TNT Unicode Controls bestimmt einfacher.
Edit ist noch leicht. Bei ComboBox, ListBox, TreeView und Co. geht der Spaß in der
WinAPI (
NonVCL) erst richtig los.
Und andere Lösungen wie
https://www.embarcadero.com/de/products/delphi/starter kennt der TE besimmt auch schon?