Wie mein Name schon sagt beschäftige ich mich gezwungener masen mit VB.
Seit zwei tagen bastele ich an einem Hex in Dez umrechner
da ich aber nicht "deczahl = Val("&H" & hexzahl)" benutzen darf und dem Benutzer eine Erläuterung des Umrechnungs verfahrens mitgeteilt werden soll. Ich habe vor den Benutzer die zahlen von hinten einzugeben aber er setzt das text feld welche ich zu eingabe benutze immer wieder auf "0"
was mach ich den falsch? Hier ist der Quelltext
Private Sub cmd_ok5_Click()
txt_fünf.Text = fünf 'Hex darf max 5 Zeichen lang sein
fünf = txt_fünfzwei.Text 'dient zur darstellung
txt_ergebnissfünf = fünf * 1 ', Ein zwischen ergebnis
txt_ergebnis = fünf * 1 'das endergebnis
das ist nur einer der 5 Blöcke aber wenn der funzt sollte der rest auch gehen
_________________
Hanno Coder
Anmeldedatum: 22.08.2001 Beiträge: 82
Verfasst am: 03.05.2002, 14:39
Also der Fehler scheint in diesen Zeilen zu sein:
Quote:txt_fünf.Text = fünf 'Hex darf max 5 Zeichen lang sein
fünf = txt_fünfzwei.Text 'dient zur darstellung
müsste das nicht
Quote:fünf = txt_fünf.Text 'Hex darf max 5 Zeichen lang sein
txt_fünfzwei.Text = fünf'dient zur darstellung
heißen??
Ansonsten würd ich das aber so machen:
(Text1 : Eingabefeld Text2: Ausgabefeld Command1: Umrechnen)
Quote:Private Sub Command1_Click()
Dim ZahlHex As String, ZahlDec As Long, M As Long
ZahlHex = UCase(Text1.Text) 'Hexzahl in Großbuchstaben einlesen
M = 1 'Multiplikator ( 1,16,256 usw)
ZahlDec = 0 'Dezimalzahl
For i = Len(ZahlHex) To 1 Step -1 'Alle Zeichen mit dem letzten zuerst durchgehen
C = Mid(ZahlHex, i, 1) 'Ein Zeichen herausnehmen
If C >= "0" And C <= "9" Then 'Wenn das Zeichen 0..9 ist:
ZahlDec = ZahlDec + Val(C) * M
ElseIf C >= "A" And C <= "F" Then 'Wenn das Zeichen A-F ist:
ZahlDec = ZahlDec + (Asc(C) - Asc("A") + 10) * M
End If
M = M * 16 'Multiplikatoer erhöhen
Next
Text2.Text = ZahlDec 'Zahl ausgeben
End Sub