TextBox

Programkod Tabbordning

I föregående lektion fyllde vi etikettrutor - labels - med text som ändrades genom en programkod. Om vi vill att användaren själv skall kunna mata in text eller tal kan vi använda objektet TextBox.

I följande exempel skall vi använda textboxar för att mata in två tal. Dessa skall adderas och svaret skall visas i en tredje textbox.

Skapa en form enligt bilden, med tre TextBoxar, fem Labels och en Button.

Nu skall vi skriva koden som kommer att utföra beräkningen när vi klickar på knappen. Dubbelklicka på knappen så får du upp kodfönstret med första och sista programraden. 

Talet i TextBox1:s egenskap text skall adderas med talet i TextBox2:s egenskap text, och svaret skall hamna i TextBox3:s egenskap text. Detta motsvarar i programtexten TextBox1.Text, TextBox2.Text respektive TextBox3.Text.

Om textboxarna hade ingått i ett större program, skulle de naturligtvis ha haft andra namn än TextBox1, 2 och 3, men här skall jag bara förklara principerna så jag behåller standardnamnen.

Dubbelklicka på knappen och skriv:

TextBox3.text = TextBox1.text + TextBox2.text

Datorn kan inte räkna!

Kör programmet. Va? Stämmer inte summan? Kan datorn inte addera? Pröva att skriva * eller - eller / i stället för +. Nu blir det rätt, men datorn kan alltså inte addera. Vad är det som händer?

Jo, när man skriver + tror datorn att den ska skriva det eller de tecken som står i textboxarna och lägga dem efter varandra. Datorn räknar alltså inte talen som deras värde om det står +, men det gör den för de andra räknesätten. För att kunna addera måste vi skriva:

TextBox3.text = Val(TextBox1.text) + Val(TextBox2.text)

Val står för Value.

Svenska decimalkommat

Använd punkt i stället för decimalkomma. Om du skriver ett kommatecken, räknar datorn bara med heltalen. Vi kan få heltalsdelen av en beräkning på ett annat sätt om vi skriver:

TextBox3.text = Int(Val(TextBox1.text) + Val(TextBox2.text))

Int är förkortning av datatypen Integer som betyder heltal. Mer om datatyper längre fram.

Om vi vill ha restvärdet i en division skriver vi:

TextBox3.text = TextBox1.text Mod TextBox2.text

Om vi till exempel dividerar 13 med 4 så får vi 1 som rest.
13 Mod 4 = 1
Detta är bra att kunna om man till exempel vill att programmet skall göra något enbart när ett tal är jämnt delbart med ett annat tal. Då blir tal1 Mod tal2 = 0.

Pröva själv!

Programkod Tabbordning

© SupportData.Net