excel'e form aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
tubaca
Üye
Mesajlar: 44
Kayıt: 24 Ağu 2004 10:30
Konum: Ankara
İletişim:

excel'e form aktarma

Mesaj gönderen tubaca »

merabalar
daha once formu istediğim gibi yazdıramadıgımiçin yardım istemiştim.fakat cevap gelmedi.sanırım istediğim sey mumkun degil.
fakat bi yerden formu birebir exele aktarabilecegimi duydum.ama biraz zormuş.bu konuda bilgisi olan arkadaslar bana yardımcı oalbilirlerse sevinirim.azcık bilgide olsa yeter ben bi sekilde ugrasır bi cozum yolu bulmaya çalışırım. :) kolay gelsin...
TNU
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var //capture için
    MyBMP : TBitMap;
    MyJPEG : TJPEGImage;
    // excel için
    ExcelFile  :variant;
    ExcelSheet :variant;

begin
     MyBMP:=TBitMap.Create;
     MyJPEG := TJPEGImage.Create;
  try
     MyBMP:=GetSCREENSHOT;
     MyJPEG.Assign(myBMP);
     MyBMP.SaveToFile(ExtractFilePath(Application.ExeName)+'Page.bmp');
     MyJPEG.SaveToFile(ExtractFilePath(Application.ExeName)+'Page.jpg');
  finally
     myBMP.Free;
     MyJPEG.Free;
  end;


     ExcelFile:=createoleobject('excel.application');
     ExcelFile.workbooks.add;
     ExcelFile.activeworkbook.worksheets[1].Name := 'Resim';
     ExcelSheet:=ExcelFile.activeworkbook.worksheets[1].cells[1];

      ExcelFile.activeworkbook.worksheets[1].Pictures.
           Insert(ExtractFilePath(Application.ExeName)+'Page.jpg');

     ExcelFile.visible:=True;//Exceli acip verileri
     //ExcelFile.ActiveWorkbook.SaveAs('c:\b.xls', -4158, False);
     ExcelFile.ActiveWorkbook.Saved:=TRUE;
     //ExcelFile.ActiveWorkbook.SaveCopyAs('c:\d.xls');
     //ExcelFile.quit;
     ExcelFile:=Unassigned;

end;
getscreenshot bu

Kod: Tümünü seç

function TForm1.GetSCREENSHOT: TBitmap;
const
  cTileSize = 50;
var
  Locked: Boolean;
  X, Y, XS, YS: Integer;
  Canvas: TCanvas;
  R: TRect;
begin
  Result := TBitmap.Create;
  Result.Width := Screen.Width;
  Result.Height := Screen.Height;
  Canvas := TCanvas.Create;
  Canvas.Handle := GetDC(0);
  Locked := Canvas.TryLock;
  try
    XS := Pred(Screen.Width div cTileSize);
    if Screen.Width mod cTileSize > 0 then
      Inc(XS);
    YS := Pred(Screen.Height div cTileSize);
    if Screen.Height mod cTileSize > 0 then
      Inc(YS);
    for X := 0 to XS do
      for Y := 0 to YS do
      begin
        R := Rect(
          X * cTileSize, Y * cTileSize, Succ(X) * cTileSize,
          Succ(Y) * cTileSize);
        Result.Canvas.CopyRect(R, Canvas, R);
      end;
  finally
    if Locked then
      Canvas.Unlock;
    ReleaseDC(0, Canvas.Handle);
    Canvas.Free;
  end;
end;

Kod: Tümünü seç

uses ...,jpeg,comobj;
eğer tüm ekranı değilde formu atıcaksan copyrect ile bmp resmi başka bi bmpye kopyalıyacaksın.
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
tubaca
Üye
Mesajlar: 44
Kayıt: 24 Ağu 2004 10:30
Konum: Ankara
İletişim:

Mesaj gönderen tubaca »

yazdıgınız cevaplar için tsk. :) fakat suanda delphide bi sorun var bu nedenle dene sansım su an için yok.mege'ye bi sorum var: benim formum uzunlugu(heighti)1119(scrollbar)yazdıgın kodla ben tum formu(ekranda gorunmeyen kısmıda)excel'e atabilir miyim?
kolay gelsin..
TNU
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

