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

列出目錄的FindFirstFile問題

缺席
swlong66
一般會員


發表:8
回覆:3
積分:2
註冊:2004-12-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-26 10:19:47 IP:163.16.xxx.xxx 未訂閱
各位我用ListView要列出C槽的目錄, 但是在使用FindFirstFile就有問題, 請問FindFirstFile((C:\).c_str(),&FileInfo); 這樣寫對嗎? 請各位前輩指教! WIN32_FIND_DATA FileInfo; HANDLE FileHandle; ListView1->Items->Clear(); FileHandle = FindFirstFile((C:\).c_str(),&FileInfo);
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-26 10:54:32 IP:61.228.xxx.xxx 未訂閱
swlong66,    用FindFirstFile("C:\\*.*",&FileInfo);    補充一下,我看了你的寫法,你可能是要用AnsiString物件的方式,那作法如下:
AnsiString Dir="C:";
FindFirstFile((Dir "\\*.*").c_str(),&FileInfo);
發表人 - georgeku 於 2005/05/26 11:52:08
swlong66
一般會員


發表:8
回覆:3
積分:2
註冊:2004-12-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-26 21:04:39 IP:218.175.xxx.xxx 未訂閱
這是參考書上範本寫的, 沒錯誤, 可是不會跑, 請前輩指教, 謝謝! //列出目錄 WIN32_FIND_DATA FileInfo; HANDLE FileHandle; ListView1->Items->Clear(); FileHandle = FindFirstFile("C:\\*.*",&FileInfo); if (FileHandle != INVALID_HANDLE_VALUE) { TListItem *pListItem; pListItem = ListView1->Items->Add(); //加入檔案名稱 pListItem->Caption = FileInfo.cFileName; if(FileInfo.nFileSizeHigh==0) pListItem->SubItems->Add(String(FileInfo.nFileSizeLow)); else { //以MegaByte單位顯示 double fsize=(MAXDWORD*FileInfo.nFileSizeHigh) FileInfo.nFileSizeLow; pListItem->SubItems->Add((String)(fsize/1048576.0) ' MB'); } pListItem->SubItems->Add(String(FileInfo.cAlternateFileName)); while (FindNextFile(FileHandle, &FileInfo)) { pListItem = ListView1->Items->Add(); //加入檔案名稱 pListItem->Caption = FileInfo.cFileName; if(FileInfo.nFileSizeHigh==0) pListItem->SubItems->Add(String(FileInfo.nFileSizeLow)); else { //切割成以KiloByte double fsize=(MAXDWORD*FileInfo.nFileSizeHigh) FileInfo.nFileSizeLow; pListItem->SubItems->Add((String)(fsize/1024.0) ' K'); } //以8.3原則的檔名格式顯現 pListItem->SubItems->Add(String(FileInfo.cAlternateFileName)); //更新時間之格式 FILETIME lpLocalFileTime ; FileTimeToLocalFileTime(&FileInfo.ftLastWriteTime,&lpLocalFileTime); SYSTEMTIME lpSystemTime; FileTimeToSystemTime(&lpLocalFileTime,&lpSystemTime); pListItem->SubItems->Add(FormatDateTime("yyyy/mm/dd hh:nn:ss",SystemTimeToDateTime(lpSystemTime))); } }
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-26 22:14:23 IP:218.168.xxx.xxx 未訂閱
您好:    PO程式碼的方式請參考版規說明,煩請修改謝謝您的配合 >
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-27 00:49:06 IP:218.19.xxx.xxx 未訂閱
swlong66 您好: 我測試過您貼上來的程式碼,在我這裡可以正常運作,也可以列出檔案資訊,第一欄是檔案名稱 (長檔名)、第二欄是檔案大小、第三欄也是檔案名稱 (8.3 短檔名)、第四欄是日期,應該沒錯吧? 不知道您是將貼上來的那一段程式碼放在整個程式的什麼位置?觸發事件為何?執行時有發生何種錯誤嗎? 發表人 - RedSnow 於 2005/05/27 00:49:49
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-27 09:39:01 IP:61.228.xxx.xxx 未訂閱
swlong66, 你所謂的不會跑,情形可以形容一下嗎? 如果光看程式碼的話,那些CODE是沒有問題的,問題可能出在你引用的ListView元件,你有設定它的屬性嗎?例如ViewStyle要設成vsReport,另外你有編輯欄位給ListView1嗎?
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-28 02:02:44 IP:221.169.xxx.xxx 未訂閱
swlong66:好奇問一聲,你的ListView中ViewStyle設成vsReport。 但你的Columns可有設定 檔案名稱 大小 8.3檔名 更新時間等四個欄位。 不設定是不會顯示資料! 請參考! Andy Chang
------
Andy Chang
swlong66
一般會員


發表:8
回覆:3
積分:2
註冊:2004-12-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-30 16:29:53 IP:218.175.xxx.xxx 未訂閱
各位先進: 您們說的部分我都有做,我懷疑是否用button click的問題, 我將程式碼更新了,就只有寫這樣,執行沒有錯誤,但列不出來, 請各位先進指導,謝謝!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-30 17:47:49 IP:218.19.xxx.xxx 未訂閱
swlong66 您好:    如果方便的話,請將您的程式整個打包上傳到 "會員求助程式檔案上傳區",然後將上傳後的連結位址貼到這裡上,並簡單描述一下您的操作步驟,讓有興趣幫忙的人將程式下載來測試一下,應該能很快就找出問題的,上傳的方式如下: 1. 點選下列連結: http://delphi.ktop.com.tw/post.asp?method=Topic&FORUM_ID=97&CAT_ID=31&Forum_Title=%B7%7C%AD%FB%A8D%A7U%B5%7B%A6%A1%C0%C9%AE%D7%A4W%B6%C7%B0%CF 2. 找到畫面上標示著 "上傳檔案:" 字樣的地方,然後點選其右方標示著 "瀏覽..." 字樣的按紐。 3. 使用一般我們開啟檔案的操作方式來找您電腦上的檔案,點選欲上傳的檔案後點擊選檔視窗上的 "開啟" 按紐。 4. 記得圈選主題分類、程式語言項目的內容,並在主題欄內填上適當文字。 5. 往下找到標示著 "存入新主題" 的按鈕,點擊該按鈕即可。 以上是上傳步驟的簡述,請仔細瀏覽上傳頁面上的各個項目與標示,以確保上述的簡述沒有遺漏掉重要的步驟。
jeremywu
一般會員


發表:3
回覆:4
積分:1
註冊:2006-10-18

發送簡訊給我
#10 引用回覆 回覆 發表時間:2006-10-19 17:14:41 IP:59.120.xxx.xxx 未訂閱
請問如果我要find ftp 上的檔案也可以用此方法嗎
我試了好久handle 都回傳ffffff
不知是我路徑給錯還是哪兒出問題,請前輩幫我看一下

FileHandle = FindFirstFile("//192.168.20.123//LogData//*.*",&FileInfo);
我的ftp預設路徑是//logdata...
請問一下這樣處理對嗎?
系統時間:2024-04-26 5:16:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!