1. UPPERCASE, Namecase dan lowercase- memo21.text := uppercase(memo21.text);maksudnya untuk membuat memo21 menjadi huruh KAPITAL (BESAR SEMUA)- memo21.text := namecase(memo21.text);maksudnya untuk membuat memo21 menjadi Awal Katanya Huruf Kapital- memo21.text := lowercase(memo21.text);maksudnya untuk membuat memo21 menjadi huruf kecil semua2. If .... then/then beginMaksudnya jika ...... maka .......Contoh:if='' then begin line21.visible:=true;line22.visible:=true;end;artinya jika alamat ayah kosong (tidak ada isinya) maka garis21 dan 22 akan terlihat (dengan catatan line21 dan 22 diseting non visible)script ini bisa diterapkan utk garis silang almarhum..3. FormatDateTime(,)a. hanya menampilkan hari saja:contoh : uppercase(FORMATDATETIME('DDDD',)) b. menampilkan tanggal saja:contoh : FORMATDATETIME('dd',) c. menampilkan bulannya saja:contoh : uppercase( FORMATDATETIME('MMMM',)) d. menampilkan tahunnya saja:contoh : uppercase(FORMATDATETIME('yyyy',)) e. menampilkan tanggal, bulan dan tahuncontoh : uppercase(formatdatetime('DD MMMM yyyy',)) f. menampilkan hari, tanggal, bulan dan tahuncontoh: [uppercase(formatdatetime('dddd, dd mmmm yyyy',))] CATATAN :- Kalo mau dimasukkan ke memo, maka diawali dengan tanda [ dan diakhiri dengan tanda ] seperti contoh pada huruf f- Kalo pengen menyisipkan kata-kata ditambahkan tanda +'yang mau ditambahkan'Contoh lengkap:memo111.text :='Pada hari ini ' + uppercase(FORMATDATETIME('DDDD',))+ ' Tanggal '+ FORMATDATETIME('dd',) + ' Bulan ' +uppercase( FORMATDATETIME('MMMM', ))+ ' Tahun ' + uppercase(FORMATDATETIME('yyyy', ))+', Telah dilakukan pencatatan nikah sebagai berikut'; 4. IIF(,,)maksudnya jika ya maka..... tapi jika tidak maka .... (satu tempat utk berdua)contoh :[IIF(=0, +', '+inttostr( )+' TH.', +', '+uppercase(formatdatetime('DD MMMM yyyy', )))] artinya jika tgl lahir wali tidak diisi (menggunakan umur) maka memo tersebut akan menampilkan tempat lahir, umur TH....tapi jika tanggal lahir wali terisi maka memo tsb akan menampilkan tempat lahir, tgl lahir....kalo script tsb dituangkan dlm rumus if.... then begin.... end else begin ...... (dlm code) maka rumusnya menjadi:If=0 then begin Memo49.text:= uppercase( )+', '+inttostr( )+' TH'; end Else begin Memo49.text:= uppercase()+', '+uppercase(formatdatetime('DD MMMM yyyy', )); end;5. LENGHT --> mengetahui panjang suatu stringCONTOH:a. if length(trim(memo10.text)) > 25 then memo10.font.size :=7;biasanya utk nama suami/istri, ttl di buku nikah kalo panjaangMAKSUDNYA: Jika panjang memo10 lebih dari 25 karakter, maka ukuran font memo10 akan berubah otomatis menjadi 7 (mengecil biar muat/utk buku nikah ukuran font standarnya 8)KETERANGAN : jumlah karakter yg dimaksud adalah jumlah karakter isian dalam memo tersebut (sudah termasuk spasi dan karakter lainnya) .CATATAN: Script Tersebut Tidak Bisa Diterapkan Pada Memo Yg Diambil Dari Dataset.b. Kalo mau diterapkan di memo dari dataset contohnya begini:if length() > 25 then memo86.font.size :=8; Makksudnya: Jika panjang memo86 lebih dari 25 karakter, maka ukuran font memo86 akan berubah otomatis menjadi 8 (mengecil biar muat/utk register 2012 ukuran font standarnya 9)6. strtoint -->konnversi dari string ke integer --> mengubah tipe data teks menjadi angka7. Inttostr -->konnversi dari integer ke string --> mengubah tipe data angka menjadi teksa. Utk tanggal hijriyah dan tahun hijriyahContoh: untuk tanggal nikah hijriyah pada modul NB: [inttostr()+' '+( )+' '+inttostr( )] Keterangan :kalo digabung dengan data yg lain menggunakan tanda +' maka harus menggunakan fungsi Inttostr,tapi kalo masing-masing berdiri sendiri seperti kalo dirubah menjadi [frxDBDataset1."TGLNIKAH_HIJ_TGL"] [frxDBDataset1."TGLNIKAH_HIJ_BULAN"] [frxDBDataset1."TGLNIKAH_HIJ_TAHUN"] tidak ada masalah...b. umur:contoh:inttostr()+' TH' Penjelasan:Kalo cuman mau menggabung dua data tersebut memonya cukup ditulis: [frxDBDataset1."WALI_UMUR"] THc. untuk menampilkan data yg didahului fungsi lenghtcontoh:memo2.text:=inttostr(length(trim(memo1.text)));8. datetostr --> konnversi dari tipe data date(tanggal) ke integer --> mengubah format tanggal menjadi teksContoh: [DateToStr()] Hasilnya sama dengan [formatdatetime('dd/mm/yyyy',)] Preview: 01/01/20129. font.styleuntuk setting style font menjadi bold/italic/underline10. font.sizeuntuk mengatur ukuran fontcontoh:a. if length(memo4.text) > 25 then memo4.font.size :=7;b. if length() > 25 then memo86.font.size :=8; Penjelasannya bisa dilihat di fungsi lenght11. charspacinguntuk mengatur spasicontoh :if (length () >= 25) OR (length ( ) >= 25) then begin memo17.font.size:=9;MEMO53.FONT.SIZE:=9;memo17.font.style := fsbold;memo53.font.style := fsbold;memo17.charspacing := 0; memo53.charspacing := 0;ENDelseBEGINmemo17.font.size:=10;MEMO53.FONT.SIZE:=10;memo17.font.style := fsbold;memo53.font.style := fsbold;memo17.charspacing := 1;memo53.charspacing := 1; END;maksudnya jika nama istri atau nama suami terdiri dari 25 karakter atau lebihmaka memo17 dan memo53 (memo utk nama suami dan istri pd template NA gabungan hlm 2 dan 3) akan berubah jadi:a.ukuran font = 9b.huruf tebalc.jarak antar huruf (horisontal) = 0jika jumlah karakternya kurang dari 25 makaa.ukuran font = 10b.huruf tebalc.jarak antar huruf (horisontal) = 1fungsi charspacing kalo mau diseting secara lbh permanen bisa diatur pada properties memo tersebut..utk mengatur spasi jarak antar baris bisa menggunakan linespacing12. trimuntuk menghilangkan spasicontoh:a. if length(trim(memo10.text)) > 25 then memo10.font.size :=7;b. if length(memo10.text) > 25 then memo10.font.size :=7;Penjelasan:a. yang pakai trim jumlah karakter memo akan sama dengan rumusb. yang tanpa trim akan berkurang 2 karakterCONTOH PENERAPAN DALAM MODUL NB dan REGISTER:if trim(uppercase(memo19.text)) ='DUDA TALAK' thenmemo19.text:='DUDA CERAI TALAK';KETERANGAN:Tanpa trim, script tersebut tdk akan ngefek....Tp penambahan uppercase di situ jg tak perlu....CATATAN:1. untuk if trim (memo......) tdk akan berfungsi pada memo dari dataset:contoh:if trim(memo45.text) = 'HAKIM' then begin tidak akan berfungsitapi harus menggunakan: if= 'HAKIM' then begin 2. trim tidak diperlukan pada memo dari datasetcontoh:script di atas if trim(uppercase(memo19.text)) ='DUDA TALAK' thendapat ditulis: if='DUDA TALAK' then (tanpa trim) if trim() = 'HAKIM' then begin cukup ditulis: if= 'HAKIM' then begin IF (TRIM(UPPERCASE())= 'BERISTRI') THEN BEGIN cukup ditulis : IF= 'BERISTRI' THEN BEGIN 13. Case... Offungsi seleksi (hampir sama dengan if then else), tetapi dalam case of , opsi ditentukan secara sistematiscontoh :Caseof 'MUHARROM' : memo74.text:='01';'SHOFAR': memo74.text :='02';'RABI''UL ULA': memo74.text :='03';'RABI''UL TSANI': memo74.text :='04';'JUMADIL ULA': memo74.text :='05';'JUMADIL TSANI': memo74.text :='06';'ROJAB': memo74.text :='07';'SA''BAN': memo74.text :='08';'RAMADHAN': memo74.text :='09';'SYAWAL': memo74.text :='10';'DZULQO''DAH': memo74.text :='11';'DZULHIJJAH': memo74.text :='12';end;14. ORfungsi logika.. akan bernilai false/salah apabila 2 pernyataan bernilai salahtabel logikanya :true or true = true;true or false = true;false or true =true;false or false = false;contoh:IF (POS('TNI',) > 0) OR (POS('ABRI',) > 0) OR (POS('POLRI',) > 0) OR (POS('TNI',) > 0) OR (POS('ABRI',) > 0) OR (POS('POLRI',) > 0) THEN BEGIN 15. Andfungsi logika.. akan bernilai true/benar apabila 2 pernyataan bernilai benartabel logikanya :true or true = true;true or false = false;false or true =false;false or false = false;contoh:IF( (TRIM(UPPERCASE())<> 'INDONESIA') and (TRIM(UPPERCASE())<> 'WNI')) 16. Copyuntuk mengcopy isi dari suatu object/fieldCopy dari data ........ mulai dari karakter/digit ke ....... dengan jumlah ..... karakter/digitcontoh:- untuk nomor urut pada template ekspedisi buku nikah[Copy(,1,Pos('/', )-1)] Keterangan:Copy dari data akta nikah,, mulai dari digit pertama,, sejumlah digit nomor tahunan sampai tanda / dikurangi 1..Untuk yg diseting 4 digit preview: 0001Rumus trsebut akan sama jika ditulis [Copy(,1,4] Jika ditulis [Copy(,2,3] preview: 001 Seperti yg diseting 3 digit menggunkan rumus sama seperti diatas:[Copy(,1,Pos('/', )-1)] Untuk nomor urut pada laporan bulanan cukup menggunakan script [line]17. Dayofweekuntuk mengetahui nilai dari suatu hari1 : minggu2 : senin3 : selasa4 : rabu5 : kamis6 : jumat7 : sabtucontoh :if DayOfWeek() = 1 then begintglbaru :=+1; tglstring := DateToStr(tglbaru);memo8.text := UPPERCASE(FormatDateTime('DD MMMM',tglbaru));endelseif DayOfWeek() = 7 then begintglbaru :=+2; tglstring := DateToStr(tglbaru);memo8.text := UPPERCASE(FormatDateTime('DD MMMM',tglbaru)); end;Keterangan : jika hari nikah hari minggu,pencatatan dibuat senin (jadi ditambah 1) jika hari sabtu maka pencatatan dibuat tanggal senin (jadi ditambah 2)18. Posuntuk mengetahui posisi dari suatu karakter di dalam suatu stringcontoh:if (POS('(ALM)',) >0) OR (= '') then begin MEMO90.VISIBLE :=FALSE;MEMO92.VISIBLE :=FALSE;MEMO31.VISIBLE :=FALSE;MEMO32.VISIBLE :=FALSE;line23.visible :=true;line27.visible :=true;end;maksudnya: jika ada embel2 (ALM) pada nama ayah karena ayah telah meninggalatau tanpa ayah maka:memo90 (warga negara) = tidak terlihat (jadi kosong);memo92 (agama) = tidak terlihat (jadi kosong);memo31 (pekerjaan) = tidak terlihat (jadi kosong);memo32 (alamat) = tidak terlihat (jadi kosong);line23 (garis silang) = akan muncul;line27 (garis silang) = akan muncul;
Sumber : FK-OSI