全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2175
推到 Plurk!
推到 Facebook!

怎樣可以把 c:\aaa\*.wfr copy 到c:\bbb

尚未結案
chrislao
初階會員


發表:86
回覆:69
積分:36
註冊:2002-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-25 00:28:53 IP:202.175.xxx.xxx 未訂閱
...
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-25 01:03:19 IP:61.221.xxx.xxx 未訂閱
chrislao 你好: 請參考以下的做法
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
chrislao
初階會員


發表:86
回覆:69
積分:36
註冊:2002-12-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-25 09:57:26 IP:202.175.xxx.xxx 未訂閱
還是不行....
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-25 10:15:37 IP:202.39.xxx.xxx 未訂閱
{usage: CopyDir('C:\Dos', 'D:\Dos');}    Procedure CopyDir(Source, Dest: string);
var F: TSearchRec;
    i: integer;
begin
ForceDirectories(Dest);
i := Findfirst(Source   '\*.'   Ext,faAnyFile,F);    while i = 0 do begin
  if F.Name <> '.' then
  if F.Name <> '..' then
  if F.Attr And faDirectory > 0 then
    CopyDir(Source   '\'   F.name,Dest   '\'   F.name, Ext)
  else
     CopyFile(Pchar(Source   '\'   F.name),Pchar(Dest   '\'  
F.name),False);
i := FindNext(F);
end;    FindClose(F);    end;    {From Hannes Ganser}
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-25 10:21:05 IP:61.223.xxx.xxx 未訂閱
uses ShellApi procedure TForm1.Button1Click(Sender: TObject); var OpStruc: TSHFileOpStruct; frombuf, tobuf: Array [0..128] of Char; Begin FillChar(frombuf, Sizeof(frombuf), 0); FillChar(tobuf, Sizeof(tobuf), 0); StrPCopy(frombuf, 'L:\E-Book電子書\筆記\A\*.Htm'); StrPCopy(tobuf, 'L:\E-Book電子書\筆記\temp\'); With OpStruc DO Begin Wnd:=Handle; wFunc:=FO_COPY; pFrom:=@frombuf; pTo:=@tobuf; fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION; fAnyOperationsAborted:=False; hNameMappings:=Nil; lpszProgressTitle:=Nil; end; ShFileOperation(OpStruc); end;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-25 17:48:05 IP:202.39.xxx.xxx 未訂閱
var
  FOS :TSHFileOpStruct;
begin
  with FOS do begin
    Wnd := Self.Handle;
    wFunc := FO_COPY;
    pFrom := 'c:\aaa\*.wfr';
    pTo := 'c:\bbb';
    fFlags := FOF_NoConfirmMkDir;
  end;
  SHFileOperation(FOS);
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-01-27 13:28:23 IP:61.223.xxx.xxx 未訂閱
引言: var FOS :TSHFileOpStruct; begin with FOS do begin Wnd := Self.Handle; wFunc := FO_COPY; pFrom := 'c:\aaa\*.wfr'; pTo := 'c:\bbb'; fFlags := FOF_NoConfirmMkDir; end; SHFileOperation(FOS); end;
hagar 的方法簡潔好用
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-01-28 10:20:58 IP:61.221.xxx.xxx 未訂閱
那請問一下如果不是單一檔案而是整個資料夾ㄋ 那又該怎ㄇ做呢???    
yamapig
一般會員


發表:12
回覆:47
積分:21
註冊:2002-03-26

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-01-28 10:25:33 IP:211.22.xxx.xxx 未訂閱
查詢一下 " 刪除目錄 " 的關鍵字,就可以找到你的答案了. 靜中見真境 淡中識本然
------
靜中見真境 淡中識本然
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-01-28 10:27:16 IP:202.39.xxx.xxx 未訂閱
引言: 那請問一下如果不是單一檔案而是整個資料夾ㄋ 那又該怎ㄇ做呢??? < face="Verdana, Arial, Helvetica"> 注意紅色部份:
var
  FOS :TSHFileOpStruct;
begin
  with FOS do begin
    Wnd := Self.Handle;
    wFunc := FO_COPY;
    pFrom := 'c:\aaa\*.*';
    pTo := 'c:\bbb';
    fFlags := FOF_NoConfirmMkDir;
  end;
  SHFileOperation(FOS);
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-01-28 16:05:38 IP:61.221.xxx.xxx 未訂閱
引言:
引言: 那請問一下如果不是單一檔案而是整個資料夾ㄋ 那又該怎ㄇ做呢??? < face="Verdana, Arial, Helvetica"> 注意紅色部份:
var
  FOS :TSHFileOpStruct;
begin
  with FOS do begin
    Wnd := Self.Handle;
    wFunc := FO_COPY;
    pFrom := 'c:\aaa\*.*';
    pTo := 'c:\bbb';
    fFlags := FOF_NoConfirmMkDir;
  end;
  SHFileOperation(FOS);
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
oh~~我試出來嚕 但因為我是要從光碟機COPY至硬碟而每台電腦的光碟機又不一且也不一定只有一台 那我又該怎ㄇ做ㄋ < >< >謝謝您的指導
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-01-28 17:17:07 IP:202.39.xxx.xxx 未訂閱
參考: http://bdn.borland.com/article/0,1410,21543,00.html
procedure GetCDROMDrives(list: TStrings);
var
  DriveBits: set of 0..25;
  Drives,DriveNum: integer;
  DriveLetter: string;
begin
  list.Clear;
  Drives := GetLogicalDrives;
  if Drives <> 0 then
  begin
    integer(DriveBits) := Drives;
    for DriveNum := 0 to 25 do
    begin
      if (DriveNum in DriveBits) then
      begin
        DriveLetter := char(DriveNum Ord('A')) ':';
        if GetDriveType(PChar(DriveLetter)) = DRIVE_CDROM then
          list.Add(DriveLetter);
      end;
    end;
  end;
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-01-29 12:04:44 IP:61.221.xxx.xxx 未訂閱
引言: 參考: http://bdn.borland.com/article/0,1410,21543,00.html
procedure GetCDROMDrives(list: TStrings);
var
  DriveBits: set of 0..25;
  Drives,DriveNum: integer;
  DriveLetter: string;
begin
  list.Clear;
  Drives := GetLogicalDrives;
  if Drives <> 0 then
  begin
    integer(DriveBits) := Drives;
    for DriveNum := 0 to 25 do
    begin
      if (DriveNum in DriveBits) then
      begin
        DriveLetter := char(DriveNum Ord('A')) ':'請問一下這裡的A只啥???
        if GetDriveType(PChar(DriveLetter)) = DRIVE_CDROM then
          list.Add(DriveLetter);
      end;
    end;
  end;
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-01-29 16:48:34 IP:61.221.xxx.xxx 未訂閱
引言:
引言: 那請問一下如果不是單一檔案而是整個資料夾ㄋ 那又該怎ㄇ做呢??? < face="Verdana, Arial, Helvetica"> 注意紅色部份:
var
  FOS :TSHFileOpStruct;
begin
  with FOS do begin
    Wnd := Self.Handle;
    wFunc := FO_COPY;
    pFrom := 'c:\aaa\*.*';
    pTo := 'c:\bbb';
    fFlags := FOF_NoConfirmMkDir;
  end;
  SHFileOperation(FOS);
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
那在請問一下這裡ㄉPfrom如果是變數呢
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-01-29 20:02:35 IP:202.39.xxx.xxx 未訂閱
找出所有的光碟機 每個光碟機的目錄, 讓 user 選 再加成那個 pFrom 變數 這樣可以嗎? -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-01-29 22:24:52 IP:210.58.xxx.xxx 未訂閱
可是我是希望能個讓電腦autorun 讓電腦自動判斷耶 按一個鈕電腦可以判斷是由那一個光碟機執行然後再把光碟片內的某個資料夾丟到我所想要ㄉ電腦硬碟中的某一個資料夾耶 這樣會不會很複雜阿 < >< >
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-01-30 07:42:38 IP:202.39.xxx.xxx 未訂閱
按個鈕由電腦判斷是哪個光碟機, 應該有個判斷條件 (可是您未說判斷條件是什麼?) 若判斷條件成立, 就把符合該條件的光碟機代號 加上您要的那個資料夾字串成一個完整的目錄 (也未說符合的資料夾條件為何?) 再把該值給 pFrom 不是嗎? -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#18 引用回覆 回覆 發表時間:2003-01-30 08:33:24 IP:61.221.xxx.xxx 未訂閱
OH~對不起我重新說一次好ㄌ~~ 這個程式我是打算放到光碟片上執行ㄉ 首先他會出現一個FORM~~上面有選擇紐 而我希望能夠光碟片一放進去後執行前面說過ㄉFORM後 當選擇到我所設定的按鈕後他能自動把一個特定ㄉ光碟片內的資料夾COPY到電腦的一個已有的資料夾~~這樣不知道夠不夠清楚 光說我就覺得很複雜了~~~真是不好意思 ☆∞★☆∞★☆∞★☆∞★☆∞★☆∞★☆∞★☆∞★☆∞★ PS~~~我我之前都沒碰過這程式語言~~~是一個超級新手~~真是不好意思 可是卻臨時需要使用~~ 真是謝謝Hagar板主ㄋ~~ < >< >
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#19 引用回覆 回覆 發表時間:2003-01-30 09:17:34 IP:202.39.xxx.xxx 未訂閱
1.取得所有的 CD-Rom 的磁碟機代號, 加入 ListBox1 中
procedure GetCDROMDrives;
var
  DriveBits: set of 0..25;
  Drives,DriveNum: integer;
  DriveLetter: string;
begin
  ListBox1.Clear;
  Drives := GetLogicalDrives;
  if Drives <> 0 then
  begin
    integer(DriveBits) := Drives;
    for DriveNum := 0 to 25 do
    begin
      if (DriveNum in DriveBits) then
      begin
        DriveLetter := char(DriveNum Ord('A')) ':';
        if GetDriveType(PChar(DriveLetter)) = DRIVE_CDROM then
          ListBox1.Items.Add(DriveLetter);
      end;
    end;
  end;
end;
2.將您要的資料夾名稱與光碟機代號加成一個完整目錄 然後判斷該目錄存不存在, 若存在, 則進行 Copy 目錄的動作
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
  sDir: string; // 您要的資料夾名稱
  FOS :TSHFileOpStruct;
begin
  sDir := 'aaa';
  for i := 0 to ListBox1.Items.Count -1 do begin
    sDir := ListBox1.Items[i]   ':'   sDir   '\';
    if DirectoryExists(sDir) then // 該目錄存在
      with FOS do begin
        Wnd := Self.Handle;
        wFunc := FO_COPY;
        pFrom := sDir   '*.*';
        pTo := 'c:\bbb';
        fFlags := FOF_NoConfirmMkDir;
      end;
    SHFileOperation(FOS);        Break;
  end;
end;
-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽 發表人 - hagar 於 2003/01/30 09:18:41
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#20 引用回覆 回覆 發表時間:2003-01-30 10:01:49 IP:61.221.xxx.xxx 未訂閱
引言: 2.將您要的資料夾名稱與光碟機代號加成一個完整目錄 然後判斷該目錄存不存在, 若存在, 則進行 Copy 目錄的動作
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
  sDir: string; // 您要的資料夾名稱
  FOS :TSHFileOpStruct;
begin
  sDir := 'aaa';
  for i := 0 to ListBox1.Items.Count -1 do begin
    sDir := ListBox1.Items[i]   ':'   sDir   '\';
    if DirectoryExists(sDir) then // 該目錄存在
      with FOS do begin
        Wnd := Self.Handle;
        wFunc := FO_COPY;
        pFrom := sDir   '*.*';<---這一行會出錯過不去耶???
        >    --
將進酒 杯莫停  與君歌一曲  請君為我傾耳聽      發表人 - >< face="Verdana, Arial, Helvetica">    △▼△▼謝謝~~~~真是麻煩你嚕★☆★☆     
        
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#21 引用回覆 回覆 發表時間:2003-01-30 10:38:55 IP:202.39.xxx.xxx 未訂閱
改成這樣行不行? pFrom := PChar(sDir '*.*'); -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#22 引用回覆 回覆 發表時間:2003-01-30 11:03:21 IP:61.221.xxx.xxx 未訂閱
http://tw.photo.yahoo.com/member/fcgi-bin/photo_show.fcg?ab=ab4&idx=1&ph_id=p35&.r=422268 是可以RUN但按鈕按下去會出現上述圖檔的錯誤呢??? 關掉後會停在break;< >< >我太笨嚕~~~
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#23 引用回覆 回覆 發表時間:2003-01-30 11:16:57 IP:61.221.xxx.xxx 未訂閱
引言: begin sDir := 'aaa'; for i := 0 to ListBox1.Items.Count -1 do begin sDir := ListBox1.Items[i] ':\' sDir '\'; if DirectoryExists(sDir) then // 該目錄存在 with FOS do begin Wnd := Self.Handle; wFunc := FO_COPY; pFrom := sDir '*.*';<---這一行會出錯過不去耶??? pTo := 'c:\bbb'; fFlags := FOF_NoConfirmMkDir; end; SHFileOperation(FOS); Break; end;end;
這一行會出錯過不去耶??? 仔細看一下sDir '*.*' 是= 磁碟機:\sDir\*.* or= 磁碟機:sDir\*.*
------
======================
昏睡~
不昏睡~
不由昏睡~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#24 引用回覆 回覆 發表時間:2003-01-30 11:54:02 IP:202.39.xxx.xxx 未訂閱
引言: 這一行會出錯過不去耶??? 仔細看一下sDir '*.*' 是= 磁碟機:\sDir\*.* or= 磁碟機:sDir\*.*
謝謝 ko 兄的指正! 這行: sDir := ListBox1.Items[i] ':' sDir '\'; 改成: sDir := ListBox1.Items[i] '\:' sDir '\'; -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽 發表人 - hagar 於 2003/01/30 11:54:44
lazygirl
一般會員


發表:1
回覆:10
積分:2
註冊:2003-01-27

發送簡訊給我
#25 引用回覆 回覆 發表時間:2003-01-30 14:37:29 IP:61.221.xxx.xxx 未訂閱
謝謝成功嚕~~~~ 感謝您們的幫忙唷 我會繼續學習的< >< >
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#26 引用回覆 回覆 發表時間:2003-01-30 18:57:16 IP:211.74.xxx.xxx 未訂閱
用CopyFile的Function就可以了啊
garylou
一般會員


發表:1
回覆:3
積分:0
註冊:2003-03-03

發送簡訊給我
#27 引用回覆 回覆 發表時間:2003-03-05 17:28:47 IP:202.175.xxx.xxx 未訂閱
怎樣把c:\aaa\*.wfr copy 到linux 請問如果要將檔案從c: copy 到linux 如(//192.168.1.1//www)中, 由於linux 中安裝了samba, 需要輸入密碼, 該如何編程. 萬分感謝
系統時間:2024-04-28 12:08:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!