CRC Generator

28 January 2010

Dalam tutorial ini saya akan sedikit menuliskan bagaimana membuat sebuah CRC Generator agar kita bisa mendapatkan nilai CRC sebuah file dengan menggunakan visual basic 6.0.
Disini kita hanya membutuhkan sebuah form dan sebuah user control.

kita mulai dengan membuat sebuah project baru lalu tambahkanlah sebuah user control
Atur properti heightnya menjadi 360 kemudian widthnya menjadi 480 kemudian simpan dengan nama CRC
Lalu ketikanlah script berikut ini pada user control tersebut :

Option Explicit
Private crcTable(0 To 255) As Long

Private Sub UserControl_Initialize()
BuildTable
End Sub

Private Function CRC32(ByRef bArrayIn() As Byte, ByVal lLen As Long, Optional ByVal lcrc As Long = 0) As Long
Dim lCurPos As Long
Dim lTemp As Long
If lLen = 0 Then Exit Function
lTemp = lcrc Xor &HFFFFFFFF
For lCurPos = 0 To lLen
lTemp = (((lTemp And &HFFFFFF00) \ &H100) And &HFFFFFF) Xor (crcTable((lTemp And 255) Xor bArrayIn(lCurPos)))
Next lCurPos
CRC32 = lTemp Xor &HFFFFFFFF
DoEvents
End Function

Private Function BuildTable() As Boolean
Dim i As Long, x As Long, CRC As Long
Const Limit = &HEDB88320
For i = 0 To 255
CRC = i
For x = 0 To 7
If CRC And 1 Then
CRC = (((CRC And &HFFFFFFFE) \ 2) And &H7FFFFFFF) Xor Limit
Else
CRC = ((CRC And &HFFFFFFFE) \ 2) And &H7FFFFFFF
End If
Next x
crcTable(i) = CRC
Next i
DoEvents
End Function

Public Function FromFile(SPathFile As String) As String
Dim b() As Byte, lcrc As Long
On Error Resume Next
If Len(SPathFile) = 0 Then Exit Function
Open SPathFile For Binary Access Read As #1
ReDim b(FileLen(SPathFile) - 1)
Get #1, , b
Close #1
lcrc = UBound(b())
lcrc = CRC32(b(), lcrc)
FromFile = Hex(lcrc)
DoEvents
End Function


Sekarang kita mulai mendesign tampilan formnya..
tambahkan sebuah form baru lalu designlah seperti gambar berikut ini :

Di form tersebut digunakan 5 buah objek yaitu label, textbox, command button, common dialog, crc ( user control yang sebelumnya telah dibuat). atur propertiesnya sesuai dengan gambar.
kalau sudah tambahkan script berikut ini pada form :

Private Sub cmdbrowse_Click()
On Error Resume Next
With cd
.Filter = "All Files (*.*) |*.*"
.ShowOpen
If Len(.FileName) = 0 Then Exit Sub
txtfilename.Text = .FileName
End With
End Sub

Private Sub cmdproses_Click()
txtcrc32.Text = CRC.FromFile(txtfilename.Text)
End Sub

Selamat mencoba
READ MORE - CRC Generator

Screenshot G-Customizer 2010

23 January 2010

Posting kali ini saya hanya sedikit share tampilan project program G-Customizer 2010 yang akan segera dirilis..
Berikut ini screenshot programnya :


Gambar 1 : Layar login program

Gambar 2 : Tampilan pengingat password

Gambar 3 : Tampilan pengaturan program

Gambar 4 : Tampilan manajemen sandi


Gambar 5 : Tampilan tweak

Program ini sekarang masih dalam proses..
jadi buat yang kepengen ditunggu tanggal rilisnya ok.. ^^

http://gnoubdils.blogspot.com/
READ MORE - Screenshot G-Customizer 2010

Konsep OOP di Visual C++ 2005

19 January 2010

Dalam konsep OOP (Object Oriented Programming) salah satu syarat dari bahasa pemrograman agar dapat dikelompokan kedalam bahasa pemrogramman yang mendukung OOP yaitu class. Visual C++ 2005 yang merupakan bahasa pemrograman berbasis OOP-pun mendukung class.
Ditutorial ini yang akan saya bahas yaitu mengenai class yang berisi beberapa method dan juga cara membuat sebuah object/instance class.

Setiap kali membuat sebuah class baru maka harus juga dibuat 2 buah file baru dengan nama yang sama, yaitu satu file header dengan ekstensi *.h dan satu file source yang berekstensi *.cpp.
Misalkan ingin dibuat sebuah class dengan nama Class1, maka harus dibuat juga file Class1.h dan Class1.cpp. Dengan menggunakan Visual C++ 2005 hal tersebut bisa diatasi dengan mudah karena akan dapat dibuat secara langsung oleh Visual C+ 2005.

