Archief - vb.net noob probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Flatline

Legacy Member
hallo, voor school moeten we opdracht maken maar er is één ding dat niet lukt. bij de uitvoer moet zowel de naam als het bedrag in een messagebox komen maar ik heb geen flauw idee hoe ik de naam en het bedrag moet weergeven van de naam die ik ingeef. ik weet dat het probleem ligt bij het gedeelte dat rood is aangeduid

dit is mijn code tot nu toe:
Public Class frmWeddes
Dim strNamen(4) As String
Dim intWedde(4) As Integer
Private Sub btnMaandWeddeInvoer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMaandWeddeInvoer.Click
Dim intTeller As Integer
For intTeller = 0 To 4
strNamen(intTeller) = InputBox("Geef de naam in")
intWedde(intTeller) = InputBox("Geef het maandwedde in")
Next
End Sub

Private Sub btnMaandWeddeUitvoer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMaandWeddeUitvoer.Click
InputBox("Van wie wil je de maandwedde kennen:")
MessageBox.Show("Maandwedde " & strNamen(4) & ": " & intWedde(4))
End Sub

Fraggie

Legacy Member
Flatline zei:
mag een slotje op kheb het gevonden
Zelfde opmerking als in de andere thread, maak uw thread compleet door het antwoord ook te posten a.u.b.

Flatline

Legacy Member
Public Class frmWeddes
Dim strNamen(4) As String
Dim strWedde(4) As String
Private Sub btnMaandWeddeInvoer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMaandWeddeInvoer.Click
Dim intTeller As Integer
For intTeller = 0 To 4
strNamen(intTeller) = InputBox("Geef de naam in")
strWedde(intTeller) = InputBox("Geef het maandwedde in")
Next
End Sub

Private Sub btnMaandWeddeUitvoer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMaandWeddeUitvoer.Click
Dim strVraag As String
strVraag = InputBox("Van wie wil je de maandwedde kennen:")
If strNamen(4) = strVraag Then
MessageBox.Show("Maandwedde " & strNamen(4) & ": " & strWedde(4))
ElseIf strNamen(3) = strVraag Then
MessageBox.Show("Maandwedde " & strNamen(3) & ": " & strWedde(3))
ElseIf strNamen(2) = strVraag Then
MessageBox.Show("Maandwedde " & strNamen(2) & ": " & strWedde(2))
ElseIf strNamen(1) = strVraag Then
MessageBox.Show("Maandwedde " & strNamen(1) & ": " & strWedde(1))
Else
MessageBox.Show("Deze naam is niet aanwezig in de matrix")
End If
End Sub
End Class

met dit werkt het, heb wel nog 1 vraagje. is er een mogelijkheid om maar 1 if te gebruiken ipv 4?

Pudmeister

Legacy Member
Uiteraard, in Java heb je zoiets als de switch/case structuur. Daarmee kan je dat perfect oplossen. Je zal dan even moet googelen naar de juiste syntax voor in Visual Basic. Zo ziet het eruit in Java:

Code:
switch (a){//a is de variabele die gecontroleerd moet worden
	case (1): System.out.println("U gaf het getal 1 in");
	break;
	case (2): System.out.println("U gaf het getal 2 in");
	break;
	case (3): System.out.println("U gaf het getal 3 in");
	break;
	case (4): System.out.println("U gaf het getal 4 in");
	break;
	case (5): System.out.println("U gaf het getal 5 in");
	break;
	default: System.out.println("Het getal dat u opgaf lag niet van 1 tot en met 5");
	}

Vòòr deze code liet ik de gebruiker een integergetal invoeren. Dus de switch structuur voorziet niet de invoer zelf, hij controleert enkel een variabele op verschillende mogelijke waarden. In dit geval is die variabele a.

Edit: 'k heb het even voor je opgezocht, kijk hier.

Dit is de syntax:

Code:
Public Function Switch( _
    ByVal ParamArray VarExpr() As Object _
) As Object

Een voorbeeld:

Code:
Function matchLanguage(ByVal cityName As String) As String
    Return CStr(Microsoft.VisualBasic.Switch( _
        cityName = "London", "English", _
        cityName = "Rome", "Italian", _
        cityName = "Paris", "French"))
End Function

Ik vind Java veel logischer en plezanter om mee te werken, maar als ge voor school Visual Basic moet gebruiken hebt ge natuurlijk niet veel te kiezen...

Flatline

Legacy Member
Pudmeister zei:
Uiteraard, in Java heb je zoiets als de switch/case structuur. Daarmee kan je dat perfect oplossen. Je zal dan even moet googelen naar de juiste syntax voor in Visual Basic. Zo ziet het eruit in Java:

Code:
switch (a){//a is de variabele die gecontroleerd moet worden
	case (1): System.out.println("U gaf het getal 1 in");
	break;
	case (2): System.out.println("U gaf het getal 2 in");
	break;
	case (3): System.out.println("U gaf het getal 3 in");
	break;
	case (4): System.out.println("U gaf het getal 4 in");
	break;
	case (5): System.out.println("U gaf het getal 5 in");
	break;
	default: System.out.println("Het getal dat u opgaf lag niet van 1 tot en met 5");
	}

Vòòr deze code liet ik de gebruiker een integergetal invoeren. Dus de switch structuur voorziet niet de invoer zelf, hij controleert enkel een variabele op verschillende mogelijke waarden. In dit geval is die variabele a.

Edit: 'k heb het even voor je opgezocht, kijk hier.

Dit is de syntax:

Code:
Public Function Switch( _
    ByVal ParamArray VarExpr() As Object _
) As Object

Een voorbeeld:

Code:
Function matchLanguage(ByVal cityName As String) As String
    Return CStr(Microsoft.VisualBasic.Switch( _
        cityName = "London", "English", _
        cityName = "Rome", "Italian", _
        cityName = "Paris", "French"))
End Function

Ik vind Java veel logischer en plezanter om mee te werken, maar als ge voor school Visual Basic moet gebruiken hebt ge natuurlijk niet veel te kiezen...

bedankt voor de hulp maar ik snap niet echt wat ik moet veranderen

*Fmc*

Legacy Member
De switch-code van VB is ongeveer gelijk aan die van Java hoor. Hier een voorbeeldje.

The following example uses a Select Case construction to write a line corresponding to the value of the variable number. The second Case statement contains the value that matches the current value of number, so the statement that writes "Between 6 and 8, inclusive" runs.

Code:
Dim number As Integer = 8
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
        ' The following is the only Case clause that evaluates to True.
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case 9 To 10
        Debug.WriteLine("Equal to 9 or 10")
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select

Select...Case Statement (Visual Basic)

Code:
Select Case a//a is de variabele die gecontroleerd moet worden
	Case 1
                MessageBox.Show("U gaf het getal 1 in");
	Case 2
                MessageBox.Show("U gaf het getal 2 in");
	Case 3
                MessageBox.Show("U gaf het getal 3 in");
	Case 4
                MessageBox.Show("U gaf het getal 4 in");
	Case 5
                MessageBox.Show("U gaf het getal 5 in");
	Case Else
                MessageBox.Show("Het getal dat u opgaf lag niet van 1 tot en met 5");
	}

Pudmeister

Legacy Member
Inderdaad dat is een veel duidelijker voorbeeld. Ik had mijn voorbeeld verkeerd gekozen, de switch function van Visual Basic werd bekeken ipv hetgeen wat je eigenlijk zocht. Jij had een statement nodig ;) 2 verschillende begrippen die zeker niet verward mogen worden.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan