如何如下要求自动替换memo.text中的内容 1.替换memo.text中所有连续两个空格为回车换行(每行末尾的空格除外)2.替换memo.text所有的全角字符为半角字符 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 memo1.text := StringReplace(memo1.text,' ',#13#10,[rfReplaceAll]); 1。用pos(' ',memo.text)找到连续的两个空格,然后用#13#10替换。2。全脚字符长度是二,比如全脚字符a,它是#163和#255,b是#163和#256也就是说第一个字符都是#163,第二个字符类推 最后的代码如下:var i:Integer; str1,str2:AnsiString; BlandFrist:Boolean; const strcn='£á£â£ã£ä£å£æ£ç£è£é£ê£ë£ì£í£î£ï£ð£ñ£ò£ó£ô£õ£ö£÷£ø£ù£ú£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù£Ú£à£±£²£³£´£µ£¶£·£¸£¹£°£­£½£Ü¡«££¡ç£¥£Þ£¦£¨£©£ß£«£ü£Û£Ý£û£ý£¯£¼£¾£¿£ '; stren='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\~#$%^&()_+|[]{}/<>? ';begin for i:=1 to 87 do begin str1:=copy(strcn,2*i-1,2); str2:=copy(stren,i,1); DBMemo1.text:=StringReplace(DBMemo1.text,str1,str2,[rfReplaceAll]); end; i:=0; while (i<DBMemo1.Lines.Count) do begin if Trim(DBMemo1.Lines.Strings[i])='' then begin DBMemo1.Lines.Delete(i);continue;end; if pos(' ',Trim(DBMemo1.Lines.Strings[i]))>0 then begin DBMemo1.Lines.Strings[i]:= StringReplace(DBMemo1.Lines.Strings[i],' ',#13#10+' ',[rfReplaceAll]); i:=i-1; end; i:=i+1; end;end; 求助:delphi移动组件的时候没有对齐线了?怎回事? 各位大哥来帮忙看看一个添加的问题 获取指定窗口控件句柄 求教各位大侠一个入门问题 QuickReport 如何分页打印 程序安装包制作问题 为什么有的过程可以直接使用,而不用声明? DELPHI学习群 {}中的内容在delphi中起着什么作用? 求助大神看看曲线为什么有一段(s8)不正常 SQL,高手求救!!!!! WINDOWS 2000 SERVER 启动盘从那里做? (在线)
2。全脚字符长度是二,比如全脚字符a,它是#163和#255,b是#163和#256也就是说第一个字符都是#163,第二个字符类推
最后的代码如下:
var
i:Integer;
str1,str2:AnsiString;
BlandFrist:Boolean;
const
strcn='£á£â£ã£ä£å£æ£ç£è£é£ê£ë£ì£í£î£ï£ð£ñ£ò£ó£ô£õ£ö£÷£ø£ù£ú£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù£Ú£à£±£²£³£´£µ£¶£·£¸£¹£°£­£½£Ü¡«££¡ç£¥£Þ£¦£¨£©£ß£«£ü£Û£Ý£û£ý£¯£¼£¾£¿£ ';
stren='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\~#$%^&()_+|[]{}/<>? ';begin
for i:=1 to 87 do
begin
str1:=copy(strcn,2*i-1,2);
str2:=copy(stren,i,1);
DBMemo1.text:=StringReplace(DBMemo1.text,str1,str2,[rfReplaceAll]);
end; i:=0;
while (i<DBMemo1.Lines.Count) do
begin
if Trim(DBMemo1.Lines.Strings[i])='' then begin DBMemo1.Lines.Delete(i);continue;end;
if pos(' ',Trim(DBMemo1.Lines.Strings[i]))>0 then
begin
DBMemo1.Lines.Strings[i]:= StringReplace(DBMemo1.Lines.Strings[i],' ',#13#10+' ',[rfReplaceAll]);
i:=i-1;
end;
i:=i+1;
end;
end;