delhpi 获取目录中所有文件名不用控件

unit   commvar;   
    
  interface   
  uses   Windows,   Messages,   SysUtils,   Variants,   Classes;   
    
  function   SearchInfoPack(Folder:   String):TStrings;   
  implementation   
    
  function   SearchInfoPack(Folder:   String):TStrings;   
  var   
      ResultStrings:TStrings;   
      DosError:integer;   
      SearchRec:TsearchRec;   
  begin   
      ResultStrings:=TStringList.Create;   
      DosError:=FindFirst(ExtractFilePath(ParamStr(0))+   Folder   +   '*.*',   faAnyFile,   SearchRec);   
      //DosError:=FindFirst(ExtractFilePath(ParamStr(0))+   'DDD\'   +   '*.*',   faAnyFile,   SearchRec);   
      while   DosError=0   do   
      begin   
          ResultStrings.Add(ChangeFileExt(SearchRec.Name,''));   
          DosError:=FindNext(SearchRec);   
      end;   
      FindClose(SearchRec);   
      Result:=ResultStrings;   
  end;   
    
  end.   
    
  稍微修改一下就OK了


我用image控件和shelllistview控件
想通过点击shelllistview中的图片图标使在image控件中显示该图片
但不知道shelllistview控件如何使用
我用image1.picture.loadFormfile(filename)
filename应该和shelllistview控件如何关联?
希望各位高手尽快答复,小弟感激不尽![8D]  


来自:bubble, 时间:2002-4-1 11:20:00, ID:1015618
//这样写试试看  ,试着多研究研究shellctrls.pas
procedure TForm1.ShellListView1Change(Sender: TObject; Item: TListItem;
  Change: TItemChange);
begin
  try
  inherited;
  Image1.Picture.LoadFromFile(ShellListView1.SelectedFolder.PathName);
  except
  end;
end;
 //运行编译好的程序不会出错,你还可以进一步优化。比如说判断后缀名,给分吧。^_*  


来自:咪咪猫, 时间:2002-4-2 0:40:00, ID:1017367
谢谢你的答复
再问一下该如何判别后缀
我想能够看jpg,gif等其他格式,不只是bmp格式
回答后给200分  


来自:咪咪猫, 时间:2002-4-2 1:48:00, ID:1017415
procedure Tmainform.ShellListView1Change(Sender: TObject; Item: TListItem;
  Change: TItemChange);
 var filename:string;
 begin
  filename:=shelllistview1.Selectedfolder.PathName;
  if ExtractFileExt(filename)<>'.bmp' then
  showmessage('cat')
  else
    begin
      try
      inherited;
       image1.Picture.LoadFromFile(shelllistview1.Selectedfolder.PathName);
      except
      end
    end
end;
我这样做好像会出错,不知道为什么,请指教^_^
  


来自:bubble, 时间:2002-4-2 10:23:00, ID:1017720
procedure TForm1.ShellListView1Change(Sender: TObject; Item: TListItem;
  Change: TItemChange);
var
  Ext,filename:string;
  i:integer;
begin
 try
  filename:=shelllistview1.Selectedfolder.PathName;
  Ext:=ExtractFileExt(filename);
  for i:=2 to length(Ext) do
    Ext[i]:=upcase(Ext[i]);
  if (Ext<>'.BMP') and (Ext<>'.JPG') then
    exit
  else
    begin
      try
      image1.Picture.LoadFromFile(filename);
      except
      end
    end
  except
  end;
end;
 //gif格式 delphi的image支持起来有困难,最好去找一个第三方控件,cakk.126.com就有.
别的就真不知道了,ShellListView也没怎么用过,自己多动动脑筋吧。ok  



Delphi中Edit是这样的:
i := 1;
TEdit(FindComponent('Edit' + IntToStr(i) + '1')).Text := 'TEXT';
这样的话 Edit11.Text 的值就是TEXT了。

FindComponent是按照控件(name属性)的名字查找控件。

每个有child的控件多可以用FindComponent是查找它的child.
for i:=1 to 10 do

begin

  table1.append;

  table1.fieldByname('a').AsString :=

    (FindComponent('Edit'+IntToStr(i)) as TEdit).text;

  table1.post;

end;

posted on 2009-09-08 23:19  舟山牙医  阅读(382)  评论(0编辑  收藏  举报

导航