OpenDialogPicture Arama Kriteri

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

OpenDialogPicture Arama Kriteri

Mesaj gönderen emrekilinc1984 »

Merhaba arkadaşlar,
örnek veriyorum kullanıcı edit resim adını yazacak ve resim belirtilen klasör ve alt klasörlerde varsa image1'de otamatik olarak gösterilecek.

bu kodla sadece verdiğim klasördeki resmi gösteriyor, alt klasöründekileri bulamıyor.

mesaj:integer;
begin

try
If Key = #13 then

Image1.Picture.LoadFromFile('\\10.0.0.5\Demo\RESIM'+'\'+Ara.Text+'.jpg');

except

mesaj:=Application.MessageBox('Resim Bulunamadı!','Uyarı',mb_OK+MB_ICONWARNING);

end;
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen ertank »

Merhaba,

Soru sorarken kullandığınız Delphi sürümünü belirtmemişsiniz. Eğer son sürümlerden birisi ise aşağıdaki şekilde istediğinizi yapmanız mümkün olabilir.

Kod: Tümünü seç

uses
  System.IOUtils,
  System.Types;

procedure TForm1.Button1Click(Sender: TObject);
var
  LList: TStringDynArray;
  SList: TStringList;
  i: Integer;
begin
  LList := TDirectory.GetFiles(Edit1.Text, Edit2.Text, TSearchOption.soAllDirectories);

  SList := TStringList.Create();
  try
    for i := Low(LList) to High(LList) do
      SList.Add(LList[i]);

    ShowMessage(SList.Text);
  finally
    SList.Free();
  end;
end;
Edit1.Text içinde arama yapmak istediğiniz başlangıç dizini olacak
Edit2.Text içinde arama yapmak istediğiniz dosyanın adı olacak.

Sadece bir tane olduğuna emin iseniz ShowMessage satırında SList[0] içindeki bilgi istediğiniz bilgi olacaktır.
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen emrekilinc1984 »

hocam örnek bir proje yazıp atarmısınız tek edit olacak ama bunun baktığı ana klasör ve ana klasörün altındaki tüm dosyalarda resim arayacak şimdiden yardımlarınız için teşekkürler..
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen emrekilinc1984 »

bu arada hocam rad studio xe8 kullanıyorum
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen ertank »

Yukarıda verdiğim örnek oldukça yeterli idi. Üzerinde biraz çalışıp kendinize uygun hale getirebilirdiniz. Ekteki uygulama ne derece ihtiyaçlarınızı karşılar bilemiyorum.
Dosya ekleri
findfile.rar
(57.15 KiB) 46 kere indirildi
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen emrekilinc1984 »

teşekkürler..
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen emrekilinc1984 »

hocam resimleri hiç bulmuyor şimdi

status barda resim varsa Dosya açılamıyor. Hata: hatası veriyor

eğer sallama bir isim yazarasam application hatası veriyor image1 de resmi gösteremiyor ugraştım baay olmadı yardımcı olurmusunuz.
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen ertank »

Uses kısmına aşağıdaki ifadeyi ekleyin.

Kod: Tümünü seç

  Vcl.Imaging.Jpeg
Buton tıklama kodunu aşağıdaki şekilde değiştirin.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  FoundFile: string;
  Jpeg: TJPEGImage;
begin
  Edit1.Text := Trim(Edit1.Text);
  if Edit1.Text <> EmptyStr then
  begin
    Screen.Cursor := crHourGlass;
    try
      FoundFile := GetFirstFile(TPath.GetDirectoryName('C:\Users\Ertan\Pictures'), Edit1.Text + '.jpg');
    finally
      Screen.Cursor := crDefault;
    end;
    if FoundFile = EmptyStr then
    begin
      StatusBar1.SimpleText := 'Belirtilen isimde dosya bulunamadı.';
      Exit();
    end;

    try
      Jpeg := TJPEGImage.Create();
      try
        Jpeg.LoadFromFile(FoundFile);
        Image1.Picture.Assign(Jpeg);
      finally
        Jpeg.Free();
      end;
    except
      on E: Exception do
      begin
        StatusBar1.SimpleText := 'Dosya açılamıyor. ' + ExtractFileName(FoundFile) + ', Hata:' + E.Message;
      end;
    end;
  end;
end;
Form için bir OnCreate() olayı tanımlayıp içine aşağıdaki kodu ekleyin.

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Stretch      := True;
  Image1.Proportional := True;
end;
NOT: Bu kod sadece JPG ekli dosya aramaktadır.
- Eğer sizin dosyalarınız JPEG eki ile kaydediliyor ise kod içinde Dosya ekini değiştirmeniz gerekir.
- Eğer sizin dosyalarınız arasında PNG vb farklı formatlar varsa bu defa kod değişikliği ve kullanılacak tüm eklerin kod içinde kontrolü gereklidir.
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: OpenDialogPicture Arama Kriteri

Mesaj gönderen emrekilinc1984 »

hocam teşekkürler allah razı olsun.
Cevapla