[VBS] Anfängerfrage: Variablen an TextBox vergeben

domi1511

Lieutenant
Registriert
März 2006
Beiträge
934
Hallo

Ich setze mich seit kurzem mit VBS auseinander. Habe mir nun erstmal die Aufgabe gestellt einen simplen Rechner zu machen der zwei Zahlen zusammenzählt.

Meine erste frage ist wenn ich mit dieser Formel Rechne Zählt es mir nicht die Zahlen zusammen sondern es setzt sie hintereinander.

TextBox3 = TextBox1 + TextBox2

z.b. ich gebe ein 1 + 2
dann krieg ich das Ergebniss 12.


Mein zweites und auch wichtigeres Problem ist die Zuweisung einer Variable zu jeder TextBox.

z.b.

TextBox1 sollte die Variable a bekommen.
TextBox2 sollte die Variable b bekommen.
TextBox3 sollte die Variable c bekommen.

damit ich nicht diese Formel verwenden muss (TextBox3 = TextBox1 + TextBox2) sondern ganz einfach diese Formel (c= a + b) verwenden kann.

Was ich jetzt schon herraus gefunden habe ist das ich die gesammte TextBox umbennenen kann ... aber das will ich nicht. Sondern die Variablen sollen im Script zugewiesen werden.

Bitte um Hilfe.
Ich habe schon eine nette Seite gefunden die VB erklärt. Dennoch kann sie mir diese simple Frage mit den Variablen nicht erklären.
 
die Variablen werden als String behandelt, sind jedoch Integer, deswegen musst du sie mit int() umwandeln.

Code:
TextBox3 = int(TextBox1) + int(TextBox2)
 
Aha ok dann hätte sich meine erste Frage erledigt danke luky37. Jetzt ist nur noch die Sache mit den Variablen zuweisungen offen. :(
 
hab ich wohl überlesen.


Code:
a = TextBox1
b = TextBox2
c = TextBox3

c= int(a) + int(b)

TextBox1 = a
TextBox2 = b
TextBox3 = c
 
Ein fehler baut sich noch ein:

c= int(a) + int(b) das ist ja mit Integer also nur ganze Zahlen.
wenn ich jetzt verwende c =sng(a) + sng(b) dann sollte er doch auch Kommazahlen berechnen was er aber leider nicht macht.

EDIT: Habe nun etwas herum probiert und da hab ichs doch glat hergebracht ;).
Habe es nun so gelöst:


Dim a As Single
Dim b As Single
Dim c As Single

a = TextBox1
b = TextBox2

c = a + b

TextBox1 = a
TextBox2 = b
TextBox3 = c

Was ich mir nun die Frage stelle ist wieso muss ich am schluss nochmals hinschreiben TextBox1 = a ...?
dies wurde doch schon darüber angegeben.

Ich habe von einem Freund noch erfahren das man die Namen auch mit irgend so einem Befehl vergeben kann:

TextBox1 value = a

nur geht das nicht was ist da falsch?
 
Zuletzt bearbeitet:
cng() gibt es nicht, dafür CSng():

Code:
a = TextBox1
b = TextBox2

c = CSng(a) + CSng(b)

TextBox3 = c


Die einzelnen Variablen zuerst als Single zu deklarieren ist natürlich die beste Möglichkeit.


am schluss musst du nicht mehr TextBox1 = a hinschreiben, dass hab ich oben nur gemacht, um die Variablenzuweißung zu vereinfachen (erst alles in die Variablen, dann alles wieder in die TextBoxen raus).


Verschiedene Attribute der TextBox werden mit einem Punkt angegeben:


TextBox1.Text = "Der Name der TextBox ist: " & TextBox1.Name


Das Name Attribut ist allerdings read-only.


mfg
 
Wenn ich in die TextBox1 das hier hinein schreibe:

TextBox1.Text = "c " & TextBox1.Name

Dann kommt wenn ich beim ausführen des Programms dort eine Zahl hinein schreiben ein Text hinein der lautet aTextBox1.

Ich will einfach nur das die TextBox1 direkt mit einer Variable beschriftet wird.

Ich will mir nacher ein Rechner für eine schwierigere Rechnung machen dazu muss ich dann mehrere Formeln kombienieren. Da wäre es sehr unpraktisch wenn ich jedesmal Textbox = c hinschreiben muss.

Es tut mir leid dass ich dich vielleicht schon nerve damit aber es ist nun mein aller letztes Anliegen.
 
domi1511 schrieb:
Ich will einfach nur das die TextBox1 direkt mit einer Variable beschriftet wird.

Also ohne Zuweisung? Dann musst du den Name ändern. Dass musst du aber vorher festlegen.
Dazu klickst du aufs Element und stellst rechts in den Eigenschaften den Name ein:

vb_TextBox_name.png


mfg
 
Und anderst kann man den Namen der Box nicht ändern?

Ich würde die Text Box zum Beispiel gerne Wert1 benennen.
Und intern der Box dann die Variable a zuweisen.

Das heist ich sehe dann das es Wert1 ist. Und VB weiß das es das Feld a ist.
 
Zurück
Oben