VARIABEL,NILAI DAN TEKS.

MEMAKAI VARIABEL.

Variabel adalah tempat yang didefinisikan dari dalam script untuk menampung data untuk sementara. Gunakan variabel bila anda bekerja dengan data yang mungkin nilainya berubah setiap saat anda menjalankan script,seperti contoh berikut :

to handle buttonClick
ask "Tahun Lahir anda:"
vTglLhir = it
vSekarang = "96"
vUmur = vSekarang - vTglLahir
request "umur anda sekarang" && "tahun"
end

variabel pada openscript sama seperti variabel dalam bahasa pemrograman lain,dengan perkecualian :

  • Anda dapat mendeklarasikan variabel denagn atau tanpa tipe data.
  • Variabel yang dideklarasikan tanpa tipe data dapat menampung data numerik,Logika,string atau data lainnya seperti tanggal dan jam.
  • Kecuali untuk array,anda tidak perlu mendeklarasikan variabel lokal sebelum mengisikan nilai.
Syarat penulisan nama variabel.

saat anda memberikan nama untuk variabel,nama tersebut :
  • Harus diawali dengan huruf atau Underscore
  • Dapat hanya terdiri dari karakter alphanumerik,Underscore, dan karakter @ sebagai prefiks.
  • Tidak boleh sama dengan Keyword Openscript, misalnya Request atau Fillcolor.
Berikut ini beberapa contoh pemberian nama variabel :

local vJumlah_Total -- variabel lokal vJumlah_Total
system sPosisi -- variabel Global sPosisi
@text = text of Field "nama" -- menggunakan prefiks untuk membedakan dengan nama properti
2 Tahun = 1996 -- salah , karena diawali dengan angka
nama depan = "komo" -- salah , mengandung spasi

openscript tidak case-sensitive, artinya huruf besar atau kecil adalah sama,misalnya vTanggal sama dengan VTANGGAL.

Mengisi Nilai variabel.

Gunakan Put , set atau Operator penugasan sama dengan(=) yang berfungsi sama untuk mengisian nilai variabel.Setiap Variabel memiliki maksimum data sebesar 64Kb.

