HEX Ceviri(visual basic)
Gönderilme zamanı: 05 Haz 2006, 15:02
Bilindigi üzere mikro islemciler hexadecimal sistem kullanir.İlk öncleri binary sistem (2 lik) kullanilmasina karsin bu sistemde olusturulan kodlarin cok uzun ve zaman alici olmasi gelistiricileri hex (16 lik) sisteme gecmeye zorlamistir.Bu sisteme pc mizin islemcisinden tutunda pic adi verilen microcontroller gibi yeni teknolojiler zamanla dahil olmustur.
simdi vb ile text kutularina girdigimiz cümleleri hex'e,hex olan verileri cümlelere dönüstürecegiz..
bunun icin vb de formumuza 2 tane text nesnesi,2 tane button nesnesi ekliyoruz.
mantik basit.text kutusundaki her karakterin ascii kodu alinip hex koduna cevriliyor.tekrar geri almak icinde mantik tam tersi.kolay gelsin :wink:
simdi vb ile text kutularina girdigimiz cümleleri hex'e,hex olan verileri cümlelere dönüstürecegiz..
bunun icin vb de formumuza 2 tane text nesnesi,2 tane button nesnesi ekliyoruz.
Kod: Tümünü seç
'Sayilarin kontrol edildigi fonksiyon
Private Function hexadecimal(gelen As Integer)
Dim kalan As Integer
Dim sonuc As String, ekle As String
Do While gelen > 0
kalan = gelen Mod 16
If kalan > 9 Then
Select Case kalan
Case 10
ekle = "A"
Case 11
ekle = "B"
Case 12
ekle = "C"
Case 13
ekle = "D"
Case 14
ekle = "E"
Case 15
ekle = "F"
End Select
Else
ekle = kalan
End If
gelen = Int(gelen / 16)
sonuc = sonuc + ekle
Loop
hexadecimal = StrReverse(sonuc)
End Function
Private Function Hex2Ascii(gelen As String)
Dim h1 As Integer, h2 As Integer, ht As Integer
h1 = kontrol(Left(gelen, 1)) * 16
h2 = kontrol(Right(gelen, 1)) * 1
ht = h1 + h2
Hex2Ascii = Chr(ht)
End Function
Private Function kontrol(karakter As String)
Select Case karakter
Case "A"
kontrol = 10
Case "B"
kontrol = 11
Case "C"
kontrol = 12
Case "D"
kontrol = 13
Case "E"
kontrol = 14
Case "F"
kontrol = 15
Case Else
kontrol = Int(karakter)
End Select
End Function
'Hex ten Ascii ye cevirme fonksiyonu
Public Function HexTranslate(gelen As String)
Dim j As Integer
Dim donen As String
gelen = UCase(gelen)
For j = 1 To Len(gelen) Step 2
donen = donen & Hex2Ascii(Mid(gelen, j, 2)) ' & " "
Next j
HexTranslate = donen
End Function
'Hex e cevirme fonksiyonu
Public Function Translate2Hex(gelen As String)
Dim i As Integer
Dim harf As String
For i = 1 To Len(gelen)
harf = hexadecimal(Asc(Mid(gelen, i, 1)))
donen = donen & harf ' & " "
Next i
Translate2Hex = donen
End Function
'Birinci buton hex e ceviriyor
Private Sub Command1_Click()
Text2.Text = Translate2Hex(Text1.Text)
End Sub
'ikinci buton hex ten ascii ye ceviriyor
Private Sub Command2_Click()
Text2.Text = HexTranslate(Text1.Text)
End Sub