L
lps
Unregistered / Unconfirmed
GUEST, unregistred user!
说明:用RxRichEdit做一个简单的文本处理,要统计字数,发现和WORD 2000中的速度差得太远,如果有1M以上的字数CPU 100%,时间至少要1分钟以上。
procedure Tmain.SpeedButton17Click(Sender: TObject);
begin
if RxRichEdit1.SelLength >0
then CauText(RxRichEdit1.SelText) //只算选中部分的字数
else CauText(RxRichEdit1.Text);//计算RxRichEdit中全部的字数
end;
procedure Tmain.CauText( CauStr: string);
var
i, n: integer;
Instr, s, t: string;
TP: WideString;
begin
i := Length(CauStr);
S := inttostr(i);
Tp := StringReplace(CauStr,' ','',[rfReplaceAll]);//去掉空格
Tp := StringReplace(Tp,#13#10,'',[rfReplaceAll]);//去掉回车
n := length(tp);
T := inttostr;
Instr := '共有:' + #13 + s + '字节' + #13 + T + '个字';
MessageBox(Handle, Pchar(instr), '字数计算', MB_ICONASTERISK);
end;
procedure Tmain.SpeedButton17Click(Sender: TObject);
begin
if RxRichEdit1.SelLength >0
then CauText(RxRichEdit1.SelText) //只算选中部分的字数
else CauText(RxRichEdit1.Text);//计算RxRichEdit中全部的字数
end;
procedure Tmain.CauText( CauStr: string);
var
i, n: integer;
Instr, s, t: string;
TP: WideString;
begin
i := Length(CauStr);
S := inttostr(i);
Tp := StringReplace(CauStr,' ','',[rfReplaceAll]);//去掉空格
Tp := StringReplace(Tp,#13#10,'',[rfReplaceAll]);//去掉回车
n := length(tp);
T := inttostr;
Instr := '共有:' + #13 + s + '字节' + #13 + T + '个字';
MessageBox(Handle, Pchar(instr), '字数计算', MB_ICONASTERISK);
end;