Arsip: mencetak / print form

more 13 years ago
radhutz
dear, delphiers..
saya mau tanya caranya ngeprint form delphi gimana??
jadi beserta image2nya..
karna yg saya tau mencetak database dengan RAV tapi nggak bisa gambar..
terima kasih atas bantuannya..

more 13 years ago
Penjahat
Yups... pertanyaan kurang jelas
kalo yang dimaksud adalah nge-print form, itu sangat simpel. Perintahnya cuma Print; that's all.
kalo yg dimaksud menggunakan Report, anda harus menjelaskan menggunakan report apa. Karena walau setiap report metodenya hampir sama, tapi tetep aja beda. Hampir semua report mendukung blob image.
"mencetak database" --> saya kurang paham dengan maksud anda
"dengan RAV tapi nggak bisa gambar" --> saya juga kurang paham dengan yg ini
saya akan senang sekali kalo anda mau menjelaskan lebih detail apa itu RAV

more 13 years ago
radhutz
maaf baru reply..
mksud saya bagaimana mencetak form yang ada di aplikasi delphi, kao form itu terdiri dari gambar?!
karna setau saya sampai saat ini, saya hanya taui coding untuk mencetak laporan yang berhubungan dengan database/access sedangkan apabila dalam satu form itu ada image yang membaca data, seperti grafik, saya tidak tau codingnya untuk mencetaknya..
sebagai contoh, apabila dalam satu form aplikasi delphi, terdapat gambar grafik, string grid, listbox, dan image tambahan, apabila saya menekan tombol "Print" maka akan terhubung dengan printer yang akan mencetak apa yang terdapat dalam form, baik gambar, grafik, maupun komponen lainnya..
semoga keterangan saya ini lebih jelas..
terima kasih atas bantuannya..

more 13 years ago
heriy4nt0
Untuk nge-print seluruh form, hanya buat apa ya..,bukannya lebih bagus dari report ?
- tambahkan unit printers di clause Uses
---print seluruh form termasuk image gambar(termasuk dari timage component)---
var r:trect
Printer.BeginDoc;
r:=Rect(0,0,printer.PageWidth,Printer.PageHeight);
Printer.Canvas.Rectangle(r);
Printer.Canvas.CopyRect(r,Canvas,ClientRect);
Printer.EndDoc;

more 13 years ago
radhutz
karna ada gambarnya..
kalo report setau saya,, hanya tulisan ya?!
thanks for the reply..

more 13 years ago
DelphiExpert
saya tidak ingat sejak Delphi versi berapa, namun yg jelas ada method Form.Print yg bisa digunakan untuk mencetak form.
// property AForm.PrintScale utk set pensekalaan pencetakan
AForm.Print;
berikut sy cantumkan code Form.Print:
procedure TCustomForm.Print;
var
FormImage: TBitmap;
InfoSize: DWORD;
ImageSize: DWORD;
Bits: HBITMAP;
DIBWidth, DIBHeight: Longint;
PrintWidth, PrintHeight: Longint;
{$IF DEFINED(CLR)}
LBuffer: IntPtr;
Info: TBitmapInfo;
Image: TBytes;
{$ELSE}
Info: PBitmapInfo;
Image: Pointer;
{$IFEND}
begin
Printer.BeginDoc;
try
FormImage := GetFormImage;
Canvas.Lock;
try
{ Paint bitmap to the printer }
with Printer, Canvas do
begin
Bits := FormImage.Handle;
GetDIBSizes(Bits, InfoSize, ImageSize);
{$IF DEFINED(CLR)}
LBuffer := Marshal.AllocHGlobal(InfoSize);
try
SetLength(Image, ImageSize);
GetDIB(Bits, 0, LBuffer, Image);
Info := TBitmapInfo(Marshal.PtrToStructure(LBuffer, TypeOf(TBitmapInfo)));
{$ELSE}
Info := AllocMem(InfoSize);
try
Image := AllocMem(ImageSize);
try
GetDIB(Bits, 0, Info^, Image^);
{$IFEND}
with Info.bmiHeader do
begin
DIBWidth := biWidth;
DIBHeight := biHeight;
end;
case PrintScale of
poProportional:
begin
PrintWidth := MulDiv(DIBWidth, GetDeviceCaps(Handle,
LOGPIXELSX), PixelsPerInch);
PrintHeight := MulDiv(DIBHeight, GetDeviceCaps(Handle,
LOGPIXELSY), PixelsPerInch);
end;
poPrintToFit:
begin
PrintWidth := MulDiv(DIBWidth, PageHeight, DIBHeight);
if PrintWidth < PageWidth then
PrintHeight := PageHeight
else
begin
PrintWidth := PageWidth;
PrintHeight := MulDiv(DIBHeight, PageWidth, DIBWidth);
end;
end;
else
PrintWidth := DIBWidth;
PrintHeight := DIBHeight;
end;
{$IF DEFINED(CLR)}
Marshal.StructureToPtr(TObject(Info), LBuffer, True);
StretchDIBits(Canvas.Handle, 0, 0, PrintWidth, PrintHeight, 0, 0,
DIBWidth, DIBHeight, Image, LBuffer, DIB_RGB_COLORS, SRCCOPY);
finally
Marshal.FreeHGlobal(LBuffer);
{$ELSE}
StretchDIBits(Canvas.Handle, 0, 0, PrintWidth, PrintHeight, 0, 0,
DIBWidth, DIBHeight, Image, Info^, DIB_RGB_COLORS, SRCCOPY);
finally
FreeMem(Image, ImageSize);
end;
finally
FreeMem(Info, InfoSize);
{$IFEND}
end;
end;
finally
Canvas.Unlock;
FormImage.Free;
end;
finally
Printer.EndDoc;
end;
end;
more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 2 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 3 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 10 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 10 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 10 years ago
Random Topic
- inisial folder
by strike_set in Enginering more 16 years ago - Menampilkan image captcha di Twebbrowser
by kusqus in Web Programming more 13 years ago - Simpan dan Baca rumus Matematika
by kacungdelphi24 in Bedah Kasus more 15 years ago - Help File
by saysansay in Hal umum tentang Pascal Indonesia more 17 years ago - Mendeteksi sebuah field
by yudex86 in Hal umum tentang Pascal Indonesia more 14 years ago - Bewara SQL for maniak 2
by kaka-delphi in MySQL more 15 years ago - Tanya Lagi Perhitungan sub report di Crystal Report
by onsir in MySQL more 15 years ago - Membuat Database Sendiri
by IdrisZZ in Hal umum tentang Pascal Indonesia more 15 years ago - Aplikasi Penjadwalan Perkuliahan / Tugas AKhir
by syntax_error in Bedah Kasus more 15 years ago - Error Register Delphi
by reza_elka in Bedah Kasus more 10 years ago