File header berguna untuk menampung prototype dari konstruktor class dan juga prototype dari setiap method yang ada di dalam class tersebut. Sedangkan file source berguna untuk menampung baris perintah atau isi dari constructor dan method tersebut.


Ok buatlah sebuah project baru kemudian designlah form seperti gambar berikut ini :


form tersebut terdiri dari 4 buah componen yaitu label, maskedtextbox, combobox, button.
aturlah properties dari form tersebut seperti dibawah ini :

Nama Kontrol : Form1
Properties : AcceptButton
Nilai : button1

Nama Kontrol : From1
Properties : Text
Nilai : Konversi Suhu

Nama Kontrol : label1
Properties : Text
Nilai : Input Suhu

Nama Kontrol : label2
Properties : Text
Nilai : Pilihan Konversi

Nama Kontrol : label3
Properties : Text
Nilai : Hasil

Nama Kontrol : label4
Properties : Text
Nilai : Celcius

Nama Kontrol : maskedtextbox1
Properties : Mask
Nilai : 00

Nama Kontrol : combobox1
Properties : Items
Nilai : Fahrenheit, Reamur, Kelvin

Nama Kontrol : combobox1
Properties : Text
Nilai : Fahrenheit

Nama Kontrol : button1
Properties : Text
Nilai : Konversi


kemudian tambahkan sebuah class baru dengan mengklik menu dropdown Add New Item yang ada pada toolbar lalu pilih Add Class atau dengan menggunakan kombinasi tombol shorcut SHIFT + ALT + C. Pada jendela yang tampil dibagian kategori pilih Visual C++ > C++ kemudian pada bagian template pilih lalu klik C++ Class.

Lalu klik tombol Add seperti tampil pada gambar dibawah ini :


Akan tampil kotak dialog Generik C++ Class Wizard isilah Class Namenya menjadi classkonversi seperti yang saya bilang diawal ketika kita membuat sebuah class di Visual C++ 2005 maka file header dan file source akan langsung dibuat secara otomatis sesuai dengan nama class seperti tampil pada gambar dibawah ini, dimana nama file header dan file source akan terisi secara otomatis ketika menulis nama class :



Lihat pada Solution Explorer akan tercipta 2 buah file baru. klik ganda file classkonversi.cpp lalu tambahkan listing code berikut ini dibawah code yang telah ada :

double classkonversi::keFahrenheit(double celcius)
{
double fahrenheit;
fahrenheit = (celcius * 1.8) + 32;
return fahrenheit;
}

double classkonversi::keReamur(double celcius)
{
double reamur;
reamur = celcius * 0.8;
return reamur;
}

double classkonversi::keKelvin(double celcius)
{
double kelvin;
kelvin = celcius + 273.15;
return kelvin;
}

setelah itu kliklah pada classkonversi.h lalu tambahkan code berikut ini :

#pragma once
ref class classkonversi
{
public:
classkonversi(void);
double classkonversi::keFahrenheit(double celcius);
double classkonversi::keReamur(double celcius);
double classkonversi::keKelvin(double celcius);
};

setelah itu pindahlah ke tab Form1.h [Design] kemudian tekan F7 pada bagian paling atas kode dibawah #pragma once tambahkan kode berikut ini :

#include "classkonversi.h"
supaya class tersebut bisa dikenali diprogram utama. pindah lagi ke tab Form1.h [Design] klik ganda button1 kemudian ketikan code program dibawah ini :


private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

if(maskedTextBox1->Text == ""){
maskedTextBox1->Focus();
goto keluar;
}

classkonversi^ konversisuhu = gcnew classkonversi;
double suhu, hasil;
suhu = Convert::ToDouble(maskedTextBox1->Text);

switch(comboBox1->SelectedIndex){
case 0 :
hasil = konversisuhu->keFahrenheit(suhu);
break;

case 1:
hasil = konversisuhu->keReamur(suhu);
break;

case 2:
hasil = konversisuhu->keKelvin(suhu);
break;

default:
MessageBox::Show("Maaf, pilihan tidak ada","Pesan");
goto keluar;
break;
}

label3->Text = "Hasil konversi Celcius ke " + comboBox1->SelectedItem + " = " + hasil.ToString();

keluar:;
}
jalankan program dengan menenkan F5.

Selamat mencoba..
READ MORE - Konsep OOP di Visual C++ 2005

Artikel Lain

 
 
 

Go To Link

  »  A1VBCode
  »  Bina Sarana Informatika
  »  Blogger
  »  Deconstruction Code
  »  Diskusiweb
  »  dremi.info
  »  Echo
  »  Facebook
  »  Gary Abraham
  »  Ilmu Website
  »  JQuery
  »  Mahesajenar Widget
  »  STMIK Nusa Mandiri
  »  OOM Blog
  »  Planet Source Code
  »  Rahma Blog
  »  Terren Jr
  »  VB-Bego
  »  Herry Blog

Advertisement