Tampilkan postingan dengan label Function. Tampilkan semua postingan
Tampilkan postingan dengan label Function. Tampilkan semua postingan

Senin, 14 April 2014

Konversi Hexadecimal to Decimal

Wah Sudah lama tidak nulis2 diblog...

Kali ini saya akan menulis sebuah function untuk mengkonversi bilangan Hexadecimal ke Decimal
berikut ini adalah langkah2nya :

1. Buat New Function dengan function name "F_Hex2Dec "
2. Isi Return Type dengan "long"
3. Isi Argument Type dengan "string" dan Argument Name dengan "as_Hex "
4. Tuliskan powerscript dibawah ini
5. Selamat mencoba...

/**********************************************/
/*  public long F_Hex2Dec ( string as_Hex )  */
/**********************************************/

CONSTANT STRING ls_HexSet = "0123456789ABCDEF"

STRING  ls_Hex, ls_Bit
LONG    ll_RetVal = 0
INTEGER li_C, li_Len, li_Pos
BOOLEAN lb_Error = FALSE

ls_Hex = Upper( as_Hex )

IF NOT IsNull( ls_Hex ) AND ls_Hex <> "" THEN
   
    li_Len = Len( ls_Hex )
   
    FOR li_C = 1 TO li_Len
        ls_Bit = Mid( ls_Hex, li_C, 1 )
        li_Pos = Pos( ls_HexSet, ls_Bit )
       
        IF li_Pos = 0 THEN
            lb_Error = TRUE
        ELSE
            ll_RetVal += ( ( li_Pos - 1 ) * ( 16 ^ ( li_Len - li_C ) ) )
        END IF
    NEXT
    IF lb_Error THEN ll_RetVal = 0
END IF

RETURN ll_RetVal


Rabu, 16 Januari 2013

Konversi Hex Ke Binary

Kali ini saya ingin membuat beberapa FUNCTION untuk mengkonversi bilangan HEX ke dalam bentuk Binary secara sederhana

1. Buat New Function dengan function name "f_hex_to_bin"
2. Isi Return Type dengan "string"
3. Isi Argument Type dengan "string" dan Argument Name dengan "as_param_hex"
4. Tuliskan powerscript dibawah ini
5. Selamat mencoba...

integer i,li_length
string ls_param_hex,ls_hex,ls_binary,ls_huruf

ls_param_hex = trim(as_param_hex)

li_length = len(ls_param_hex)

for i = 1 to li_length

ls_huruf = Mid(ls_param_hex, i,1)

choose case ls_huruf
case '0'
ls_binary = '0000'
case '1'
ls_binary = '0001'
case '2'
ls_binary = '0010'
case '3'
ls_binary = '0011'
case '4'
ls_binary = '0100'
case '5'
ls_binary = '0101'
case '6'
ls_binary = '0110'
case '7'
ls_binary = '0111'
case '8'
ls_binary = '1000'
case '9'
ls_binary = '1001'
case 'A'
ls_binary = '1010'
case 'B'
ls_binary = '1011'
case 'C'
ls_binary = '1100'
case 'D'
ls_binary = '1101'
case 'E'
ls_binary = '1110'
case 'F'
ls_binary = '1111'
end choose

ls_hex = ls_hex + ls_binary

next

return ls_hex

Lain kali saya akan coba untuk membuat function2 yang semoga bisa bermanfaat untuk para penggemar PB.

Jumat, 26 Februari 2010

Membuat Function tanggal akhir bulan

1. Buat argument ad_date dengan tipe Date
2. Pilih Return tipe nya dengan tipe data Date
2. Buat script berikut

int li_retdays, li_month, li_year

li_month = Month(ad_date)
li_year = year(ad_date)

IF li_month < 12 THEN
li_month ++
ELSE
li_month = 1
li_year ++
END IF

// Membuat tanggal awal
ld_newdate = date(li_year),li_month,1)

// membuat tanggal akhir
ld_previousMonthLastDay = day(relativedate(ld_newdate, -1))

Return(ld_previousMonthLastDay)

Sabtu, 20 Februari 2010

Function Encrypt & Decrypt

[function string of_encrypt(as_str)]
integer i, j
string ls_enctext = ""
CONSTANT string CRYPT_KEY = "$#@%&#%@&*"

j = len(as_str)
FOR i = 1 TO j
ls_enctext += mid(CRYPT_KEY , mod(i,10) + 1, 1)
ls_enctext += String(Char(255 - Asc(Mid(as_str, i, 1))))
NEXT

RETURN ls_enctext
======================================================
[function string of_decrypt(as_str)]
integer i, j
string ls_encchar, ls_temp, ls_unasstr = "** Encryption Error"
boolean lb_ok = true
CONSTANT string CRYPT_KEY = "$#@%&#%@&*"

j = len(as_str)

IF NOT Mod(j, 2) = 1 THEN
ls_temp = ""
FOR i = 2 TO (j + 1) STEP 2
ls_encchar = Mid(as_str, i - 1, 1)
IF mid(CRYPT_KEY, Mod(i / 2, 10) + 1, 1) <> ls_encchar THEN
lb_ok = FALSE
EXIT
END IF
ls_encchar = Mid(as_str, i, 1)
ls_temp += string(char(255 - asc(ls_encchar)))
NEXT
END IF

IF lb_ok THEN ls_unasstr = ls_temp

RETURN LS_UNASSTR
=======================================================