2008 - Problem beim HexEditor coden VB 

Status
Für weitere Antworten geschlossen.
Mit Hexeditor kenn ich mich nicht aus.

Aber kann dir denk ich mal Programmiertechnisch weiterhelfen. Das ";" ist aber in hex "3b".
Kannst du das programmiertechnisch oder das umwandeln an sich nicht???
 
Zuletzt bearbeitet von einem Moderator:
hmm, ich will eine art Keymaker machen, der den Regnamen in einer Datei ändert, d.h. man gibt einen Regname ein, der wird dann in die datei eingetragen. Dazu muss ich aber erst wissen, wie man einen eingegebenen String nach Hex konvertiert.. Schade, dass es nur so wenige gibt, die das wissen... :(
 
In c++ weiß ichs, in VB muss es Lacky machen ;)
Ihr müsst jeden character einzeln umwandeln, d.h.
H = 72 (ASCII)
72 (ASCII) = 48 (Hex)
a = 97 (ASCII)
97 (ASCII) = 61 (Hex)
->
Ha = 4861 (Hex)

etc.

Das wäre zumindest mein Lösungsansatz...
 
ich denk mal ich hab es so ungefähr. Wenn du zum Beispiel ein "q" eingibst dann kann man das ja mit keydown abfangen und bekommt so die Deszimalzahl raus.
Die Dezimalzahl kannst du mit meinem vorherigen code in hex umwandeln.

Also so ungefähr:

PHP:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim dez As Integer = TextBox2.Text
Dim rest(100) As String
Dim i, j, länge, ablage As Integer
länge = TextBox2.Text.Length
For i = 1 To länge
rest(i) = dez Mod 16
dez = dez \ 16
j = i
If rest(i) > 9 Then
ablage = rest(i)
If ablage = 10 Then rest(i) = "A"
If ablage = 11 Then rest(i) = "B"
If ablage = 12 Then rest(i) = "C"
If ablage = 13 Then rest(i) = "D"
If ablage = 14 Then rest(i) = "E"
If ablage = 15 Then rest(i) = "F"
End If
If dez = 0 Then Exit For
Next

For i = j To 0 Step -1
TextBox1.Text = TextBox1.Text + rest(i)
Next
End Sub


Private Sub txt_eingabe_keydown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_eingabe.KeyDown
Dim dez As Integer
dez = e.KeyCode
TextBox2.Text = TextBox2.Text + " " + CStr(dez)
End Sub

Das muss aber noch ausgebaut werden ist jetzt bloß fürs grund Prinzip!

edit:
ha da war der zerd ein tick schneller :)
 
Ich habe 13 Strings - s1 bis s13 - wie mach ich das dar denn? ^^

oder soll ich dir nicht einfach mal die Source schicken und du schaust nach? :)
 
RS-Links sind verboten und haltet euch mal mit dem Smalltalk zurück, das hier ist ein HowTo Thread!!!

Gruß
Broken Sword
 
Zuletzt bearbeitet von einem Moderator:
OK!

ich hab mal durch geschaut. So wie ich das erkennen kann speicherst du in s1 zb a und in s2 b usw.
Aber das geht ein bisschen anders.
Du musst mit keydown deine eingabe "abfangen" weil da in dem "e" die dezimalzahl von dem a,b usw drin steht.
Die zahlen speicherst du dann in eine variable und wandelst diese Dezimalzahlen in Hexadezimal um. Wie der code von mir auf der vorrigen seite.

edit:

Also bei mir funzt es wenn ich "HALLO" eingebe kommt dann das hier raus "48 41 4C 4C 4F"

PHP:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim rest(50) As String
Dim i, j, k, länge, ablage As Integer

länge = TextBox2.Text.Length
For k = 1 To anzahl
For i = 1 To länge
rest(i) = teile(k) Mod 16
teile(k) = teile(k) \ 16
j = i
If rest(i) > 9 Then
ablage = rest(i)
If ablage = 10 Then rest(i) = "A"
If ablage = 11 Then rest(i) = "B"
If ablage = 12 Then rest(i) = "C"
If ablage = 13 Then rest(i) = "D"
If ablage = 14 Then rest(i) = "E"
If ablage = 15 Then rest(i) = "F"
End If
If teile(k) = 0 Then Exit For
Next
For i = j To 0 Step -1
TextBox1.Text = TextBox1.Text + rest(i)
Next
TextBox1.Text = TextBox1.Text + " "
Next
End Sub


Private Sub txt_eingabe_keydown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_eingabe.KeyDown
Dim dez As Integer
If e.KeyCode > 33 And e.KeyCode < 125 Then
dez = e.KeyCode
TextBox2.Text = TextBox2.Text + " " + CStr(dez)
z += 1
teile(z) = dez
anzahl += 1
End If
End Sub
End Class

Module Deklaration
Public z, anzahl As Integer
Public teile(50) As String
End Module
 
Zuletzt bearbeitet von einem Moderator:
ich versteh den code nicht :D

txt_eingabe_keydown

was ist das?

die textbox?
 
:)

keydown ist ein ereigniss von txt_eingabe!!!

Wenn du also in die Textbox "txt_eingabe" etwas eingibst dann springt dieses ereigniss(Prozedur) an.
 
joar trotzdem bin ich noch ein bisschen ratlos, wie ich den kompletten code bei mir reinbekomme.

Vielleicht könntest du meinen Sourcecode kurz umändern, damit ich ein bisschen überblick habe, und am besten änderst du dabei die variablenamen ein bisschen umändern damit ich das besser verstehen kann...

Wenn du Zeit hast, setzt dich mal bitte da ran, und sag mir bescheid, wenn du das fertig hast :)

Achja, Link per PN, nicht hier im Threat :D
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten