Hallo Gerhard,
Post by Gerhard FobeWenn ich eine Zahl aus einer z.B. Integer-Variablen auf ein Label schreibe
Label.Caption erwartet einen String. Es ist also gar nicht möglich, einen
Wert vom Typ Integer in ein Label-Control zu schreiben.
VB wendet dabei ohne dass Du es bemerkst, die automatische Typumwandlung an
und macht aus dem Wert vom Typ Integer einen String.
Dim intWert as Integer
intWert = 1234
Label.Caption = 1234
funktioniert zwar, aber VB macht daraus tatsächlich dieses:
Label.Caption = cStr(1234)
Post by Gerhard Fobewird die Zahl ohne fürhrende Null angegeben, also .43 statt 0.43. In QBasic
konnte ich dies noch mit PRINT USING "#.##" bewerkstelligen. Wie kann ich
dieses Problem nun in VB6 lösen? Danke im Voraus.
Wie Du ja schon erfahren hast, kannst Du einen numerischen Wert mit Hilfe
der Format$()-Funktion zu einer Zahlendarstellung in einem String umwandeln
und dabei auch eine Formatierung anwenden.
Label.Caption mit führenden Nullen auf 6 Stellen auffüllen.
Label.Caption = Format$(1234, "000000")
Ich würde Dir dringend empfehlen, mal die Online-Hilfe zu den verschiedenen
Datentypen sowie zu den Umwandlungsfunktionen cByte(), cInt(), cLong(),
cSng(), cDBL(), cCur() u. cDec() sowie zu Val() und Str() und cStr()
anzusehen.
Wenn Du ein stabil laufendes Programm haben willst, solltest Du es auf
keinen Fall VB überlassen, per automatischer Typumwandlung Strings zu
numerischen Werten und umgekehrt num. Werte zu Strings umzuwandeln.
Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tips u. Beispielprogrammen)