吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 685|回复: 3
收起左侧

[讨论] 利用ShowMessage弹框貌似啥字符串类型的玩意都可以扔进来吧?

[复制链接]
冥界3大法王 发表于 2023-5-8 08:28
利用ShowMessage弹框貌似啥字符串相关的玩意都可以扔进来吧?(但是实际使用时需要转换类型)
这么说没错吧?

PAnsiChar
PWideChar
PChar
PAnsiChar
AnsiString
这些外? 还有什么幺蛾子?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lras 发表于 2023-5-8 12:30
#13  UnicodeString

只要你想得到的,都可以
DEATHTOUCH 发表于 2023-5-8 12:41
本帖最后由 DEATHTOUCH 于 2023-5-8 13:00 编辑

基本上编译器可以隐式转换的都可以,不过最好手动在之前显式转换到String类型,以免AnsiString和UnicodeString合并产生编码问题。
还有一些特殊的:WideString、ShortString,可以看看官方文档。
类似于PChar(xxx)+'yyy'这种的是因为调用了编译器内置函数,反汇编就能看到,但最终都是变成UnicodeString形式的。

补充一下:
你还可以输出一些特殊的字符,比如说'🐂🐎'这俩,但是在UnicodeString内部是D83D DC02 D83D DC0E,相当于占了4个宽字符
前面还有漏了说UTF8String了,同样是'🐂🐎',用UTF8String的内部就是F0 9F 90 82 F0 9F 80 8E,其实就是用4个字节表示一个字符
但是AnsiString就无法显示这俩字符了。

再补充一下:
论坛显示不了牛和马的俩个图标,显示的是128002和128014,其实就是1F402和1F40E,那其实Delphi有UCS4String类型,就是这么存储的
但是UCS4String就是简单的Array of Cardinal,你懂吧,不能直接显示,要用UnicodeStringToUCS4String和UCS4StringToUnicodeString进行编解码
DEATHTOUCH 发表于 2023-5-8 12:45
lras 发表于 2023-5-8 12:30
#13  UnicodeString

只要你想得到的,都可以

对,任何字符的都可以用#+数字,而且可以和字符串常量直接拼接
比如说 s := 'abc'#13#10'def'#$31#$32;
就是
abc
def12
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-13 22:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表