線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1238
推到 Plurk!
推到 Facebook!

如何製造取消動作的Button鈕

尚未結案
millerh
一般會員


發表:10
回覆:10
積分:4
註冊:2004-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-26 14:40:08 IP:61.230.xxx.xxx 未訂閱
我做的是傳送一整個資料夾的東西到sever 整個程式寫在一個Button中 請問一下有什麼函式可以停止程式運作的嗎 讓我按一下Button就可以讓他中斷傳檔的 謝謝~~~
totony
一般會員


發表:3
回覆:20
積分:14
註冊:2004-05-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-26 15:34:01 IP:211.74.xxx.xxx 未訂閱
因為不曉得你傳檔的方式…所以只能提供一些想法~不能確定能給你什麼函式~ 由整個程式寫在一個Button的事件來看… 傳一整個資料夾,你應該有用迴圈在跑吧?    可以試試設定一個bool的全域變數如StopFileSend
1.傳檔前預設
StopFileSend=false;    2.在傳檔動作的迴圈裡去判斷StopFileSend的值,決定是否繼續傳檔
//記得在迴圈中加入下面這一行系統才有時間處理別的事件喔
Application->ProcessMessages(); 
if(StopFileSend==true)   //判斷
    //跳離迴圈    3.在取消動作的Button Click事件中設定
StopFileSend=true;
這樣一來當你按下取消動作的Button時就會將StopFileSend的值改成true,迴圈在運作時StopFileSend變為ture就會跳離傳檔的迴圈了。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-26 15:59:17 IP:218.15.xxx.xxx 未訂閱
您好: 用ShFileOperation API函数调出复制的动画框,想取消直接按里的“取消”即可,不知是不是您所要的:
 
procedure TForm1.Button1Click(Sender: TObject);
var   
  OpStruc :TSHFileOpStruct;
  frombuf, tobuf: Array [0..128] of Char;  
  i:integer;
  Fpath,Tpath:string;      
Begin
    Fpath:=pchar('D:\xyxt'); //源文件
    Tpath:=pchar('E:\xyxt'); //目标文件
    FillChar(frombuf, Sizeof(frombuf), 0);
    FillChar(tobuf, Sizeof(tobuf), 0);
    StrPCopy(frombuf,Fpath);
    StrPCopy(tobuf,Tpath);
    With OpStruc DO
     Begin
        Wnd:=Handle; 
        wFunc:=FO_COPY; 
        pFrom:=@frombuf;
        pTo:=@tobuf;
        fFlags:=FOF_FILESONLY;
        fAnyOperationsAborted:=false;
        hNameMappings:=Nil; 
        lpszProgressTitle:=Nil; 
     end;
    if DirectoryExists(Fpath) then
      ShFileOperation(OpStruc) 
end;   
另有几篇相关讨论,可参考看看: http://delphi.ktop.com.tw/topic.php?topic_id=56011 http://delphi.ktop.com.tw/topic.php?topic_id=60452 http://delphi.ktop.com.tw/topic.php?topic_id=57312 ~~~静心养德~~~
linkhanks
一般會員


發表:3
回覆:11
積分:2
註冊:2006-07-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-07-11 16:11:56 IP:60.248.xxx.xxx 未訂閱

===================引 用 文 章===================
您好:用ShFileOperation API函p出复制的?框,想取消直接按里的“取消”即可,不知是不是您所要的:
 
procedure TForm1.Button1Click(Sender: TObject);
var   
  OpStruc :TSHFileOpStruct;
  frombuf, tobuf: Array [0..128] of Char;  
  i:integer;
  Fpath,Tpath:string;      
Begin
    Fpath:=pchar('D:\xyxt'); //源文件
    Tpath:=pchar('E:\xyxt'); //目文件
    FillChar(frombuf, Sizeof(frombuf), 0);
    FillChar(tobuf, Sizeof(tobuf), 0);
    StrPCopy(frombuf,Fpath);
    StrPCopy(tobuf,Tpath);
    With OpStruc DO
     Begin
        Wnd:=Handle; 
        wFunc:=FO_COPY; 
        pFrom:=@frombuf;
        pTo:=@tobuf;
        fFlags:=FOF_FILESONLY;
        fAnyOperationsAborted:=false;
        hNameMappings:=Nil; 
        lpszProgressTitle:=Nil; 
     end;
    if DirectoryExists(Fpath) then
      ShFileOperation(OpStruc) 
end;   

另有几篇相s那,可礎珙搰搳G http://delphi.ktop.com.tw/topic.php?topic_id=56011 http://delphi.ktop.com.tw/topic.php?topic_id=60452 http://delphi.ktop.com.tw/topic.php?topic_id=57312 ~~~Y心{德~~~

尋找相關文件中~路過看到這位大大的文~正好跟我想問的類似~~

請問一下大大~用 ShFileOperation API 叫出複製的框後,該有什麼樣的方法知道使用者按下取消的按鈕呢??

系統時間:2024-11-23 20:11:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!