因为TIdHttp是阻塞式的,所以,如果传输的文件比较大的时候,整个界面都动弹不得,和死了一样。
解决方法有两个:
1. 把对IdHttp的处理,放入线程内。搞个线程也很简单,就是一旦数据交互起来,麻烦一些。
2. 好久没用delphi了,不想写太复杂的代码了,这个简单的应用里,只要界面不僵死就可以了。所以不想用线程。第二个方法就是,往界面里放入一个TIdAntiFreeze控件,(真怀念delphi的方便)。不要高兴的太早,可能界面还是动不了的。因为默认情况下idAntiFreeze的OnlyWhenIdle属性是true,改为false,才会真正的antiFreeze。
BTW,键盘的F11键坏掉好久了,都没有什么感觉 (用delphi没有这个键,会死人的)
Posted in
未分类 at 02月 28th, 2009.
1 Comment.
用indy上传下载文件时,可以先在IdHTTP1WorkBegin中获得总大小,然后在IdHTTP1Work中实时得到当前的传输量,一遍算出整体的传输进度。
procedure TForm1.IdHTTP1WorkBegin(Sender:TObject; AWorkMode:TWorkMode;
const AWorkCountMax:Integer);
begin
ShowMessage(IntToStr(AWorkCountMax));
end;
procedure TForm1.IdHTTP1Work(Sender:TObject; AWorkMode:TWorkMode;
const AWorkCount:Integer);
begin
Caption := IntToStr(AWorkCount);
end;
Posted in
未分类 at 02月 28th, 2009.
No Comments.

“ 从2009年2月20日开始,当当网站联盟会员不得以提供购物返现金、代金券、积分等任何形式利益的方式诱使其用户通过联盟网站购买当当网商品,如联盟会员违反此规定当当网站联盟有权立即停止与其合作并有权扣除所有未结算的销售提成。
注:09年2月19日前数据依然返回。
”
看到这个消息,当当终于对cps联盟下刀了,死得最惨的就是那些以返利为核心业务的网站了。这些返利网站长期以来犹如寄生虫一般盯着当当卓越咬。当当对他们也是有爱有恨,终于出手了。不过我觉得,与此相配套的应该出来一个提个提成,以鼓励正常推广的措施就完美了。
如果当当此举带动一大批商家出台此政策,此政策渐渐成为行业规则时,那时大部分代购网站都可以寿终正寝了。不过,也许当当此举只是试水,以后会怎么发展,再看看罢。
Posted in
未分类 at 02月 28th, 2009.
No Comments.
Posted in
iphone 资讯 at 02月 24th, 2009.
No Comments.
大部分情况下,我们可以用 ./cmd1.sh >1.log &
让这个命令运行在后台,然后通过tail -f 1.log查看程序后台运行的实时结果。但是这样运行有一个缺点是,要么等程序运行完,要么kill掉。
还有一个可以随时暂停的解决方式是,ctrl+Z, bg, fg
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,终止这个程序,然后可以看到系统提示:
[1]+ Stopped /root/bin/rsync.sh
然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)
#bg 1
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在运行的任务:
#jobs
[1]+ Running /root/bin/rsync.sh &
如果想把它调回到前台运行,可以用
#fg 1
/root/bin/rsync.sh
这样,你在控制台上就只能等待这个任务完成了。
Posted in
未分类 at 02月 14th, 2009.
No Comments.