[VB.NET] Warning met 'Option Strict On'

Pagina: 1
Acties:

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Hoi ik probeer een simpele rekenmachine te maken met Option Strict On nu heb ik dit voor de min knop staan
Visual Basic:
1
2
3
4
5
6
7
8
9
10
Private Sub btnMin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMin.Click
        Dim Getal1, Getal2 As Integer

        Getal1 = CInt(txtGetal1.Text)
        Getal2 = CInt(txtGetal2.Text)

        lblUitkomstVak.Text = Getal1 - Getal2
        lblBewerkingVak.Text = "Min"

    End Sub


Nu onderstreept ie Getal1 - Getal2. Ik weet maar niet hoe ik het goed krijg. Wie weet hier de oplossing?

Wat je wil is niet altijd wat je nodig hebt!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:16

gorgi_19

Kruimeltjes zijn weer op :9

Het enige wat ik zou kunnen bedenken:
Getal1 = integer
Getal2 = integer
Getal1 - Getal2 = integer
lblUitkomstvak.Text = String

Je moet dus expliciet casten van integer naar string?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:37
Getal1 en getal2 zijn integers. Die integers wil je toekennen aan een string. Aangezien option strict aanstaat, gaat dat zomaar niet. Door die strict heb je nl. een strong typing 'aangezet'. Je zult dus de uitkomst van getal1 - getal2 moeten casten naar een string vooraleer je het toekent aan lblUitkomst.text

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Ik heb lblUitkomst.Text omgezet naar Integer en de code is nu
Visual Basic:
1
2
3
4
5
6
7
8
9
10
Private Sub btnMin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMin.Click

        Getal1 = CInt(txtGetal1.Text)
        Getal2 = CInt(txtGetal2.Text)
        Uitkomst = CInt(lblUitkomstVak.Text)

        Uitkomst = Getal1 - Getal2
        lblBewerkingVak.Text = "Min"

    End Sub

De strepen zijn weg maar mijn rekenmachine werkt nog steeds niet.

Wat je wil is niet altijd wat je nodig hebt!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:16

gorgi_19

Kruimeltjes zijn weer op :9

Waar vul je uberhaupt dat lblUitkomstVak?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:37
Huh?
Wat doe jij nu? Je zet hetgeen er in lblUitkomstvak.Text staat in een integer variable, en dan ge je de uitkomst in die variable zetten. Je moet de variable uitkomst niet zien als een pointer naar lblUitkomstVak.Text hoor... :P

Ik (en gorgi_19) hadden gezegd de uitkomst casten naar een string en dat in die label zetten:
code:
1
lblLabel.Text = CString(getal1 - getal2)

kunnen foutjes in zitten, heb nog nooit vb.net gedaan

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Hij doet het! Thanx!

Wat je wil is niet altijd wat je nodig hebt!


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Dim Getal1, Getal2 As Integer
Om maar even te zeiken: dat gaat ook niet volledig goed. Net als in de 'oude' versies van VB is het volgens mij ook met VB.Net zo dat, als je op deze manier dimt, getal1 gezien wordt als Variant, omdat je er geen "as Type" achter zet. In Delphi is
code:
1
var x, y: integer;
gelijk aan
code:
1
2
var x: integer;
    y: integer;
In VB is
code:
1
Dim x, y as Integer
echter gelijk aan
code:
1
2
Dim x as Variant
Dim y as Integer
Misschien nuttig om voor de toekomst te weten en in de gaten te houden?

[ Voor 3% gewijzigd door OZ-Gump op 21-02-2003 11:43 . Reden: TYPEN! ]

My personal website


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
En hoe kan ik een focus zetten op een button. (default button).
Dus als ik de form opstart dat de 2de knop de default button is?

Wat je wil is niet altijd wat je nodig hebt!


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

mpie, heb je al eens in de help gekeken? Dit is namelijk een redelijk basale vraag. Ook is het makkelijk om, als je een nieuw probleem hebt, een nieuw topic aan te maken met een nieuwe probleemomschrijving en overzichtje van wat je al geprobeerd hebt. We willen best helpen, maar we zijn hier niet om ff snel een antwoord te geven op elke (simpele) vraag die je hebt.

Verder kun je je voorstellen dat degenen die je hier geholpen hebben aannemen dat het probleem opgelost is, en anderen komen naar dit topic omwille van de topictitle. En dat terwijl het nu heel ergens anders over gaat...

[ontopic]kijk eens naar de default-property[/ontopic]

My personal website


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Ok zal ik onthouden thanx!

Wat je wil is niet altijd wat je nodig hebt!


  • tijn
  • Registratie: Februari 2000
  • Laatst online: 31-07 00:06
OZ-Gump schreef op 21 February 2003 @ 11:41:
[...]
Om maar even te zeiken: dat gaat ook niet volledig goed. Net als in de 'oude' versies van VB is het volgens mij ook met VB.Net zo dat, als je op deze manier dimt, getal1 gezien wordt als Variant, omdat je er geen "as Type" achter zet.
In VB.Net bestaat Variant niet meer.

Cuyahoga .NET website framework


Verwijderd

Net als in de 'oude' versies van VB is het volgens mij ook met VB.Net zo dat, als je op deze manier dimt, getal1 gezien wordt als Variant, omdat je er geen "as Type" achter zet.
Dit is dus in VB .NET niet meer het geval.
Pagina: 1