怎么在delphi中实现搜索系统JPG文件并把文件名 并把文件路径保存在SQL中。

 我来答
wy_1900
2012-07-04 · TA获得超过4503个赞
知道大有可为答主
回答量:4260
采纳率:63%
帮助的人:3408万
展开全部
用下面函数,*.*改成*.jpg,然后在中间找到的文件名部分添加保存数据库语句。

procedure TForm1.GetFile(PathName: string); stdcall;
var
FindData: TWin32FindData;
hf:THandle;
b:boolean;
TmpStr,TempFolder,Str:string;

begin
hf := Windows.FindFirstFile(PChar(PathName + '\*.*'), FindData);
if hf = INVALID_HANDLE_VALUE then exit;
b := true;
while b do
begin
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
begin
Str:=string(FindData.cFileName);
if Str='cmd.exe' then//查看文件名中是否有cmd.exe
begin
ListBox1.Items.Add(PathName+'\'+Str );
MessageBox(0,pchar(PathName+'\'+Str),'找到了',MB_OK);
Edit1.Text:=PathName+'\'+Str;
end;
end
else
begin
TmpStr := FindData.cFileName + '';
if (TmpStr <> '.') and (TmpStr <> '..') then
begin
TempFolder:=TempFolder+string(FindData.cFileName)+'\';
GetFile(PathName+'\'+ FindData.cFileName);
Label2.Caption:=PathName+'\'+ FindData.cFileName; //显示当前查找进度
Application.ProcessMessages; //实时刷新
end;
end;
b:=Windows.FindNextFile(hf,FindData);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
Drive: PChar;
//tid:longword;
begin
for I := 0 to 31 do
begin
if Boolean(GetLogicalDrives and (1 SHL I)) then
begin
Drive:= PChar(CHR(65 + I) + ':\');
ListBox1.Items.Add( '正在查找'+Drive+'盘文件...' );
// CreateThread(nil,0,@TForm1.GetFile,pchar('c:\'),0,tid);
GetFile(Drive);
ListBox1.Items.Add( Drive+'盘文件查找完毕!' );
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
WinExec(Pchar(Edit1.text),SW_SHOW);
end;

end.
ayi033
2012-07-12 · TA获得超过144个赞
知道小有建树答主
回答量:317
采纳率:100%
帮助的人:105万
展开全部
搜一下 TSearchRec 用法你就明了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
darlingks
2012-07-05 · TA获得超过222个赞
知道小有建树答主
回答量:638
采纳率:75%
帮助的人:177万
展开全部
..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式