从QQ聊天记录中Copy出来的代码不能编译,回车都成了黑色的正方形,用这个函数可以解决问题
原理很简单,就是替换#13为#13#10
procedure ConvertQQMsg(Lines: TMemo);
var
TmpStrList: TStrings;
begin
TmpStrList := TStringList.Create;
try
TmpStrList.Text := Lines.Lines.Text;
TmpStrList.Delimiter := #13;
Lines.Lines.DelimitedText := TmpStrList.DelimitedText;
finally
TmpStrList.Free;
end;
end;
原理很简单,就是替换#13为#13#10
procedure ConvertQQMsg(Lines: TMemo);
var
TmpStrList: TStrings;
begin
TmpStrList := TStringList.Create;
try
TmpStrList.Text := Lines.Lines.Text;
TmpStrList.Delimiter := #13;
Lines.Lines.DelimitedText := TmpStrList.DelimitedText;
finally
TmpStrList.Free;
end;
end;
解决方案 »
- dbgrid的cellclick中那个column参数的什么属性表示当前行啊?
- 问一个数据库设计的问题(人员离职管理问题)(你们都会碰到哦)
- 搞了一天没有解决的存储过程的问题!
- StringList问题,解决马上放分,在线等待
- 有没有LISTVIEW控件的详细属性以及方法!
- 十万火急!高手帮忙看一下代码哪里有错误!分少请见谅~!
- 怎么让程序排队等待?
- 请问版主大人,如何清空专家分。
- 请问高手,在windows 2000 (server)导出com+客务端代理。。。
- win7 64位环境下 TADOConnectionPool连接SqlServer问题
- 关于线程
- 请问有谁做过可以有背景图片的Label控件?
保存到txt文件是这个问题。
保存到doc文件就不需要了!
Memo1.Lines.Delimiter:='A';
Memo2.Lines.DelimitedText:=Memo1.Lines.DelimitedText;
TmpStrList.Text := Lines.Lines.Text;
TmpStrList.Delimiter := #13;
Lines.Lines.DelimitedText := TmpStrList.DelimitedText;
大概有问题 应该改成这样吧
TmpStrList.Text := Lines.Lines.Text;
Lines.Lines.Delimiter := #13;
Lines.Lines.DelimitedText := TmpStrList.Text;
//你的方法会把空格也分行
懂了 不能直接用TmpStrList.Text 不过TmpStrList.Delimiter := #13;不对,应该是 Lines.Lines.Delimiter := #13;
也就是这样,D7下边试过没问题
TmpStrList.Text := Lines.Lines.Text;
Lines.Lines.Delimiter := #13;
Lines.Lines.DelimitedText := TmpStrList.DelimitedText;
改成
TmpStrList.Text := Lines.Lines.Text;
Lines.Lines.Delimiter := #13;
Lines.Lines.DelimitedText := TmpStrList.DelimitedText; 之后
#13可以被隔开了 空格也不会换行了,但是如果这行既有#13又有空格,这行的#13会被保留
原因是空格会让原来的Text被QuoteChar括起来,直接引用了
还是搞不懂DelimitedText应该怎么用还是不这样做了,直接搜索#13替换成#13#10得了 呵呵
TmpStrList.Text := Lines.Lines.Text;
Lines.Lines.Delimiter := #13;
Lines.Lines.DelimitedText := TmpStrList.DelimitedText;
========================
D6下测试结果不正确
加了很多双引号和逗号
原因参见TStrings.CommaText的帮助测试数据,任意copy一段聊天记录即可
这样做也有一个问题,不能多次重复操作第一次
#13=>#13#10第二次
#13#=>#13#10#10第n次
#13=>#13+ n 个 #10