Jika nilai yang diisikan memiliki karakter spasi,anda harus mengapitnya denga tanda kutip ganda ("). Openscript akan bekerja lebih efisien jika seluruh data teks diapit dengan tanda kutip.

firstPlayer = text of field "player"
set warna to biru
put "aplikasi multimedia" into judul

memakai variabel Lokal.

Anda dapat memakai variabel lokal dan global (sistem) dan Handler variabel lokal menyimpan data yang anda isikan selama masih berada dalam handler. Variabel Global tetap menyimpan data selama sesi ToolBook.Gunakan variabel global untuk variabel yang dibutuhkan oleh lebih dari satu Handler.

Membuat variabel Lokal.

Anda tidak perlu mendeklarasikan variabel lokal saat anda pertama kali memberi nilai ke variabel, karena Toolbook mendeklarasikan dan menginisialisasinya langsung. pernyataan local dipaki untuk mendkalrasikan variabel lokal, tetapi lebih sering dipakai untuk mendeklarasikan tipe data suatu ariabel.

membuat variabel global.

Untuk membuat variabel global,deklarasikan dengan system.
contoh berikut menunjukan pemakaian variabel global :

to handle enterpage
system svPertama
if svPertama = null then
vUcapan = "Selamat DAtang"
text of Field "banner" = vUcapan
svPertama = FAlse
end
forward
end

untuk menampilkan nama- nama variabel global yang sudah anda buat , gunakan properti sistem sysSystemVariables.

to handle buttonClick
request sysSystemVariables
end

Menentukan tipe data untuk variabel

tipe data adalah format yang anda berikan kepada suatu variabel pada saat anda pertama mendeklarasikannya , misalnya seperti integer, text , real, number dan lainnya.menentukan tipe data pada suatu variabel menyebabkan handler diproses lebih cepat dan efisien dalam pemakaian memori. selain itu penentuan tipe data juga bisa menghindari terjadinya kesalahan, misalnya karena salah memberikan nilai untuk suatu variabel.

untuk mendeklarasikan tipe data, gunakan pernyataan local atau system disertai ipe data yang diinginkan sebelum nama variabelnya :

local LONG n
system INT totalHalaman
local COLOR warnaAsli

bila anda tidak mendeklarasikan tipe data untuk suatu variabel,Toolbook akan memilih tipe data yang sesuai dengan nilai yang diberikan oleh suatu pernyataan ke variabel tersebut. Toolbook dapat mengubah tipe data dari variabel tersebut bila diperlukan,tetapi hal ini menyebabkan pemrosesan script berjalan lambat.Bila anda mendeklarasikan tipe data untuk suatu variabel , maka Toolbook akan menjadikan variabel tersebut bertipe yang anda berikan.Saat handler dijalankan,Toolbook hanya mengecek apakah nilai data sesuai dengan tipe data,jika tidak, Toolbook menampilkan pesan kesalahan.

Tipe-tipe data yang ada dalam Openscript adalah sebagai berikut :

Tipe Keterangan

Int interger bertanda 16-Bit,range -32768 sampai 32767
Long integer bertanda 32-bit,range -2147983648 sampai 2147983647
Real bilangan pecahan 64-Bit.Toolbook akan menerima nilai bertipe long.
semua fungsi dan operator numerik menggunakan tipe data ini
secara internal.
word integer tak bertanda 16-Bit, range 0 sampai 65535
Dword integer tak bertanda 32-Bit,range 0 sampai 4294967295
String Untai karakter. Hindari penggunaan tipe data string untuk data yang lebih
efisien memakai tipe data lain.
Logical True atau False
Point x,y dimana x dan y adalah integer
Color Tiga bilangan dalam satuan HLS atau RGB
Stack Sekumpulan data yang dipisahkan dengan tanda koma.
Date Format untuk tanggal
time Format untuk waktu
Page Rujukan eksplisit untuk halaman.
Background Rujukan eksplisit untuk backGround
layer rujukan eksplisit untuk halaman atau background.
Graphic Rujukan eksplisit untuk suatu obyek pada halaman atau background.
Field Rujukan eksplisit untuk field, record field, atau combo box.
Object rujukan eksplisit untuk buku,halaman,background,obyek atau grafik.
Book Rujukan eksplisit untuk path buku.

Untuk mengetahui apakah suatu variabel memiliki tipe data tertentu,gunakan fungsi isType( ) .
sebagai contoh :

local date tanggal
ask "masukan tanggal transaksi : "
if isType (date,it) then
tanggal = it
else
request "harap masukan tanggal"
end

Menggunakan Array

Array adalah suatu variabel yang dibentuk agar bekerja seperti suat daftar atau tabel dari masing - masing element. Sebagai contoh, bila anda memiliki daftar nama teman anda , maka tentunya lebih mudah untuk membuat suatu variabel tunggal misalnya, bernama namaKawan dengan sejumlah elemen daripada anda membuat sejumlah variabel,misalnya nama kawan1, namaKawan2,dan seterusnya.

Anda dapat membuat array 1 dimensi maupun multi dimensi sampai 16 dimensi. Anda dapat membuat array dengan jumlah elemen yang tetap (fixed) ataupun berubah - ubah (dynamic). secara umum, gunakan array dinamis jika anda tidak mengetahui dengan pasti berapa jumlah elemennya,atau bial jumlah elemen tersebut berubah-ubah. Anda bisa mendeklarasikan kedua jenis Array tersebut pada satu handler,tetapi tidak untuk array yang sama.

Mendeklarasikan Array.

untuk mendeklarisakan array,gunakan pernyataan local atau system .Untuk array dinamis, isikan jumlah elemen dengan null.berikut pendeklarasian array :

local sepuluhbesar [10] -- array dengan hanya 10 elemen
local logical kursi [32] [80] -- aray 2 dimensi, 32 X 80 Elemen
system transaksi [ ] -- array dinamis 1 dimensi
local status [ ] [ ] -- array dinamis 2 dimensi

Nomor indeks elemen array dimulai dari 1 9beberapa sistem memulainya dari 0)

mengisi dan mendapatkan nilai dalam array.

Anda dapat mengisikan dan mendapatkan nilai dari suatu elemen array sama halnya dengan variabel jenis lain.

sepuluhBesar [1] = "Bozenski"
kursi [10] [20] + true
if kursi [30] [30] is true
request "tempat tersebut telah dipesan"
end

untuk mengisi seluruh elemen array dengan suatu nilai tunggal, gunakan perintah fill atau isikan nilainya satu persatu.Bila anda membuat array dengan tipe data tertentu ,pastikan niali yang menyertai fill sesuai dengan tipe data tersebut.Sebagai contoh :

local int nilai [100]
fill nilai with 0 -- mengisi semua elemen array dengan nol

Anda juga dapat memakai pernyataan in....order bersama perintah fill untuk mengisikan suatu unit individu suatu teks - baris, item , kata, karakter - kedalam elemen array.Misalnya :

local hiScores [ ]
fill hiScores with text of field "hiscore" in [textline] order

maka jika suatu field hiScore berisikan baris-baris teks, misalnya AAA,BBB,CCC, akan membuat array hiScores berisi sebagai berikut, hiScore[1]=AAA ,, hiScore[2] =BBB , dan hiScore[3] = CCC.

Anada dapat memakai operator teks seperti char, item, textline, dan word untuk memilah-milah teks. Setiap operaor tersebut memilah teks menjadi bagian-bagian yang lebih kecil dan mengisikan mereka kedalam dimensi array. Jumlah operator teks yang anda pakai haurs sesuai denga dimensi array dan array harus cukup besar untuk menanmpung semua komponen teks, atau ToolBook akan menampilkan pesan kesalahan. Bila array tersebut lebih besar daripada jumlah kmpnen teks, maka elemen yang tidak terpakai akan bernlai sama dengan nilai yang sama dengan nilai yang sudah ada sebelumnya. Sebagai contoh, bila anda mengisi array dua dimensi, anda dapat mengisikan baris teks untuk dimensi yang satu, dan kata untuk dimensi lainnya.


contoh = "To be or not to be, " &CRLF & "that's wahat he said"
local tabel [2] 6[ ]
fill tabel with contoh in [textline] [word] order

Contoh diatas akan menghasilkan tabel elemen array berikut ini :

[1] [2] [3] [4] [5] [6]
[1] To be or not to be
[2] that's what he not null null


Anda dapat menyalin seluruh nilai suatu array ke array yang lain dengan set, put atau tanda sama dengan. Kedua array harus memiliki ukuran dan tipe data yang sama.

local int array1 [100]
local int array2 [100]
fill array1 with "X"
array2 = array1

Ukuran array

Pada saat anda mendelakrasikan suatu array, beberapa hal yang harus diingat :
  • Anda dapat mendelaakrasikan sampai 65.536 elemen untuk setiap dimensinya
  • Sebuah array dapat memiliki sampai 16 dimensi
  • ukuran array hanya dibatasi oleh jumlah memori yang tersedia

Be kerja dengan nilai literal

Nilai literal adalah nilai yang diisikan ke suatu variabel atau yang dipakai dalam sebuah ekspresi. Contohnya :


nilai awal = 0 --0 dan "Selamat" adlah literal
salam = "selamat" && waktu

Mengisi nilai literal untuk variabel bertipe

Bila anda mengisikan suatu literal kdalam suatu variabel yang dideklarasikan denga sebuah tipe data, maka nilai literal tersebut harus sesuai dengan tipe data variabel. Jika anda mencoba untuk memberi nilai kiteral yang tipenya tidak sama, ToolBook akan menolaknya. Sebagai contoh :


local int nilai --mendeklarasikan vaiabel integer
nilai - "1000" --boleh, karena "1000" adalah integer
nilai = "abc" --Tidak boleh, karena "abc" bukan integer


Anda bisa memanfaatkan kelebihan Toolbook untuk merubah tipe data suatu nilai bila memerlukan data yang sama untuk keperluan yang berbeda. Misalnya, anda dapat memperlakukan bilangan sebagai string, seperti contoh berikut :

tahun =1996
request chars 3 to 4 of tahun --menampilkan "96"
request tahun +4 menampilkan "2000"


Menetapkan nilai numerik


Bila anda ingin menetapkan nilai numerik, gunakan hanya karakter-karakter berikut :
  • Karakter numerik 1, 2, 3, 4, 5, 6, 7, 8, 9, dan 0
  • Tanda desimal yang didefinisikan dengan sysDecimal, misalnya titik atau koma
  • Operator positif dean negatif (+ dan -)
  • Simbol eksponensial ( E atau e)
  • Tanda mata uang yang didefinisikan dengan sysCurrency, misalnya $
  • Tanda persentase ( % )
Jika anda memakai karakter yang lain, Toolbook akan memperlakukannya sebagai string. Sebagai contoh, Toolbook menjadikan tanggal dalam format string. Sebagai contoh, Toolbook menjadikan tanggal dalam format string mm/dd/yy. Bila anda memasukkan bilangan pecahan untuk variabel interger, Toolbook akan mmbulatkannya ke integer terdekat. Misalnya,jika anda mengisi 3.75 untuk layer obyek, Toolbook akan membulatkannya menjadi 4.

Menetapkan nilai string

Gunakan nilai string untuk teks, misalnya, saat anda ingin mengganti caption atau teks suatu obyek. Anda dapat memaki kombinasi karakter apa saja untuk membuat nilai string, termasuk karakter alphabet, numerik, dan spasi. Bila anda membuat string yang mengandung spasi, anda harus mengapitnya dalam tanda kutip ganda. Walaupun demikian, bila string tersebut tidak mengandung spasi, akan lebih baik bila anda tetap mengapitnya dalam tanda kutip ganda, sebeb Toolbook akan bekerja lebih cepat bila tidak harus menentukan terlebih dahulu, apakah nilai literal tersebut suatu variabel atau bukan. sebagai contoh :

--tidak mengandung spasi, boleh tanpa tanda kutip
pesan = Selamat_Datang

--diproses lebih cepat bila memakai tanda kutip
pesan = "Selamat_Datang"

--harus memakai tanda kutip
pesan = "Selamat datang di Lab. Pengolahan citra."

Nilai logika (Boolean)

gunakan true atau false untuk nilai-nilai logoka (Boolean). Mngatur suatu properti agar nilai true atau false seringkali sama dengan mmberi nilai on atau off. Contohnya :

userWindowscolors = false


Menetapkan page units dan piksel

Anda memakai page units (satuan halaman) dan piksel (pixel) untuk menetapkan nilai suatu koordinat layar untuk berbagai tipe obyek yang berbeda. Gunakan page units untuk obyek grafik untuk menetapkan batas-batas obyek, lokasi suatu obyek relatif dari pojok kiri atas halaman, atau jarak perpindahan suatu obyek, contohnya :

--pindahkan tombol ke kanan bawak sejauh 1 inci
move button "start" by 1440, 1440

Satu inci sama dengan 1440 page units, atau 57 page units per milimeter. Sedangkan jumlah page units per piksel tergantung dari resolusi layar yang digunakan. Gunakan properti sysPageUnitsPerPixel untuk menentukan berapa page units per piksel. Bila obyek berjenis viewer atau palette, gunakan satuan piksel untuk menetapkan lokasinya.

Menggunakan Konstanta.

KOnstanta adalah kata - kata yang mewakili suatu nilai , seringkali berupa bilangan, agar nilai - nilai tersebut lebih mudah untuk dibaca. jenis-jenis konstanta berikut dapat anda pakai dalam OpenScript.

Jenis Konstanta Contoh
Warna (Nilai RGB atau HLS) red, green , Blue.
Karakter kontrol dan tanda baca quote,tab,space,CRLF,EOF
penekanan tombol keyA,keyUpArrow,keyLeftButton,KeySlash
Ekspresi Matematika pi

berikut adalah contoh pemakaian konstanta :

my fillcolor = red
text of field "alamat" = alamat & RRLF & kota

Konstanta penekanan tombol

OpenScript menyertakan konstanta penekanan tombol yang sama dengan nilai numerik dari seluruh kunci keyboard dan tombol mouse. Contoh - contoh konstanta penekanan tombol :

keyA,KeyB KeyLeftButton keytab
keyF1 KeyNumpad1 keyUpArrow
keyHome KeyNumlock

Gunakan konstanta penekanan tombol bersama fungsi keyState ( ) untuk menentukan apakah pemakai yelah menekan suatu tombol tertentu. Contoh :

-- handle ini digunakan untuk menampilkan ID obyek yang berada
-- dibawah kursor slama tombol kiri mouse ditekan
to HAndle buttonDown
while keyState (keyLeftButton) is down
caption of statusBar = \
objectFromPoint (mousePosition of this window)
end while
end buttondown

Bekerja dengan string

seuntai karakter atau string , dalah kombinasi apa saja dari karakter alphabet,numerik,tanda baca , dan karakter kontrol yang anda isikan ke suatu variabel ,properti atau dipakai dalam ekspresi . sebagai contoh :

ask "masukan alamat anda , berikut nama kota" && \
"dan kode pos"

Memakai operator string dalam ekspresi

untuk merujuk sebagian dari string , gunakan salah satu dari operator string char, item, textline atau word. contoh :

item 1 of nama -- mengambil item nomor 1 dari variabel nama
char 2 of word 3 of textline 4 of text of field "catatan" of \ page 27 of book "tutorial.tbk"

anda dapat mengenali sebagian dari string, atau substring, dengan bilangan mutlak atau memakai keyword untuk mengindikasikan posisinya,first,last,middle(atau mid),second, third,fourth sampai tenth. sebahai contoh :

third character of "ABCDEF" -- mendapatkan "C"
last item of nama

memakai range (jangkauan)

untuk mengenali suatu range dalam sebuah strig , gunakan keyword to.
contohnya :

awal = word 1 to 3 of "satu dua tiga empat lima"

mengkonversi string dan tipe data lainnya.

jika anda memakai operator string untuk variabel tak bertipe, Toolbook secara otomatis merubahnya menjadi data string.contoh :

x = (1000*3)
huruf pertama = first character of x -- menghasilkan 3

anda juga dapat memakai string sebagai suatu bilangan dalam kspresi .pada ekspresi berikut, Toolbook merubah teks suatu field menjadi bilangan :

request (word 1 of text of field "total") * jumlah

anda juga dapat membuat suatu list dengan menggabungkan string ditambah koma dan memberikannya untuk variabel string :

alphabet = "A,B,C,D,E"

Menyisipkan atau mengganti teks dalam string

Anda dapat memakai penetap string ( specifier) untuk mengganti teks atau menyisipkan teks kedalam suatu string , seperti ditunjukan pada tabel berikut :

String specifier keterangan
into mengganti string
before menyisipkan teks didepan suatu string
after menyisipkan teks dibelakang suatu string

sebagai contoh :

-- untuk mengganti kata pertama dari suatu string
word 1 of textline 2 of text of field "keterangan" = "multimedia"

-- untuk menyisipkan kata-kata baru setelah kata pertama
put "production" after word 1 of textline 2 \
of text of field "keterangan"

fungsi - fungsi untuk string

Anda dapat memakai fungsi - fungsi berikut untuk menunjuk atau mengolah bagian tertentu dari string :

ansiTohar() lowercase() uppercase()
charCount() offset() wordCount()
charToAnsi() textFromPoint()
itemCount() tyextlinecount()

Contoh berikut mengambil suatu list dari suatu variabel kecuali 3 data pertama :

vTerssisih = item 4 to itemCount (finalis) of finalish

Saat memanipulasi teks suatu field, isikan teks tersebut ke suatu variabel guna mempercepat proses. Contohnya :


--untuk mengetahui apakah terdapat karakter selain angka pada teks
teks = text of field "informasi"
step n from 1 to charCount (txt)
if character n of txt is not in :1234567890"
return false
end
end


Bekerja dengan list


Sebuah list (urutan) atau stack ( tumpukan) adalah serangkaian item yang dipisahkan dengan koma. List merupakan jenis literal yang bagus untuk mengelola data yang terdiri dari serangkaian data, seperti nama misalnya, terutama bila jumlah itemnya sering berubah. Anda juga dapat memakai list untuk menyimpan serangakaian item secara sementara tanpa harus membuat variabel-variabel terpisah untuk setiap item.

ToolBook memiliki perintah khusus dan fungsi yang bekerja danga list, dan memerlukan parameter untuk dilewatkan dalam bentuk list ( seperti nilai dari warna). Anda dapat merujuk setiap item dari list dengan keyword item. Contoh :

nama = "Amelda, Fanany, Dede, Ivan"
get item 2 of nama --memasukkan "Fanany" ke variabel It


Gunakan perintah push dan pop untuk memerlukan suatu list sebagai stack last-in-first-out. Push menambahkan suatu item data ke awal stack, pop mengeluarkan. Sebagai contoj :

local nilai --nilai = null
oush "A" onto nilai --nilai = "A"
push "B" onto nilai --nilai = "B, A"
pop nilai --nilai = "A", it = "B"
pop nilai into akhir --nilai = null, akhir = "A"

Anda dapat memakai push untuk meletakkan item pada posisi tertentu dari list :

push "kuda' onto item 5 of hewan
push "gajah" fater item 3 of hewan


Merujuk suatu warna

Sebuah warna dalam toolbook ditetapkan dengan suatu list yang terdiri dari tiga bilangan, mewakili baik dalam satun RGB (Red, Green, and Blue) atau satuan HLS (Hue, lightness, and saturation). Anda dapat mengisikan nilai-nilai ini untuk memakai konstanta warna untuk beberapa warna seperti red, blue, black, dan white. Anda juga dapat mengatur properti obyek-obyek yang menyebabkan mereka memakai warna dari sistem Windows yang didefinisikan dari Window Control Panel.

Anda dapat mengatur warna dengan OpenScript memakai satuan RGB atau HLS. Untuk mengatur warna dgan satuan RGB, isikan nila properti rgbFill dan rgbStrokeColor. Untuk memakai satuan HLS, isikan nilai properti fillColor dan strokeColor suatu obyek. Keduanya mempunyai hasil yang sama, jadi anda bisa memilih mana yang lebih disukai
Tetapkan nilai RGB sebagai berikut :
  • Range nilai red antara 0 sampai 255, dengan 0 menunjukkan 0 persen warna merah dan 255 menunjukkan 100 persen warna merah. Warna merah murni, dalam nilai EGB, ditunjukkan oleh 255,0,0
  • Rangenilai green antara 0 sampai 255, dengan 0 menunjukkan 0 persen warna hijau dan 255 menunjukkan 100 persen warna hijau. Warna hijau murni, dalam nilai RGB, ditunjukkan oleh 0,255,0
  • Range nlai blue antara 0 sampai 255, dengan 0 menunjukkan 0 persen warna biru dan 255 menunjukkan 100 persen warna biru. Warna biru murni, dalam nilai RGB, ditunjukkan oleh 0,0,255
Warna hitam diperoleh dari 0 persen merah, hijau, dan biru. Warna putih didapat dari 100 persen merah, hijau, dan biru

Tetapkan nilai HLS sebagai berikut :
  • Range nilai hue antara 0 sampai 360, menunjukkan sudut suatu roda warna. Untuk warna-warni murni, 0 derajat adalah merah, 60 derajat adalah kuning, 120 derajat adalah hijau, 180 derajat adalah cyan, 240 derajat adalah biru, dan 300 derajat adalah magenta. 0 derajat dan 360 adalah sama.
  • Lightness bernilai antara 0 sampai 100, dengan 0 menunjukkan 0 persen cahaya (hitam) dan 100 menunjukkan 100 persen cahaya (putih)
  • Saturation bernilai antara o sampai 100, dengan 0 menunjukkan 0 persen saturasi (abu-abu) dan 100 menunjukkan 100 persen saturasi (warna murni)

--menampilkan urutan warna dalam satuan HLS
to handle buttonClick
step mHue from 0 to 360
my fillcolor = mHue, 50, 100
end
end

Merujuk suatu konstanta warna

Anda dapat memakai sepuluh konstanta waran yang disediakan ToolBook untuk merujuk ke suatu warna solld-black, blue, cyan, green, magenta, red, yellow, white, gray, dan ligghtGray. Setiap konstanta memiliki persamaan nilai baik dalam satuan RGB maupun HLS. ToolBook secara otomatis memulih satuan yang dipakai sesuai dengan jenisnya propertinya. Contoh :

my fillcolor = green -- HLS 120, 50, 100
rgbfill of rectangle :kotak" = green --RGB 0, 25, 0
my strokeColor =0, 50, 100 -- HLS (merah)




date Selasa, 30 Maret 2010

0 komentar to “ ”

Leave a Reply: