社区
C++ Builder
帖子详情
100分求bcb代码一段。
chpst
2005-03-11 09:13:14
在不知到文件名的情况下,找出硬盘中大小相同重复文件
1.列出文件名,日期,路径等属性
2。列出的重复文件,可以在界面内编辑,如删除。
...全文
338
10
打赏
收藏
100分求bcb代码一段。
在不知到文件名的情况下,找出硬盘中大小相同重复文件 1.列出文件名,日期,路径等属性 2。列出的重复文件,可以在界面内编辑,如删除。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
)"这个标题指的是一个编程示例,它展示了如何使用
BCB
(Borland C++ Builder)来启动和控制计算机上的摄像头。
BCB
是Borland公司推出的一种集成开发环境(IDE),它基于C++语言并提供...
bcb
代码
透明Panel
在这个场景下,"
bcb
代码
透明Panel"是一个实现控件透明化技术的例子。Panel控件在
BCB
中是一个常用的容器类,它可以用来组织和管理其他控件,通常具有边框和背景色。然而,让Panel变得透明并不是
BCB
默认提供的功能,...
bcb
系统框架
代码
【标题】"
bcb
系统框架
代码
"涉及到的是使用Borland C++ Builder(简称
bcb
)这一集成开发环境编写的程序框架。Borland C++ Builder是Borland公司推出的一种快速应用程序开发(RAD)工具,它基于C++语言,并且集成了...
公历转农历的
BCB
代码
标题“公历转农历的
BCB
代码
”指的是使用Borland C++ Builder(简称
BCB
)编写的
代码
,实现了将公历日期转换为农历日期的功能。描述中提到,这个转换功能定义了一个名为ConvDate的类,并且能够处理1932年至2031年之间...
BCB
6常用dll-
BCB
程序的运行库
【
BCB
6常用dll-
BCB
程序的运行库】是一个针对
BCB
6.0(Borland C++ Builder 6)开发环境的重要组件集合。这些动态链接库(DLLs)和相关文件是确保
BCB
程序在没有完整安装
BCB
6环境的计算机上也能正常运行的关键。下面将...
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章