Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[VB6] Label.caption vernieuwen

RubeL
14 antwoorden
  • 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).
  • [code:1:f9f50772f1]label1.caption="tekst" [/code:1:f9f50772f1]
    of
    [code:1:f9f50772f1]label1.caption=variabele[/code:1:f9f50772f1]
  • Dat wist ik wel, maar label1.caption moet veranderen als er weer een priem getal is gevonden. En dat wou ik doen door op een knop te klikken, maar ik weet niet hoe ik dat moet doen.
  • Dan moet je de code die je nu hebt bij form_load bij command1_click zetten. Als dat tenminste de naam is van die knop.

    Bij (general) (declerations) moet je dan een variabele declareren die bijhoud bij welk getal hij gebleven is als hij er 1 gevonden heeft. Laat anders de code is zien die je al heb.

    Groeten, Wouter
  • Ik zal straks de bron code er op zetten, ik was het gister al van plan maar de VB crashte.

    [quote:2d6bbef1de]form_load bij command1_click [/quote:2d6bbef1de]
    Waar moet je die dan neerzetten. Bij de command button of de label?
  • in je IDE (VB), design mode, dubbelklikken op de knop command1 and see what happens…
  • [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.
  • les 1 in VB: stap af van het goto-principe. Dit maakt je programma onoverzichtelijk en traag. No more goto's OK ?

    maak gebruik van de do-while loop. Zet een flag true/false en gebruik deze als statement voor je do-while-loop
  • 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 hier 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]
  • Allemaal wel handig die lessen, maar ik heb nog steeds geen oplossing.
  • 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
  • Thnx, dat is iets waar ik wat mee kan!!
  • zelf iets proberen is ook leuk ipv anderen code te laten schrijven
  • [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.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.