[開く] ダイアログで、[開く] ダイアログ フィルターに同じファイル拡張子を読み込めないことがあるため、最初のファイルを更新してファイルを見つける必要があったのはなぜですか。
例えば:Filter = *.jpg
エクスプローラーの開くダイアログでファイルが見つからないのです*.jpg
が、拡張子が の画像がたくさんあります*.jpg
。
これは、Win 7 OS [x86 & x64] で発生します。私が使用しているコンパイラのバージョンは Delphi 7 です。
procedure TForm1.Button1Click(Sender: TObject);
var
JpgIF: TJpegImage;
BmpIF: TBitmap;
begin
JpgIF := TJpegImage.Create;
BmpIF := TBitmap.Create;
OD.FileName := '';
OD.DefaultExt := '*.jpg;*.jpeg;*.psd;*.tga*.png;*.gif;*.bmp';
OD.Filter := 'JPG|*.jpg|Jpeg|*.jpeg|PSD|*.psd|TGA|*.tga|PNG|*.png|GIF|*.gif|Bmp|*.bmp';
if not OD.Execute then
Exit
else if LowerCase(ExtractFileExt(OD.FileName)) = '.jpg' then
begin
JpgIF.LoadFromFile(OD.FileName);
Img1.Picture.Bitmap.Assign(JpgIF);
end
else
begin
if LowerCase(ExtractFileExt(OD.FileName)) = '.bmp' then
begin
BmpIF.LoadFromFile(OD.FileName);
Img1.Picture.Bitmap.Assign(BmpIF);
end;
//etc...
end;
JpgIF.Free;
BmpIF.Free;
end;