Fungsi Terbilang di Crystall Repot [CR]
Juni, 6 2008
Bisa juga nih syntax …… he…he…
kemarin ini gua lagi nyoba syntax terbilang yang langsung embedded di crystall repot, gua sudah nyari tu kemana2 dapat sih tapi banyak yang error, kagak tahu yang bikin error guanya atau memang guanya.. he… he…
tapi ga percuma sih gua copy syntax orang terus gua baca dan dicobain, akhirnya error-error yang gua bilang diatas bisa ilang tuh, kayaknya memang gua ya? yang bikin error…
ini sample syntaxnya :
=============== Awal Syntax ====================================
stringVar array angka := ["Nol", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Se"];
stringVar array satuan := ["belas", "puluh", "ratus", "ribu", "juta", "milyar", "triliun", "billiun"];
stringvar nil1;
stringvar nil2;
numbervar b;
stringvar a;
stringvar strtblg;
stringvar array matrix := ["","","","","","","","","","",""];
numbervar i;
numbervar j;
booleanvar nol;
b:=1;
a:=”";
nil2:=”";
strtblg =”";
nil1:= “”;
for i := 2 to len(totext({tb_gaji.total_gaji}))-3 do
(
if mid(totext({tb_gaji.total_gaji}),i,1) = “,” then
nil1 := nil1
else
nil1 := nil1 & mid(totext({tb_gaji.total_gaji}),i,1);
);
nil2 := totext(nil1);
if len(nil2) >= 22 then
strtblg =” “
else
(
for i := len(nil1) to 1 step -1 do
(
if len(nil1) = 4 then
(
matrix[b] := right(nil2,4);
b:=b+1;
i:=i-3;
if len(nil2) – 4 >=1 then
nil2 := left(nil2, len(nil2) – 4)
else
nil2:=nil2;
)
else
(
matrix[b] := right(nil2,3);
b:=b+1;
i:=i-2;
if len(nil2) – 3 >=1 then
nil2 := left(nil2, len(nil2) – 3)
else
nil2:=nil2;
);
);
strtblg := ” “;
for j := b – 1 to 1 step -1 do
(
nil2:=matrix[j];
nol:= false;
for i := 1 to len(matrix[j]) do
(
a := mid(matrix[j],i,1);
if a = “1″ then
(
if tonumber(mid(nil2,1,1))=0 then
(
if i = 1 then nol := true;
);
if mid(matrix[j],i+1,1)= “1″ and len(nil2) = 2 then
(
strtblg := strtblg & angka[11] & satuan[1] & ” “;
i := len(matrix[j]) + 1;
)
else if mid(matrix[j],i+1,1)= “0″ and len(nil2) = 2 then
(
strtblg := strtblg & angka[11] & satuan[2] & ” “;
i := len(matrix[j]) + 1;
)
else if len(nil2) = 1 then
(
strtblg := strtblg & angka[tonumber(a)+1] & ” “;
0;
)
else if tonumber(mid(matrix[j],i+1,1)) > 1 and len(nil2) = 2 then
(
strtblg := strtblg & angka[tonumber(mid(matrix[j],i+1,1))+1] & “” & satuan[1] & ” “;
i := len(matrix[j]) +1;
)
else
(
strtblg := strtblg & angka[11] & satuan[len(nil2)] & ” “;
0;
);
)
else
(
if tonumber(mid(nil2,1,1)) = 0 then
(
if i = 1 then nol := true;
)
else if len(nil2) = 1 then
(
strtblg := strtblg & angka[tonumber(a)+1] & ” “;
nol := false;
)
else
(
strtblg := strtblg & angka[tonumber(a)+1] & “” & satuan[len(nil2)-1+1] & ” “;
nol := false;
);
0;
);
if i <= len(matrix[j]) then nil2 := right(nil2,len(matrix[j])-i);
);
if j >= 2 and nol = false then strtblg := strtblg & satuan[j+2] & ” “;
);
);
strtblg & “Rupiah.”;
================ Akhir Syntax ======================
note : {tb_gaji.total_gaji} adalah field yang akan di convert, field ini bisa diganti dengan field yang dinginkan (dari grouping ataupun single)
terima kasih buat yang sudah punya ide bikin syntax ini, gua lupa ga disimpen urlnya, asal copy aja kemarin… thank a lot ilmunya…. [inilah kata hati seorang copy master coding]
semoga bermanfaat…
Entry Filed under: Source Code. Tag: Crystall Repot, Syntax, Terbilang.
5 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
Gyus | Juni, 13 2008 at 3:42 pm
Siip dach… Master Coding…., kaya na gw harus banyak belajar dari Master Coding nich……
2.
ant | Juni, 13 2008 at 10:39 pm
thank om gyus, aq juga masih banyak belajar lagi ama om gyus… di tunggu sharing ilmunya… om gyus kalo mau bikin artikel di blogQ silahkan aja… kalo berminat nanti aq bikinin accountnya… thank
3.
ceprit | Juni, 23 2008 at 12:14 pm
maaf pak saya masih newbie
sysntaks tersebut kita buat dan copi melalui formula ya pak ?
masih binun ga da penjelasan lebih detail
4.
ant | Juni, 25 2008 at 2:25 pm
yup, iya itu syntax lo paste di formula
5.
confuse | Juli, 2 2008 at 4:32 pm
Kok setelah di paste tetep ngga bisa dijalankan ya..
keluar error “A Number, currency amount, boolean, date, time, date-time, or string is expected here.”
Please help..