Menjumlahkan Nilai Memo Pada FastReport

Request: Delphi Coding Tutorial

Salam knal mas joko… Saya Nas, punya masalah di fastreport mas, gmn cara menjumlahkan nilai yg ada di memo, misal hasil dari memo1 + hasil memo2 = memo3. makasih bantuannya mas…

Pertama, kita buat sebuah form dengan sebuah komponen FastReport (TfrxReport) di atasnya. Sebut saja namanya FrxReport1. Kira-kira tampilannya seperti ini:

Klik dua kali pada frxReport1. FastReport Editor akan diaktifkan dengan sebuah report baru yang masih kosong. Silahkan tambahkan tiga buah frxMemo ke page kosong ini.

Nama ketiga memo, mulai dari yang pertama adalah Memo1, Memo2, Memo3. Kini kita akan menjumlahkan nilai Memo1 dan Memo2 dan menampilkan hasilnya di Memo3.

Pindah ke tab Code.

Pilih objek Memo3. Dari Object Dropdown pada Object Inspector.

Klik ganda pada event OnBeforePrint.

Ketikkan kode seperti berikut.


procedure Page1OnBeforePrint(Sender: TfrxComponent);
var
hasil: integer;
begin
hasil :=  StrToInt(Trim(Memo1.Text)) + StrToInt(Trim(Memo2.Text));
Memo3.Text := IntToStr(hasil);
end;

begin

end.

Kini hasilnya dapat dilihat. Tekan F9 untuk melakukan preview.

Pertanyaan, bagaimana jika angka pada memo-memo di atas adalah pecahan, bukan integer? Tentu saja, kita harus mengganti tipe data integer menjadi double (tipe pecahan pada Pascal) dan mengganti IntToStr menjadi FloatToStr. Demikian juga, StrToInt menjadi StrToFloat. Lihat perbedaan pada kode berikut:


procedure Page1OnBeforePrint(Sender: TfrxComponent);
var
 hasil: Double;
begin
 hasil :=  StrToFloat(Trim(Memo1.Text)) + StrToFloat(Trim(Memo2.Text));
 Memo3.Text := FloatToStr(hasil);
end;

begin

end.

Bila dijalankan, kita memperoleh hasil:

Saya sengaja tidak melibatkan database di sini. Meskipun begitu, Anda tetap dapat menerapkan cara ini pada FastReport yang menggunakan database sebagai sumber datanya.

Selamat berkreasi. Bila ada masalah, silahkan hubungi om saya, Uncle Google🙂

15 thoughts on “Menjumlahkan Nilai Memo Pada FastReport

  1. jika masalahnya seperti ini mas kita mau menjumlahkan secara dinamik bagaimana y
    jadi seperti ini
    debet | kredit | saldo
    500 | 0 | 500
    0 | 750 | -250
    300 | 0 | 50
    100 | | 150
    jadi menggunakan 3 memo yaitu memo 1 untuk debet kemudian memo2 untuk kredit kemudian memo 3 untuk saldo apa ada sran ya…

    • Buat variabel global bernama saldo.
      Pada saat memo3.OnBeforePrint(),
      Jumlahkan variabel saldo dengan Debit dan kurangkan dengan Kredit, simpan kembali hasil penjumlahan variabel saldo. Sekalian tampilkan variabel saldo ke Memo3.Text;

  2. Mas saya mw nanya klw qta ingin menjumlahkan data tapi letak posisinya di atas variable yang kita jumlahkan cranya sma g yah? misalanya seperti ini
    total 500
    angka 300
    200

    saya letakan tottalnya di posisi Group Footer

    saya sudah coba pke cara yg mas sebutin,tp hasil penjumlahanya salah. bukanya 500 tp mlah 300. Terima kasih sebelumnya..:D

  3. saya mw tnya cara penjumlhan memo1 dan memo2 dan hasil pd memo3 gmn.
    misal memo1 bil ganjil dan memo2 bil genap
    sperti ini
    1 2 3 nah itu kek gmn, tlong dibantu y
    3 4 7
    5 6 11

    • Di FastReport atau Di Delphi? Kalau FastReport, caranya seperti di atas. Kalai di Delphi:

      Memo3.Text := IntToStr ( StrToInt(Memo1.Text) + StrToInt(Memo2.Text) );

      Semoga membantu.

  4. mas-mas semua,, saya mau tanya ni
    saya lagi bikin project image processing… gambar saya ubah ke dalam nilai matrix yang saya tampilkan di memo
    kemudian bagai mana cara menyimpan nilai matrik yang ada di memo itu ke dalam database delphi??

  5. Bang Joko, kalo misalnya Saya mau nampilin total dari satu Row gimana codingnya di fast report, misalnya datanya seperti ini

    Saldo
    3000
    2000
    4000
    5000
    ____
    TOTAL SALDO ?
    makasih sebelumnya atas jawabannya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s