我在我的Delphi应用程序中遇到了显示日语字符的问题,具体来说是Unicode字符“5c”。我需要将应用程序名称保存到注册表中,然后在某种弹出窗口中显示它。
我已经将问题缩小到了这段代码:
Var
Str : WideString;
Str2: WideString;
Str3 : WideString;
TntEdit5.Text := TntOpenDialog1.FileName; //correctly displayed
Str3 := TntEdit5.Text;
ShowMessage('Original =' + Str3);
Str := UTF8Encode(TntEdit5.Text) ;
ShowMessage('UTF8Encode =' + Str3);
Str2 := UTF8Decode(Str) ;
ShowMessage('UTF8Decode =' + Str3);
end;
我无法在 Str、Str2 和 Str3 中获取正确的名称。那么如何从字符串中提取名称?
我不想显示文本,但我想将其用于保存到注册表和其他函数。
我使用了 MessageBoxW(Form1.Handle, PWChar( Str3 ), 'Path', MB_OK );
替代 SHowMessage,它给出了正确的结果。
但我想在内部使用这个字符串,比如将字符串写入文件等。怎么做?
谢谢!
Str3 := Str + Str2
。这就是在处理字符串。或者提出更具体的问题。例如,对于将它们保存到注册表中,我已经在答案中给出了4个选项,对于ShowMessages也是如此。没有所谓的“只是工作”,这个问题无法回答。 - Arioch 'TheUTF8**code
函数的使用。 - Arioch 'The