社区
C++ Builder
帖子详情
100分求bcb代码一段。
chpst
2005-03-11 09:13:14
在不知到文件名的情况下,找出硬盘中大小相同重复文件
1.列出文件名,日期,路径等属性
2。列出的重复文件,可以在界面内编辑,如删除。
...全文
349
10
打赏
收藏
100分求bcb代码一段。
在不知到文件名的情况下,找出硬盘中大小相同重复文件 1.列出文件名,日期,路径等属性 2。列出的重复文件,可以在界面内编辑,如删除。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chpst
2005-03-16
打赏
举报
回复
道理没错,就是要循环死掉。运行中程序停止响应。
gyj_china
2005-03-15
打赏
举报
回复
Windows自带的查找也能滿足你的要求啊?速度也挺快的,有现成的为何不用?
chpst
2005-03-15
打赏
举报
回复
再顶一下
是这样的,我的兄弟给我出的,的确象文件的属性列出是没问题的.现在的的硬盘都比较大,我存了个文件在上面,名字忘了,有可能存了几个地方.而且这种情况发上很多次.
现在就想整理,如有这样的程序就很方变了.是个查找文件系统算法的问题.
1cctv
2005-03-15
打赏
举报
回复
在我的代码上,加入你还需要的功能,应该很简单了.
tokens
2005-03-14
打赏
举报
回复
晕,这没有难的..只是算法快慢的问题
show00
2005-03-14
打赏
举报
回复
先将所有文件整理到ACCESS,然后你想怎么做都可以了撒
constantine
2005-03-14
打赏
举报
回复
1.列出文件名,日期,路径等属性--简单了,这些都可以在论坛里找到
2.这个也不难啊,比较而已,不过我没有好的算法,就是for
oldtab
2005-03-14
打赏
举报
回复
题目出得好。有实用价值。只是有点难。
坐看能人。
oldtab
2005-03-14
打赏
举报
回复
坐一回沙发。
1cctv
2005-03-14
打赏
举报
回复
//---------------------------------------------------------------------------
typedef struct fileNameSizeS
{
int len;
char fileName[0];
} fileName_Size;
//---------------------------------------------------------------------------
void __fastcall GetFileList(char *dir,TList *list)
{
WIN32_FIND_DATA wfd;
char dirBuf[272];
int dirLen=lstrlen(dir);
int fileNameLen;
if (dirLen<3) return;
CopyMemory(dirBuf,dir,dirLen+1);
if(dirBuf[dirLen-1]!='\\')
{
dirBuf[dirLen]='\\';
dirBuf[dirLen+1]=0;
dirLen++;
}
wfd.dwFileAttributes=-1;
lstrcpy(dirBuf+dirLen,"*.*");
HANDLE hFind=FindFirstFile(dirBuf,&wfd);
if(hFind!=INVALID_HANDLE_VALUE)
{
bool bFind=true;
while(bFind)
{
if(wfd.cFileName[0]!='.') // . ..
{
fileNameLen=lstrlen(wfd.cFileName);
CopyMemory(dirBuf+dirLen,wfd.cFileName,fileNameLen+1);
fileNameLen+=dirLen;
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
GetFileList(dirBuf,list);
else
{
fileName_Size *fns;
(char*)fns=new byte[4+fileNameLen+dirLen];
fns->len=wfd.nFileSizeLow;
CopyMemory(fns->fileName,dirBuf,fileNameLen+1);
list->Add(fns);
}
}
bFind=FindNextFile(hFind,&wfd);
}
FindClose(hFind);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char disp[256];
TList *tl=new TList;
GetFileList("E:\\",tl);
for(int i=0;i<tl->Count;i++)
{
fileName_Size *a=(fileName_Size*)tl->Items[i];
for(int j=i+1;j<tl->Count;j++)
{
fileName_Size *b=(fileName_Size*)tl->Items[j];
if(a->len==b->len)
{
wsprintf(disp,"%-10d %s\x0d\x0a%-10d %s\x0d\x0a",a->len,a->fileName,b->len,b->fileName);
Memo1->Lines->Add(disp);
break;
}
}
}
for(int i=0;i<tl->Count;i++)
delete[] tl->Items[i];
delete disp;
}
//---------------------------------------------------------------------------
222661
一段
开启摄像头的
代码
(
BCB
)
222661
一段
开启摄像头的
代码
(
BCB
) cccccccc
bcb
代码
透明Panel
把panel设置成透明,并且可以显示图像,图像透明,但输出文字不透明。原创
代码
。
bcb
系统框架
代码
代码
为
bcb
2010编写。主要能给习惯拖控件的写程序的人带来一些面向对象设计的概念。
公历转农历的
BCB
代码
公历转农历的
BCB
代码
。 公历与农历转换函数,定义了一个ConvDate类。 可以完成1932--2031年之间的转换。
BCB
6常用dll-
BCB
程序的运行库
BCB
6.0的动态链接库,将所开发的可执行文件放在其中,基本保证不需安装
BCB
6即可运行程序。
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章