DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: randy522732557
今日帖子: 25
在线用户: 14
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 cjg98821 (hellow) ★☆☆☆☆ -
盒子活跃会员
2004/4/25 20:58:41
标题:
请高手们指点一下,如何解决以下问题? 浏览:1215
加入我的收藏
楼主: 有一个程序,在程序退出时,先在C:/windows下面一步一步生成一个score.txt的文本文件(在点“退出”前这个文件还不存在),随后上传到服务器中加密,再随后就自动删除,程序结束,历时2-4秒钟。
我的问题是:能不能在客户端删除前,就把这个score.txt中的几个分数读出来,但是确保内容完整(因为它是一点一点生成的,能不能在删除前的一刹那读出来)
我试着用以下程序实现,但是成功率不高:
procedure TForm3.Timer3Timer(Sender: TObject);
var str:string;
begin
  if fileexists('c:/windows/score.txt') then
 begin
  tt:=1;
  str:='';
  memo2.Lines.LoadFromFile('c:/windows/score.txt');
  str:=copy(memo2.Lines[12],6,length(memo2.Lines[12])-5)+',';
  str:=str+copy(memo2.Lines[19],6,length(memo2.Lines[19])-5)+',';
  str:=str+copy(memo2.Lines[27],6,length(memo2.Lines[27])-5)+',';
  str:=str+copy(memo2.Lines[32],6,length(memo2.Lines[32])-5)+',';
  str:=str+copy(memo2.Lines[37],6,length(memo2.Lines[37])-5)+',';
  str:=str+copy(memo2.Lines[42],6,length(memo2.Lines[42])-5)+',';
  edit1.Text:=str;
 end
  else
  if tt=1 then
  begin
    timer3.Enabled:=false;
    clientsocket1.Address:='10.0.0.9';
    clientsocket1.Open;
    sleep(500);
    sendpacket('A'+edit1.Text);
    clientsocket1.Close;
    application.Terminate;
  end;
end;
各位高手,有没有更好的办法呢?(万无一失的办法)

----------------------------------------------
因为笨,所以问!
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/4/25 21:39:45
1楼: 用ShellExtension里的ICopyHook
这个接口在文件被移动/复制/删除时系统会通知你,你可以选择继续操作还是取消
这里你只要先判断是不是你要的文件而且是不是准备删除
然后读出内容就行了
应该可以满足你的要求了
具体实现可以去网上查ICopyHook,要用COM
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS