超高难问题:我的程序当前目录下有4张图片,分别为1028094530.bmp,1028094531.bmp,1028094532.bmp,1028094533.

  • 主题发起人 主题发起人 wanglong0
  • 开始时间 开始时间
W

wanglong0

Unregistered / Unconfirmed
GUEST, unregistred user!
超高难问题:我的程序当前目录下有4张图片,分别为1028094530.bmp,1028094531.bmp,1028094532.bmp,1028094533.bmp。怎么点击一下按钮就可以取的文件名数值最大的那个文件名并且显示到edit1里??? (53分)<br />超高难问题:我的程序当前目录下有4张图片,分别为1028094530.bmp,1028094531.bmp,1028094532.bmp,1028094533.bmp。怎么点击一下按钮就可以取的文件名数值最大的那个文件名并且显示到edit1里???
 
先用将所有的文件名转为integer.然后再比较那个大,
 
StrToInt(ExtractFilename(文件名));
 
var
FileLst : TFileListBox;
begin
Result := 'NoneBMP';
FileLst := TFileListBox.Create(Self);
try
with FileLst do
begin
Visible := False;
Directory := YourDirectory ;
Mask := '*.bmp';
end;
if FileLst.Items.Count > 0 then
Result := FileLst.Items.Strings[FileLst.Count-1];
finally
FileLst.Free ;
end;
//FileLst的排序就是从小到大的,所以取最后的就可以了
end;
 
foxyxyan高手,我对您的代码做了如下修改,怎么不行呢??

procedure TForm1.Button1Click(Sender: TObject);
var
FileLst : TFileListBox;
begin
FileLst := TFileListBox.Create(Self);
try
with FileLst do
begin
Visible := False;
Directory := 'C:/Documents and Settings/Administrator/桌面/显示最大的图片';
Mask := '*.bmp';
end;
if FileLst.Items.Count > 0 then
edit1.text := FileLst.Items.Strings[FileLst.Count-1];
finally
FileLst.Free ;
end;
//FileLst的排序就是从小到大的,所以取最后的就可以了
end;
 
楼上说的 TFileListBox不错,我怎么都没有发现,原来是Win3.1页的!
当然楼主可以遍历目录找*.bmp(这些 TFileListBox应该内部都作了处理)
然后再根据三楼的方法就行了!
 
to wanglong0:
edit1.text := FileLst.Items.Strings[FileLst.Items.Count-1];
是我笔误了。
 
但还是出错,提示信息为:
control''has not parent window.
 
呵呵,那你就指定下FileLst.Parent := Self ;
我只是说了下大致的方法,其实我自己也没有测试,只是我以前曾这样写过,
所以有些错误还得你自己纠正下。
 
很简单啊,先取出文件名再放到一个listbox中,然后将listbox的排序属性置为true就可以了
 
接受答案了.
 
后退
顶部