RM (mesin laporan) adalah paket kontrol laporan Delphi yang kuat. Gunakan untuk membuat laporan yang sangat kompleks. Penggunaan paling sederhana dijelaskan di bawah ini:
Letakkan dua kontrol basis data pada formulir: Adoconnection dan Adoquery untuk mengatur connectionstring adoconnection. LoginPromppt = false. Koneksi Adoquery menunjuk ke adoconnection. SQL Adoquery mengatur pernyataan kueri data.
Letakkan dua kontrol laporan RM pada formulir: RMDBDataset dan RMReport. Dataset RMDBDataset menunjuk ke Adoquery. Dataset RMReport menunjuk ke RMDBDataset.
(Jika Anda ingin aplikasi akhir yang dihasilkan memiliki kemampuan desain laporan, Anda juga perlu menempatkan kontrol RMDesigner dan tidak menetapkan atribut apa pun)
Klik dua kali kontrol RMReport untuk mulai merancang template laporan.
Untuk laporan yang umumnya dibandingkan dengan aturan, Anda hanya perlu menambahkan empat objek pita ke templat, yaitu: 1), header halaman: biasanya digunakan untuk menampilkan nama laporan, waktu, dll. 2), header item utama: biasanya digunakan untuk digunakan Tampilkan nama kolom. 3) Data item utama: Digunakan untuk menampilkan data. 4) Halaman Catatan Kaki: Digunakan untuk menampilkan nomor halaman, tanggal, dll.
Templat yang dirancang dapat disimpan dalam DFM atau dalam file templat independen dengan ekstensi RMF dan dipanggil saat runtime. Berikut beberapa cuplikan kode:
Prosedur tbrowseform.button5click (pengirim: tobject); varrmreport: trmreport; beginif adoquery1.isempty then exexit; tryrmreport: = trmreport.create (rmreport . Bebas; end; end;
Prosedur TFORM1.BUTTON1CLICK (Pengirim: Tobject);
// Prosedur Template Design TFForm1.Button2Click (Pengirim: Tobject);
Untuk sebagian besar aturan pelaporan, pengetahuan di atas sudah cukup. Tapi ini hanya cara paling sederhana untuk menggunakan RM, dan itu jauh dari mencerminkan kekuatan fungsi RM.
RM memiliki dua fitur menarik yang paling saya butuhkan saat ini:
1) Data dapat berasal dari database atau dari tempat lain, seperti dalam file, dalam memori, dll. 2) Tidak perlu templat pra-buatan.
Meskipun RM sangat kuat, tidak terasa rumit untuk digunakan.
1. Apa solusi baik Anda untuk laporan yang membutuhkan dua sisi selembar kertas? Anda dapat memilih untuk mengetik halaman ganjil atau bahkan saat mencetak. 2. Bagaimana saya bisa mencetak sejumlah baris di satu halaman? Klik Laporan untuk memasukkan antarmuka Laporan Desain? RMReport1.modifyDevely: = false. Cara menambahkan total tabel ke laporan? Lewati parameter ke laporan bagaimana melakukan trmmemoview? Rmreport1.findObject ('memo1'). Memo.text: = 'ddddd' atau rmvariable ['a1']: = 'ddddd'; 6. Bagaimana kita tidak bisa mencetak konten duplikat? Suppress = True7. Setel rmreport.modifypreview = false8. .Bottomframe .visible: = false dalam skrip laporan memo1.frametyp: = 15; Halaman dan mengontrolnya untuk ditampilkan tetapi tidak masalah untuk tidak mencetak. Tabel untuk setiap 3 baris untuk mengatur kolom data item utama: LinesPerPage = 3IF Ada cara untuk tiga orang ke satu baris: atur kolom kolom data item utama = 3 cetak dalam pengelompokan, Pengelompokan Kondisi: Nowline> 3 Onbeforeprint : Beginnowline: = 1; Akhir; Ya, atur kolom data item utama: visible = kotak statistik palsu: calcnovisible = true12 hanya dapat melipat satu catatan yang melebihi panjangnya? Ya, kotak teks: peregangan = true; // Masukkan laporan RMReport1.showreport; 2. Apakah header grup mengubah halaman di setiap kelompok. 1.RMREPORT1.PAGES [0] .ChangePaper () 2.RMReport1.pages [0] .findObject (nama kolom header grup) .prop ['newPage']: = false; 15. Rmreport1.showprintdialog: = false; rmreport1.printreport; 16. Setelah margin halaman diubah, semua kontrol harus mengubah posisi mereka sesuai. Anda tidak perlu memilih zoom ke area yang dapat dicetak di pengaturan halaman atau rmreport1.pages [0] .pgmargins: =; RichEdit1.lines.Savetostream (Tempstream); Tempstream.Posisi: = 0; RMFormReport1.pageheader.caption.loadFromStream (Tempstream); TempsTream.Free; akhir; 18. Atur TRMDesigner Templedir19. (Rmreport1.findObject ('band1') sebagai trmbandview) .dataset: = 'rmdbdataset1'; 20. Jarak Kiri: Curreport.Pages [0] .pgmargins.Left: = bundar (rmconverttopixels (mm*10, rmsumm)) 22.rmvariable ['merek']: = true; rmvariables ['nama produk']: = 'komputer' ; Kolom Data Item Utama Lineperpage = 1024. ? ? Yang terbaik adalah menggunakan kolom Catatan Kolom Kolom, letakkan kotak statistik di atasnya, dan kemudian atur Calctype 25. Saat menghasilkan laporan secara dinamis, bagaimana mengatur margin halaman RM? 40); RmCompositerPort1.reports.add (rmreport2); Ya, konten A3 [memo1.calcValue + memo2.calcValue] 29. dan hanya mencetak sekali.30. [';
Rmvariables ['a2'
Laporan Pengembangan Mesin Manual Pengguna-Buat Laporan 2010-02-10 13:08
Buat Laporan:
Membuat laporan terdiri dari langkah -langkah berikut:
1. Pilih Data: Pilih sumber data yang digunakan dalam laporan
2. Templat Laporan Desain: Gunakan area (disebut band) untuk mendistribusikan berbagai bagian laporan untuk menentukan gaya laporan.
3. Pemrosesan: Gunakan bahasa skrip bawaan dari laporan atau memproses data, templat laporan, dll. Digunakan dalam laporan di Delphi.
4. Hasilkan Laporan: Hasilkan Laporan Akhir berdasarkan Template Laporan + Sumber Data.
Pilih sumber data:
Data yang diperlukan untuk sebagian besar laporan berasal dari database. Komponen ttable dan tquery dapat berfungsi sebagai sumber data untuk laporan. Secara umum, dapat menggunakan subclass apa pun yang diwarisi dari komponen Tdataset. Tdataset yang digunakan dalam setiap laporan harus memiliki trmdbDataset yang sesuai.
Selain TDataSet, halaman ReportMachine dapat menggunakan sumber data apa pun (array, file, kisi karakter, dll.). Dalam hal ini, program harus mengontrol akses sumber non-database dengan sendirinya. Anda dapat menggunakan TRMuserDataset untuk dengan mudah mentransfer data ke laporan.
Template Laporan Desain:
Template laporan itu sendiri menjelaskan cara melihat laporan yang benar. Setiap templat laporan terdiri dari banyak wilayah, yang ReportMachine Calls Band. Ada dua jenis pita: pita area tetap (seperti judul laporan, header halaman, catatan kaki halaman, dll.) Dan pita yang digunakan untuk menampilkan semua catatan dalam dataset (seperti kolom data item utama). Pita data harus terhubung ke sumber data, dan konten adalah catatan di sumber data.
ReportMachine menyediakan lingkungan visual untuk pengembangan laporan (perancang laporan, yang juga dapat diberikan kepada pengguna akhir Anda untuk memfasilitasi pengguna akhir Anda untuk memodifikasi templat laporan sendiri) untuk membuat laporan. Perancang laporan sangat kuat, sederhana dan mudah digunakan. Antarmuka desainer laporan terbuat dari bilah alat mengambang, yang dapat dengan bebas mengubah posisinya.
menghadapi:
Saat menghasilkan laporan, Anda perlu memproses data input (seperti pemformatan), dan templat laporan perlu dimodifikasi (seperti kotak teks dalam templat laporan perlu mengubah font).
Menerapkan pemrosesan ini memungkinkan Anda untuk menulis kode dalam pemrosesan acara TRMReport di Delphi. Inilah sebabnya mengapa bahasa skrip bawaan di ReportMachinet, bahasa skrip built-in dari ReportMachine sangat mirip dengan objek Pascal, dan sangat kuat. Tulis kode pemrosesan acara dalam bahasa skrip ini, yang memungkinkan Anda untuk membuat pemrosesan yang kompleks tanpa menulis kode di Delphi. Itu dapat memisahkan laporan dari proyek Anda.
Contoh Laporan Skrip:
laporan unit;
antarmuka
Prosedur Memo1onBeforeprint (pengirim: Tobject);
Prosedur memo1onbeforeprint (pengirim: tobject);
Prosedur Utama;
akhir;
akhir.
Menghasilkan laporan:
Menghasilkan laporan adalah proses di mana ReportMachine memproses sumber data sesuai dengan templat laporan untuk menghasilkan laporan akhir dan dapat mempratinjau setelah mengklik tombol "Pratinjau". Laporan yang disiapkan di ReportMachine adalah kumpulan objek yang menggambarkan konten yang terkandung di setiap halaman setelah laporan diproses. Ini memungkinkan Anda untuk memodifikasi halaman laporan yang dihasilkan dengan menghubungi halaman yang diinginkan di perancang. Selain itu, reaksi mouse yang mengklik pada objek di jendela Pratinjau juga dapat dijelaskan. Ini akan memudahkan Anda untuk mengatur pekerjaan Anda (mengklik objek laporan dapat menghasilkan laporan baru yang lebih rinci).
Jendela pratinjau ReportMachine mirip dengan Microsoft Word: Beberapa halaman dapat dilihat di satu jendela dan dapat diseret dengan mouse.