yok alamıyor :(
sadece ekranda görünen kısımlar :(
@oguzozturkun gönderdiği kodu inceledim, onla alabilir belki diye. oda ekran dışına çıkan yerleri alamıyor.
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
tubaca
Üye
Mesajlar: 44
Kayıt: 24 Ağu 2004 10:30
Konum: Ankara
İletişim:

Mesaj gönderen tubaca »

ugrastıgınız cok tsk.ben biraz daha ugrasayım.ama bu konuda bir bilginiz varsa lutfen bana iletin.(bu hafta bu projeyi bitirmek istiyorum ve tek sorun bu yazdırma konusu)tekrar tşk.kolay gelsin :)
TNU
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

bence direk bir formu yazdırmak çok ekstra bir durumdur. Ne var bu forumun üzerinde, ne yazdırmaya çalışıyorsunuz??

Kolay gelsin.
Kullanıcı avatarı
tubaca
Üye
Mesajlar: 44
Kayıt: 24 Ağu 2004 10:30
Konum: Ankara
İletişim:

Mesaj gönderen tubaca »

ben bir sipariş formu yazdırmaya çalısıyorum.Qreple denedim ama form sabit bi içeriği yok.musteri talebine gore eklenecek kısımlar var.aslında hesaplarıma gore 1 sayfa kadar bişi oluyor fakat ekranda gorunen kısım yazdırılıyor.(yarım sayfa kadar bişi)bircok yol denedim.bircok da yardım aldım.bu konuda tırmalamamam(sair in deyimiyle)gerktiği soylendim.exceli duyunca umutlandım. :) formda richeditler var.bitmapte bunlrın içeriği cıkmıyor.eger daha ayrıntılı isterseniz.biraz uzun ama anlatırım.
herkese kolay gelsin...
TNU
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

sanki biraz QR ile uğraşılarak, üstadın deyimiyle tırmalanarak olacakmış gibi. QR ile nerelerde takıldığını forumda bir aratın, bulamadığınız takılıdğınız noktaları yazın, bakalım.

Kolay gelsin.
Kullanıcı avatarı
tubaca
Üye
Mesajlar: 44
Kayıt: 24 Ağu 2004 10:30
Konum: Ankara
İletişim:

Mesaj gönderen tubaca »

cok tsk.yarın gene ugrarım (buyuk bi ihtimalle :oops: )
TNU
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Ben bu soruyu anlamadım okuyorum okuyorum :oops: Herhalde yaşlanıyorum :P

Şimdi Excel'e forum'un resminimi aktaracaksınız Bileşenlerdeki değerlerimi?
Şayet böyleyse kullanım amacınız nedir niçin Exel?

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
tubaca
Üye
Mesajlar: 44
Kayıt: 24 Ağu 2004 10:30
Konum: Ankara
İletişim:

Mesaj gönderen tubaca »

uzulmeyin belki ben derdimi tam anlatamıyorumdur.ben yuksekliği 1119 olan formumu yazdırmak istiyorum.ama (dogal olarak)ekranda gorunmeyen kısım yazdırılmıyor.form uzerindeki tum bilesenleri excele aktarıp yazdırabilirmişim ama kod yok.bu konuda yardım istemiştim.
bu arada Qrepe formdaki richeditlerin içerigi(bazı yerler dikkat cekmek için kalın buntoyla yazılıyor)aktarılamıyor bu cok onemli.bu nedenle qrep olmuyor.(aramalara baktım olmuyormus.gozumden kacmamıstır umarım)
belki componentcountla print.canvas.textout'u birlestirerek bişiler denemeyi dusunuyorum.umarım işe yarar...
herkese kolay gelsin :)
TNU
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
Qrepe formdaki richeditlerin içerigi(bazı yerler dikkat cekmek için kalın buntoyla yazılıyor)aktarılamıyor bu cok onemli.bu nedenle qrep olmuyor.
QrRichtext i kullanmayı denedinmi
Gerçi ben kullanmadım ama öyle bi comp. var yani.
Kolay gelsin
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Formunda Scroll bar aktif oluyormu?

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
tubaca
Üye
Mesajlar: 44
Kayıt: 24 Ağu 2004 10:30
Konum: Ankara
İletişim:

Mesaj gönderen tubaca »

merhaba once aslangeri arkadasa cevap vereyim:QRrichtexti zaten kullandım ama rich editin içeriğini aynen almıyor(yani kalın buntolar aktardıgımda normal fontla yazılıyor )
buarada form da scrollbar var zaten 1119 da onun range degeri
herkese kolay gelsin..
TNU
Cevapla