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: , , .

5 Comments Add your own

  • 1. Gyus  |  Juni, 13 2008 at 3:42 pm

    Siip dach… Master Coding…., kaya na gw harus banyak belajar dari Master Coding nich……

    Balas
  • 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

    Balas
  • 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

    Balas
  • 4. ant  |  Juni, 25 2008 at 2:25 pm

    yup, iya itu syntax lo paste di formula

    Balas
  • 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..

    Balas

Leave a Comment

Required

Required, hidden

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


Kategori

Kalender

Juni 2008
S S R K J S M
« Mei   Jul »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

My Link

Arsip