While - Wend

Slingan For – Next används när man vet mellan vilka värden en variabel skall gå. Om man inte vet det, kan man använda sig av While, som betyder att så länge ett villkor är uppfyllt eller inte uppfyllt skall programslingan upprepas. För att visa detta kan vi använda oss av en slumptalsgenerator. Skapa en form enligt bilden.

Meningen är att programmet skall generera två slumptal. Dessa tal adderas och om summan är större än 50 så ökar en räknare med ett, varpå två nya slumptal genereras. Detta upprepas tills summan är <=50. Då skall de båda talen visas i Textboxarna, och i Label1.Caption får man ett meddelande om hur många gånger slumpningar som behövdes innan summan blev <=50.

Dimensionera variabler

Först dimensionerar vi ett antal variabler som heltal, d.v.s. Integer, under General. Om vi skriver Option Explicit överst i programfönstret kontrollerar programmet variablernas namn, så att man får felmeddelande om man skriver någon bokstav fel i programmet jämfört med vad man har döpt variabeln till.

Option Explicit
Dim tal1, tal2, summa As Integer, antal As Integer

Observera att man kan dimensionera flera variabler i samma Dim-rad.

Om vi dubbelklickar på den första Commandknappen, som vi tilldelat "Nytt tal" i Caption, kan vi skriva följande text:

Private Sub Command1_Click()
antal = 0
summa = 100
While summa >50
  Randomize
  tal1 = Int(Rnd * 100) + 1
  tal2 = Int(Rnd * 100) + 1
  summa = tal1 + tal2
  antal = antal + 1
Wend
txttal1.Text = tal1
txttal2.Text = tal2
Label1.Caption = "Antal kast innan summa är <50 är " & antal & " stycken"
End Sub

När vi trycker på knappen händer följande

Variabeln "antal" nollställs

Summan skall från början ha ett värde över 50 annars uppfylls ju inte villkoret och slingan påbörjas aldrig.

Man säger åt datorn att så länge variabeln summa är >50 så skall slingan efter While utföras fram till Wend.

Man kallar på en i VB fördefinierad funktion, kallad Randomize, som generar slumptal.

Man tilldelar tal1 och tal2 ett heltal mellan 1 och 100. Rnd är själva slumptalet mellan 0 och 1. Detta multipliceras med det tal som man vill ha som största slumptal. Int() betyder att man tar heltalsdelen av talet Rnd*100. Detta ger ett slumptal mellan 0 och 99. Om man vill ha talet mellan 1 och 100 adderar man talet med 1.

Så tilldelas variabeln "summa" tal1 + tal2 och variabeln "antal" ökas med ett.

Om summan är >50 upprepas slingan, annars hoppar programmet ur slingan. Där tilldelas Textboxarna txttal1.Text värdet i tal1 och txttal2.Text värdet i tal2.

Label1.Caption tilldelas en text som ska stå mellan " ". &-tecknet betyder att efter texten skall värdet på variabeln "antal" stå. Nästa & säger att efter värdet skall det stå "stycken".

På den andra knappen skriver vi Avsluta (i Caption) och i programtexten skriver vi:

Private Sub Command2_Click()
End
End Sub

© SupportData.Net