OleContainer

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

OleContainer

Mesaj gönderen m_ekici »

Merhaba arkadaşlar

Database e kaydettiğim farklı uzantılı dosyalar var. (.doc, .pdf, .xls). DB de kayıtlı bu dosylardan seçtiğimi OleContainer ile açmak istiyorum, Daha doğrusu önizleme yapmak istiyorum. Fakat OleContainer'i her defasında açılacak dosya türüne göre oluşturmam gerekiyor (galiba). Bunu nasıl yaparım. Örnek olarak Word dosyasın açmak istediğimde oluşacak OleContainer in türü 'Word.Application' olması gerekiyor. Bu türlerin yazılımını nasıl bulacağım?
Birde Olecontainer de açmak istediğim dosyayı Opendialogdan seçtiğimde (OleContainer1.CreateObjectFromFile(OpenDialog1.FileName, false) dosya türünü anlıyor(dur herhalde). ben streamda bunu nasıl vereceğim? Farklı fikirlere de almak isterim.

İyi çalışmalar
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: OleContainer

Mesaj gönderen SimaWB »

Olecontainer ile PDF'i açamazsınız sanırım (En azından ben öyle biliyorum). Dolayısıyla PDF dosyaları ön izleme için başka bir yol bulmalısınız.
Dosya isimlerini yada uzantılarını da veritabanına kaydedip uzantıya göre ön izleme formu oluşturmanızı tavsiye ederim.
There's no place like 127.0.0.1
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: OleContainer

Mesaj gönderen Lord_Ares »

1. bir yerde okumuştum. "ole nesnesi kullanarak istediğin dosyaya direk bağlantı kurabilirsin."
örnek olarakta şu kod verilmişti. ( kod içinde e ile belirtilen bir değişken var tipi nedir bilmiyorum. Kodu şuan deneme şansım yok. Google da OleCOntainer1.CreateLinkToFile aratırsanız belki yardımcı olabilir)

umarım işinize yarar.
Saygılar.

Kod: Tümünü seç

try
OleCOntainer1.CreateLinkToFile('C:\deneme.xls',FALSE);
  except on e: exception do 
  MessageDlg(e.Message,mtError,[mbOK], 0);
end;
2 seçenek olarak formuna bir adet olecontainer ekle.

Kod: Tümünü seç

/// yeni buttonuna yazılacak olan. Ekrana hangi uygulama için ole yaratmak istediğini soran pencere gelir.
begin
Olecontainer1.InsertObjectdialog;
en;
/// aç buttonuna yazılacak olan
begin //formuna bir adet open dialog koymayı unutma
if (opendialog1.Execute) then
OleContainer1.LoadFromFile(opendialog1.Filname);
end;
Cevapla