String oder Single.... ich kapiers nicht

Hallo zusammen,

ich versuche gerade VB im Selbststudium zu erlernen.
Ich stosse dabei ständig auf das Problem, das Variablen
falsch deklariert sind.

Ein kurzes Beispiel:

(Vier Textfelder, ein Command-Button)

Private Sub command1_click()

Dim a,b as single
a= txt_1.text
b= txt_2.text
txt_3.text = Typename(a)
txt_4.text = Typename(b)

End sub

Für die Werte a,b gebe ich nach Programmstart jeweils ein Zahl ein.

Als Ausgabe bekomme ich jetzt im Textfeld Txt_3 „String“, im Textfeld Txt_4 „Single“

Ich brauche aber die Werte a und b als „Single“ (ich will Berechnungen damit durchführen).

Was mach ich falsch?

Vielen Dank für die Info
Gruß Stefan

Hi Stefan,

das ist ein sehr gemeines, aber leicht zu lösendes Problem :wink:

Dim a,b as single

In VB musst Du jede Variable einzeln deklarieren, d.h. in dieser Zeile wird b als Single deklariert, bei a steht aber nichts dabei, also ist a Variant und nimmt entsprechend Deinem Textfeld einen bestimmten Typ an, normalerweise String. Korrekt wäre:

Dim a as single, b as single

Um ganz sicher zu gehen, dass alles mit der Umwandlung klappt, kannst Du zudem schreiben:
a= val(txt_1.text)

Gruß
Sculpture

Ganz sicher ist mal mit:

dim a as single

if(isnumeric(txt_text1.text)=true)
a = val(txt_text1.text)
end if

Danke…Hat geholfen…Gruss Stefan
o.T.