怎么在字符串中插入一个换行符?(30分)

  • 主题发起人 主题发起人 raiboi
  • 开始时间 开始时间
R

raiboi

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么在字符串中插入一个换行符?不要用#13之类,就像在C语言里面的/n:
sMsg = 'hello, /n World !';
不知道Delphi里面有没有类似的转义符?
因为我的字符串是从数据库中一个类型为char(50)的字段中取出来的,当ShowMessage(sMsg)时要换行。
谢谢!
 
如过你不用#13 来做 那你就定义宏
Delphi里面有没有类似'/n'的转义符
 
sMsg = 'hello, '+#13+' World !';

sMsg = 'hello, '+CRLF+' World !';
 
'hello'+#13+'World !'有什么不好?
 
换行符可以保存到数据库中并且正确取回来
不过你最好用varchar(MS SQL)
 
To : drawpharos
换行符怎么保存到数据库中?
 
我保证你不用#13

请用chr(13) :)
 
往数据库里保存和普通的字符一模一样,没有什么区别。
你看我们的论坛的换行都是这样保存进去的。
 
To : drawpharos
说详细一点好吗? 我很菜的 :)
我的数据是直接从数据库中别的表中生成的,就像这样:
insert table1
select * from table2, table2 …………
但显示出来的时候又要求换行
 
Chr(13) 和 #13
 
我都说过了,不能用#13之类,并且SQL Server支持 Chr 吗?
 
#13#10
或#10#13不记得了,自己试试吧!
 
例:
插入数据
Msg:Char;
...
Msg:='ok'+Chr(13)+'new line';
...
sql:='insert into table values('+Msg+',...)';
...
取数据:
Msg:Char;
...
sql:=select msg from table where ...';
...
Msg:=...FieldByName('msg').asString;
ShowMessage(Msg);
你显示出来的对话框一定是换行的
 
用#13完全可以实现
。。。。
这种东西,一试就出结果的。。。。有什么可问的。。。
 
agree with drawpharos
 
唉,我是想在SQL Server中取数据,然后在Delphi中显示的时候才换行,
写数据时是不经过Delphi的,这样也就没办法用 #13 了。
算了,有没有人知道在SQL中有类似于 Chr 函数的?
 
你是用什么插入数据的?
 
后退
顶部