Ga naar inhoud

[VB6] Label.caption vernieuwen


anoniem

Aanbevolen berichten

Ik heb een progje gemaakt waarbij je een getal in voert en dan rekent ie uit of het een priem is. Nu heb ik een paar aanpassingen gemaakt zodat ie de getal 1 t/m X automatisch langs loopt (Waarbij X een waarde is die ingevoerd is tot hoe hoog de priemgetallen gezocht worden.) Maar nu als het eerste getal is gevonden, dan zet ie dat neer. Maar dan stopt ie Terwijl hij hoort verder te gaan. Het liefst heb ik dat als er een priemgetal is gevonden je op een command-button klikt en dan weer verder gaat met zoeken tot het volgende priem-getal is gevonden en die vervolgens dan weer print in dezelfde label. Ik weet niet hoe het moet (heb VB6 nu net een dagje).
Link naar reactie
[code:1:54dd51abea] Private Sub Command1_Click() X = Text1.Text D = X begin: X = X + 1 D = D + 1 Label1.Caption = X start: D = D - 1 P = X / D If D = 1 Then Label1.Caption = "Het is een priem getal" GoTo [b]begin[/b] End If If P = Int(P) Then Label1.Caption = "het is geen priem getal" GoTo [b]begin[/b] Else GoTo start End If einde: End Sub [/code:1:54dd51abea] Maar nu wil ik dat je bij goto begin op een knop kan drukken waardoor je weer naar het begin gaat, want nu rekent ie in een stuk door zonder de label1.caption te vertonen omdat het te snel gaat, dus daarom wil ik dat het progje even een "pauze" neemt totdat je op een knop drukt om hetvolgende priemgetal te zoeken.
Link naar reactie
Les 0: Zet in VB een vinkje in Require variable declaration. Tools -> Options -> Eerste tabblad. Les 2: Gebruik zinnige variabele-namen. En verder: Even getallen zijn nooit priemgetallen met uitzondering van het getal 2. Het heeft dus geen zin om steeds 1 omhoog te gaan want dan zit je voor de helft onzin uit te rekenen. [edit] Zag [url=http://www.dbrouwer.demon.nl/icweb/Website/antw_priem.htm] hier[/url] een aardig voorbeeldje van een simpel priemprogrammaatje in VB, met uitleg en al. Weliswaar voldoen de variabelenamen nog niet aan de gebruikelijke normen en zijn de data-typen wat krap gekozen, maar als voorbeeld voldoet het wel. [/edit]
Link naar reactie
We hoeven het toch niet helemaal uit te tekenen? Je hebt het nu al bijna op een presenteerblaadje. Is het trouwens niet geiniger om al die gevonden priemgetallen in een multiline textbox of in een listbox te zetten? Dan zie je de vorige ook nog en hoef je niet te pauzeren. Om een listbox (moet je eerst op je form zetten natuurlijk) te vullen gebruik je simpelweg iets als: listbox1.additem X En dat dan in plaats van die label1.caption = etc. Om een regel aan een multiline textbox toe te voegen doe je iets als tex1 = text1 & vbcrlf & cstr(X) Ook in plaats van die label1.caption
Link naar reactie
[quote:c8ad1fa3fa="pkouwer"]zelf iets proberen is ook leuk ipv anderen code te laten schrijven[/quote:c8ad1fa3fa] Ik weet nog wel meer leuke dingen. Als ik iets niet snap en jullie om uitleg vraag schrijf ik zelf de code echt nog wel hoor. Dit stukje voorbeeld code is een onderdeel van een veel groter progje. Maar remember dit is omdat ik VB pas 4 dagen heb gehad en er zo'n 2 uur achter heb gezeten, dus snap de pricipe's nog niet helemaal.
Link naar reactie
Wat betreft het "niet wachten", de hedendaagse processoren rekenen zo snel dat het volgende getal al uitgerekend is voordat het eerdere getal aan de gebruiker getoond kan worden. Om Visual Basic te dwingen eerst het scherm te up-daten en dan door te rekenen, kun je de volgende code gebruiken: [code:1:1a5134267f] Label1.Caption = Getal DoEvents 'dit commando 'yield' de processor totdat het de vorige instructie uitgevoerd heeft [/code:1:1a5134267f] Overigens blijft de oplossing van Laurens natuurlijk mooier.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...