OpenPictureDialog1

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

OpenPictureDialog1

Mesaj gönderen zaxacm »

form üzerine bir adet OpenPictureDialog1 nesnesi koydum ve propertiesinden filterı tjpg

bmp gif filan hepsini seçtim.Ve aşağıdaki kodu kullanarak OpenPictureDialog1 in yolunu

edit3e yazdırmaya çalışıyorum ama butonu tıklıyorum dialog penceresi açılıyor ancak

altta dosya türü bölümünde sadece bmp,ico,emf,wmf uzantıları çıkıyor ve bir de mesela

dialog penceresi içinde resim dosyası gözüküyorsa çift tıklayıp seçiyor ama resimlerim

klasörünü açıp içinden resim seçmek için resimlerim klasörünü çift tıklamaya çalışınca

şu hatayı veriyor:unknown picture file extension(.lnk)

Kullandığım kod
procedure TForm2.Image1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Edit3.Text:=OpenPictureDialog1.FileName;
end;
end;

not:elinde resim kaydetme silme gösterme ile ilgili basit bi örnek olan arkadaş gönderebilirse çok sevinirim zaxacam@hotmail.com
Kullanıcı avatarı
ozsal
Üye
Mesajlar: 108
Kayıt: 22 Oca 2006 07:55
Konum: izmir
İletişim:

Mesaj gönderen ozsal »

slm

Kod: Tümünü seç

procedure TForm1.Image1Click(Sender: TObject);
begin
begin
openpicturedialog1.Execute;
if openpicturedialog1.FileName='' then
begin
showmessage(' resim seçilmemiş  ');
end
else

edit1.Text:=openpicturedialog1.FileName;

end;
end;
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

.lnk dosyası kısayol dosyasıdır, resim dosyası değil. Bunu ister kodla kontrol eder uzantısı .lnk olan dosyaları açtırmazsın istersen (tabi yapabiliyorsan) bu uzantıda ki dosyanın başvurduğu dosyayı bulup onu açabilirsin. Bu kısayol dosyalarının başvurduğu dosyanın bulunması konusunda kaynağım yok.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

Mesaj gönderen zaxacm »

Arkadaşlar bu ksayol klasörünü tıklayınca hata vermemesi için ne yapabilirim acaba lütfen yardım edin
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Uses'a Jpeg unitini eklemezsen Image nesnesi *.jpg *.bmp, *.gif, vb. uzantıları görmez ve desteklemez :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

Mesaj gönderen zaxacm »

*.jpg *.bmp, *.gif, vb. uzantıları görüyor sorun yok.tek sorun kısayol klasörünü tıklayınca hata vermesi bunu önlemem lazım
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

kısayol klasörü ne demek?
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Yaptığım denemede bahsettiğin sorun oluşmadı. Sanırım .lnk uzantılı kısayolu resim dosyası gibi açmaya çalıştığından o hatayı alıyorsun.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
    if pos('.LNK', UpperCase(OpenPictureDialog1.FileName)) = 0 then
    begin
      Edit1.Text:=OpenPictureDialog1.FileName;
      Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    end;
end;
şeklinde resim dosyasını yüklemeden önce kontrol edebilirsin.

*** Unit1.dfm ***

Kod: Tümünü seç

object Form1: TForm1
  Left = 307
  Top = 58
  BorderIcons = [biSystemMenu, biMinimize]
  BorderStyle = bsDialog
  Caption = 'Form1'
  ClientHeight = 481
  ClientWidth = 545
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Image1: TImage
    Left = 18
    Top = 152
    Width = 478
    Height = 301
    Center = True
    Stretch = True
  end
  object Edit1: TEdit
    Left = 26
    Top = 108
    Width = 363
    Height = 21
    TabOrder = 0
    Text = 'Edit1'
  end
  object Button1: TButton
    Left = 411
    Top = 107
    Width = 83
    Height = 25
    Caption = 'Resim Yükle'
    TabOrder = 1
    OnClick = Button1Click
  end
  object OpenPictureDialog1: TOpenPictureDialog
    Left = 154
    Top = 31
  end
end
*** Unit1.pas ***

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ExtDlgs, Jpeg;

type
  TForm1 = class(TForm)
    OpenPictureDialog1: TOpenPictureDialog;
    Edit1: TEdit;
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
    if pos('.LNK', UpperCase(OpenPictureDialog1.FileName)) = 0 then
    begin
      Edit1.Text:=OpenPictureDialog1.FileName;
      Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    end;
end;

end.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla