Selasa, November 13, 2012

MEMBUAT TIMER VISUAL PROLOG


Membuat timer pada visual prolog cukup sederhana, cukup mengaktifkan fungsing onTimerListener dan memasukkan sedikit coding, fungsi dari timer sendiri bisa dimanfaatkan untuk berbagai keperluan, seperti animasi, perputaran nilai, pergerakan koordinat, dll.. tergantung kemampuan kita dalam membuat kondisi untuk timer.


Pertama-tama, buka propertis project, kemudian pilih tab event, seperti gambar diatas. Kemudian cari TimerListener, dan aktifkan timerListener menjadi OnTimer seperti gambar diatas.
Maka secara otomatis, akan tampil source code predicates dan clauses pada project kita.. source code yang tampil adalah sebagai berikut

predicates
    onTimer : window::timerListener.
clauses
    onTimer(_Source_TimerId).

Selanjutnya modifikasi source code menajadi

predicates
    onTimer : window::timerListener.
clauses
    onTimer(_Source_TimerId):-
       not(isErroneous(timerNum)), !,
                   
        onTimer(_Source_TimerId)


Selanjutnya kita deklarasikan variabel baru yang nantinya akan digunakan untuk mengaktifkan timer,

facts
    timerNum : timerID := erroneous.
    delay : integer := 25.

Kita buat pada bagian facts, timerNum : timerID := erroneous. Untuk pendeklarasian fungsi timer, dan nilai delay : integer := 25. Sebagai delay waktu untuk timer, semakin besar nilainya semakin lambat delay timer, dan semakin kecil, maka akan semakin cepat delay timer.


Selanjutnya untuk mengaktifkan timer, digunakan statement berikut, Bisa kita tempatkan didalam blok button, untuk mengaktifkan timer.

            timerNum := timerSet(delay).   

Dan untuk menghentikan timer, menggunakan statement berikut
            timerKill(timerNum),
            timerNum := erroneous.  


Dan untuk source code membuat dadu berputar 1 sampai 6, source codenya sebagai berikut

    onTimer(_Source_TimerId):-
       not(isErroneous(timerNum)), !,
if (d>6) then
d:=1
end if,
                     dadu_ctl:setText(tostring(d)),
                     d:=d+1.
                   
        onTimer(_Source_TimerId)

Kondisi diatas jika dadu lebih dari 6, maka akan megembalikan nilainya menjadi 1.
 

LALU GIMANA MEMBUAT TIMER LEBIH DARI 1 DALAM 1 FORM...???

caranya sederhana, tapi agak ribet.. berikut langkah2nya..

pertama, buat blok timer dengan nama yang berbeda dari timer yang sebelumnya kita buat..

    onTimer2(_Source_TimerId):-
       not(isErroneous(timerNum2)), !,
if (d>6) then
d:=1
end if,
                     dadu_ctl:setText(tostring(d)),
                     d:=d+1.
                   
        onTimer2(_Source_TimerId)


selanjutnya ditambahkan pendeklarasian variabel baru untuk timer2..

facts
    timerNum2 : timerID := erroneous.          % timer 1
    delay : integer := 25.                            % timer 1

    timerNum2 : timerID := erroneous.          % timer2
    delay2 : integer := 25.                           % timer2 jika delaynya berbeda


Selanjutnya untuk mengaktifkan timer, sama seperti sebelumnya, namun kali ini ditambahkan statement addTimerListener

            addTimerListener(onTimer2),           % penambahan statement
            timerNum2 := timerSet(delay).   

Dan untuk menghentikan timer yang ke-dua, menggunakan statement berikut
            timerKill(timerNum2),
            timerNum2 := erroneous.  

LALU GIMANA KALAU MENGGUNAKAN 2 FORM DENGAN TIMER YG BERBEDA..?

tinggal lakukan langkah diatas, namun di tempatkan di source code form yang kedua.

untuk melihat semua materi mengenai visual prolog, bisa dilihat disini..
VISUAL PROLOG




1 komentar:

Anonim mengatakan...

bagaimana cara untuk memindahkan koordinat??
masih binggung dengan penjelasan tentaang koordinatnya

:)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( :-L x( =))

Posting Komentar

untuk menggunakan emotion di bawah, silakan masukkan kode di samping emoltion.

Template by : kendhin x-template.blogspot.com