From e520f12663f97a3ca7e609d0d6f6bf91dc88e675 Mon Sep 17 00:00:00 2001 From: tobigun Date: Thu, 6 Nov 2008 00:10:46 +0000 Subject: - IsNumericChar/... and other character class type functions moved to UUnicodeUtils.pas - UCS4 to UTF8 converters added. Nice for changing single characters (e.g. MyString[i] := 'de') - Player names are now UTF8 - DeleteLastLetter is UTF8 now git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1504 b956fd51-792f-4845-bead-9b4dfca2ff2c --- unicode/src/menu/UMenuText.pas | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'unicode/src/menu') diff --git a/unicode/src/menu/UMenuText.pas b/unicode/src/menu/UMenuText.pas index 3fc60384..24c7eae6 100644 --- a/unicode/src/menu/UMenuText.pas +++ b/unicode/src/menu/UMenuText.pas @@ -78,7 +78,7 @@ type procedure SetText(Value: string); property Text: string read TextString write SetText; - procedure DeleteLastL; //Procedure to Delete Last Letter + procedure DeleteLastLetter; //Procedure to Delete Last Letter procedure Draw; constructor Create; overload; @@ -88,8 +88,10 @@ type implementation -uses UGraphic, - StrUtils; +uses + UGraphic, + UUnicodeUtils, + StrUtils; procedure TText.SetSelect(Value: boolean); begin @@ -242,17 +244,17 @@ begin AddBreak(LastBreak, Length(Value)+1); end; -procedure TText.DeleteLastL; +procedure TText.DeleteLastLetter; var - S: string; - L: integer; + Str: UCS4String; + Len: integer; begin - S := TextString; - L := Length(S); - if (L > 0) then - SetLength(S, L-1); + Str := UTF8ToUCS4String(TextString); + Len := Length(Str); + if (Len > 0) then + SetLength(Str, Len-1); - SetText(S); + SetText(UCS4ToUTF8String(Str)); end; procedure TText.Draw; -- cgit v1.2.3