用delphi做了一个小程序,就是简单的拷贝数据,为什么拷贝过去的很多乱码啊!?(拷贝的是txt文件)

程序是这样的:typeTForm1=class(TForm)ProgressBar1:TProgressBar;RichEdit1:TRichEdit;RichEdit2... 程序是这样的:
type
TForm1 = class(TForm)
ProgressBar1: TProgressBar;
RichEdit1: TRichEdit;
RichEdit2: TRichEdit;
Image1: TImage;
Label1: TLabel;
Button1: TButton;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
len: integer;
i: integer=0;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); //创建表单并装载文件
begin
richedit1.Lines.LoadFromFile('c:\wo.txt');
len:=length(richedit1.Text);
end;
procedure TForm1.Button1Click(Sender: TObject);//开始拷贝数据
begin
progressbar1.Position:=0;
richedit2.Lines.Clear;
timer1.Enabled:=true; //激活定时器
label1.Left:=30;
label1.Caption:='正在拷贝数据,请稍等。。。';
label1.Visible:=true;
i:=0;
end;
procedure TForm1.Timer1Timer(Sender: TObject); //激活定时器
var
part_len:integer;
begin
part_len:=len div 20;
richedit2.Text:=richedit2.Text+copy(richedit1.Text,i,part_len);
i:=i+part_len;
progressbar1.Position:=progressbar1.Position+1;
if i>len then
begin
timer1.Enabled:=false;
label1.Left:=100;
label1.Caption:='数据拷贝完成';
end;
end;
end.
展开
 我来答
h5233366
2013-01-28 · 超过14用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:34.2万
展开全部
汉字占两个字节
有可能你是一个自己一个字节打印的
part_len:=len div 20; 改成 part_len:=len div 1;
就绝对没问题了
或弄个流类型的中间变量
_whales
2013-01-28 · TA获得超过2279个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:497万
展开全部
richedit2 属性应设置为文本类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钱之啦1S
2013-01-28 · 超过30用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:71万
展开全部
直接copyfile得了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式