Jump to content
Geplaatst:
comment_1450072

VBtut.png

Vooraf:

In deze tutorial ga ik de "basis" uitleggen.

Deze tutorial is voor Visual Basic 2008.

Benodigdheden:

- Visual Basic: Klik om te downloaden

----------------------------------------

Wat is visual basic:

Visual basic is een programmeertaal waarmee je applicaties (programma's) kan maken.

We beginnen:

We gaan een heel simpel programmaatje maken die de tekst van een label verandert.

1. Start Visual Basic en klik linksboven op: File > New project

2. Selecteer: "Windows Form Application" en vul onderaan een naam in.

Je zal nu een "form" (venster) zien.

3. Aan de linkerkant van het scherm staat een venster genaamd: "Toolbox"

Staat die er niet ga dan naar: View > toolbox.

Zoek in de lijst naar: "Label", Klik erop en sleep het naar je form.

4. Doe hetzelfde voor een "button"

5. Klik 1 keer op de button. Rechts(onder) zie je een venster met: "Properties"

Staat dat er niet ga dan naar: View > properties window

Zoek in de lijst naar: "text".

Verander de tekst naar: "Deze tekst veranderd"

6. Doe hetzelfde voor de button en verander de tekst van de button in: "Klik hier"

Nu hebben we de "basis" klaar. Nu gaan we scripten :) .

7. Nu dubbel klik je op de button.

Je zult nu de volgende code zien:

Public Class Form1

			Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

			End Sub
		End Class



Dit is de standaard code voor als je op een button klikt.

We willen dat de tekst van de label veranderd word. Dus je zet tussen de "Private sub" en "End Sub" het volgende neer:

Label1.Text = "Hallo wereld!"

dus je krijgt:

Public Class Form1

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
	  Label1.Text = "Hallo wereld!"
  End Sub
 End Class



Uitleg:

Label1 is de naam van het label. Text is de tekst van het label.

Je kan de tekst ook zelf aanpassen naar wat je wilt.

Let op! De tekst moet altijd tussen aanhalingstekens staan.

8. We willen nu het programma uitvoeren, dat doe je door op:

Het groene "Play" tekentje te drukken: plays.png, of door op F5 te drukken.

Mijn voorbeeld:

voorbeeld2y.png

Dat was een voorbeeld van een basis programma.

Opslaan als .EXE

1. Ga naar je projectnaam (rechtboven in het venster "solution Explorer") > Rechtermuisknop > properties.

2. Ga naar het tabblad: "Publish" (onderaan) en klik op "Options..."

3. Klik links in de lijst op: "Deployment".

4. En vink alles uit, en druk op OK

5. Klik nu onderaan op: "Publish Wizard..."

6. Druk op "Browse.." om een map te selecteren waar je het wilt opslaan.(Klik bovenaan op "File system") om de mappen te zien.

7. Druk op "Finish", wacht even totdat je Exe opgebouwd is en je programma is klaar.

Variabelen:

Variabelen zijn een code waarin je data kan opslaan zodat je die later weer kan gebruiken.

Hier een klein voorbeeld om tekst op te slaan:

Dim voorbeeldtekst as string = "Dit is een voorbeeld tekst"



Uitleg:

Dim is een standaard functie om een variabele te declareren, die je later weer wilt gebruiken om te lezen/schrijven.

Voorbeeldtekst is de naam die we geven aan de variabelen.

As is als

String is het type variabele, in een String word tekst opgeslagen.

Een variabele kan heel makkelijk gebruikt worden. Voorbeeld:

Dim voorbeeldtekst as string = "Dit is een voorbeeld tekst"
		Label1.Text = voorbeeldtekst



Zo zie je dat je de tekst van, in dit geval een label kan veranderd woorden in een eerder opgeslagen variabele.

Type variabelen:

variabele Functie Afkorting
Boolean De waarde kan zijn: True of False bln
Byte Kan getallen van 0 tot 255 hebben byt
Char Bevat een letter chr
Date bevat een datum dte
Decimal Kan een getal met maximaal 28 cijfers na de komma bevatten dec
Double Kan getallen van 4,94065 tot -324 tot en met 1,797....... tot de 308e bevatten dbl
Integer Kan alleen gehele getallen bevatten int
Long Kan alleen gehele getallen bevatten lng
Object Kan elk type zijn obj
Short Kan alleen gehele getallen bevatten sht
String Bevat tekst str

Dit is het.

Om alles hier neer te zetten is veel te veel werk.

Dus als je wilt weten hoe een bepaald iets werkt, post het dan, dan zal ik het uitleggen hoe het werkt.

Ga niet posten:

Hoe werkt alles :?
Maar post bijvoorbeeld:
Hoe werkt de "with" functie?
of bijvoorbeeld:
Hoe kan ik een tekstbestand uitlezen?

BC7 :cya:

Bewerkt: door BC7

  • Reacties 87
  • Bezichtigingen 22.4k
  • Created
  • Laatste reactie

Top Posters In This Topic

Featured Replies

Geplaatst:
comment_1534591

Hoe kan ik, als ik bijvoorbeeld een webbrowser heb en die maximaliseer dat alles uitvergroot en dus zegmaar de browser breder word, het URL-Vak breder word en de hele layout zich aanpast naar de grootte van het venster?

Hoe kan ik iets zo maken dat als je met je muis in een bepaald gebied komt er bv. een menu bar verschijnt? Zoals met WMP in full-screen maar dan als je in dat stuk komt.

Geplaatst:
comment_1534657

Een beetje domme vraag ;l

Hoe zorg je dat als je op een button klikt in je programma dat die dan naar een website gaat?

Ik ben namelijk voor je eerste keer aan het scripten en vanmiddag ga ik mijn programma al online zetten :D

Hij is bijna klaar!!!

Goedzo, even iets zeggen: Als je een webbrowser maakt, release 'm dan maar niet. Niemand zou hem gebruiken en er zijn betere VB/C#/C++ webbrowsers gemaakt.

Voor de rest heb ik 't gevoel dat je copy/past doet, en dat noem ik geen scripten. Begrijp je wel wat je typed/plakt?

Hoe zorg je dat als je op een button klikt in je programma dat die dan naar een website gaat?

Private Sub button1_Click() 
webbrowser1.url = "http://www.gtaforum.nl"
End Sub

Dit dacht ik dat het is in Visual Basic. Je kan ook gewoon dubbelklik op de button doen en dan toevoegen:

webbrowser1.url = "http://www.gtaforum.nl"

Dankjewel, nu is mijn probleem opgelost :)

Ik zal hem niet relaese maar ik maak wel een ander programmma :)

  • 5 weken later...
Geplaatst:
comment_1551199

Hallo, ik heb een vraagje (sorry als hij al ergens in het topic staat, had niet zoveel zin om het allemaal door te lezen :puh: ).

Maar ik maak een soort programma waarmee je met je computer kunt spreken door een vraag in een Textbox te typen en als die vraag bestaat je op een button kunt klikken. Dit lukt nog wel...

1) ...maar hoe kan je een tekst maken die niet hoofdlettergevoelig is? (Dus of het niet uitmaakt of je bijvoorbeeld De Appel of de appel schrijft).

2) Hoe voorkom je dat je in een Textbox kunt enteren?

3) En nog een vraagje :puh:: Hoe kan je zorgen dat het programma herkent als je een bepaald woord erin typt.

Bijvoorbeeld, ik stel in dat hij iets moet doen als er in een tekst "vanavond" en "doen" staat

Hoe kan ik er dan voor zorgen dat wanneer iemand "Wat ga jij vanavond doen" typt (bijvoorbeeld), het programma weet dat dat een juiste vraag is en die button dan zichtbaar maakt (dat laatste weet ik wel, maar ik weet niet hoe hij woorden kan herkennen of zo :puh:).

4) Ik wil ook een aantal 'standaardvragen' toevoegen, als je op een knop drukt dan komt er een nieuwe form te voorschijn en kan de persoon daar een vraaguitkiezen (tot hier toe lukt het), maar hoe zorg ik er dan voor dat de geselecteerde vraag uit Form 2, in de textbox in Form1 verschijnt?

5) Final Question: Hoe kan ik zorgen dat het programma (als dat mogelijk is) een bepaalde benaming gebruikt zoals het getypt is? Dus bijvoorbeeld als iemand vraagt "hoe heet je" en hij vraagt dan hoe jij heet en je typt dat dan in en je drukt terug op vraag, dat hij dan bijvoorbeeld zegt: Wat heb jij een mooie naam, *hier-de-ingetypte-naam*.

6) Hoe kan ik ervoor zorgen dat hij bij sommige vragen random antwoorden geeft (dus bijvoorbeeld de ene moment zegt hij 'Ja' en dan de andere keer 'Nee', maar dan willekeurig :puh:).

Alvast bedankt, hopelijk zijn het niet te moeilijke (of te veel) vragen :puh: .

Geplaatst:
comment_1551217

Hoe kan ik, als ik bijvoorbeeld een webbrowser heb en die maximaliseer dat alles uitvergroot en dus zegmaar de browser breder word, het URL-Vak breder word en de hele layout zich aanpast naar de grootte van het venster?

Dan moet je met de Anchor instelling van je je controls prutsen. Daarmee geef je aan, aan welke kanten van het scherm de controls moeten worden vastgehecht.

Hallo, ik heb een vraagje (sorry als hij al ergens in het topic staat, had niet zoveel zin om het allemaal door te lezen :puh: ).

Maar ik maak een soort programma waarmee je met je computer kunt spreken door een vraag in een Textbox te typen en als die vraag bestaat je op een button kunt klikken. Dit lukt nog wel...

1) ...maar hoe kan je een tekst maken die niet hoofdlettergevoelig is? (Dus of het niet uitmaakt of je bijvoorbeeld De Appel of de appel schrijft).

2) Hoe voorkom je dat je in een Textbox kunt enteren?

3) En nog een vraagje :puh:: Hoe kan je zorgen dat het programma herkent als je een bepaald woord erin typt.

Bijvoorbeeld, ik stel in dat hij iets moet doen als er in een tekst "vanavond" en "doen" staat

Hoe kan ik er dan voor zorgen dat wanneer iemand "Wat ga jij vanavond doen" typt (bijvoorbeeld), het programma weet dat dat een juiste vraag is en die button dan zichtbaar maakt (dat laatste weet ik wel, maar ik weet niet hoe hij woorden kan herkennen of zo :puh:).

4) Ik wil ook een aantal 'standaardvragen' toevoegen, als je op een knop drukt dan komt er een nieuwe form te voorschijn en kan de persoon daar een vraaguitkiezen (tot hier toe lukt het), maar hoe zorg ik er dan voor dat de geselecteerde vraag uit Form 2, in de textbox in Form1 verschijnt?

5) Final Question: Hoe kan ik zorgen dat het programma (als dat mogelijk is) een bepaalde benaming gebruikt zoals het getypt is? Dus bijvoorbeeld als iemand vraagt "hoe heet je" en hij vraagt dan hoe jij heet en je typt dat dan in en je drukt terug op vraag, dat hij dan bijvoorbeeld zegt: Wat heb jij een mooie naam, *hier-de-ingetypte-naam*.

6) Hoe kan ik ervoor zorgen dat hij bij sommige vragen random antwoorden geeft (dus bijvoorbeeld de ene moment zegt hij 'Ja' en dan de andere keer 'Nee', maar dan willekeurig :puh:).

Alvast bedankt, hopelijk zijn het niet te moeilijke (of te veel) vragen :puh: .

1) Aan beide kanten van je controle alles hoofdletters of kleine letters maken. Zoals (kleine):

If LCase(Wachtwoord.Text) = LCase(Controle.Text) Then ... 

2) Zet de eigenschap "Enabled" óf "Locked" op True. Bij Enabled kun je niets meer, bij Locked kun je nog wel tekst selecteren.

3) Zet een Timer op je form die om de zoveel tijd (interval) de tekst controleert. Bijvoorbeeld om de halve seconde (Interval: 500).

Private Sub Timer1_Tick()
If Invullen.Text = "Ik kan niet klikken!" Then Command1.Enabled = True
End Sub

Je kunt ook de Change functie van een TextBox gebruiken:

Private Sub Invullen_Change()
If Invullen.Text = "Ik kan niet klikken!" Then Command1.Enabled = True
End Sub

4) Geef de naam van de form en dan de control en dan de eigenschap:

Form1.Invullen.Text = Form2.Lijst.Selected

5) Je kunt de naam bijvoorbeeld laten opslaan in een onzichtbare textbox op je form of in een variabele.

MsgBox "Wat heb jij een mooie naam, " & Naam.Text & "!"

6) Dit kun je met een array doen. Met deze code hoef je alleen de array verder op te vullen met antwoorden, de code past zichzelf aan.

Dim Antwoorden() As Variant, Antwoord As String
Antwoorden() = Array("Ja", "Nee")
Randomize
Antwoord = Antwoorden(Rnd * (UBound(Antwoorden) - LBound(Antwoorden)) + LBound(Antwoorden))
MsgBox Antwoord

Hopelijk is het zo duidelijk genoeg. :engel:

Mvg,

Flitskikker

  • 4 weken later...
Geplaatst:
comment_1569630

waarom doet dit het niet

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

       If Process.GetProcessesByName("taskmgr.exe").Length = 0 Then

       Else
           Dim proces As Process() = Process.GetProcessesByName("taskmgr.exe")
           For Each p As Process In proces
               p.Kill()
           Next
       End If
   End Sub

  • 2 weken later...
Geplaatst:
comment_1576674

heb een web browser met een vriend gemaakt, alleen een paar dingetjes:

1. ik heb dit in een form gezet

maar dr gebeurt niks als ik er op klik

   Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem6.Click
       Me.Opacity = 25
   End Sub

2. ik heb een nieuw venster knop gemaakt, maar wat moet ik er onder plakken om er voor te zorgen dat hij een nieuw venster opent(zonder 6 form's te maken)

3. ik heb een home button gemaakt met de code

webbrowser1.gohome ()

als ik het goed heb(ff uit me hoofd getypt)

nu heb ik de homepage in google veranderd maar nu gaat hij naar de homepage van mijn internet explorer als ik dr op klik

4. kan iemand mij in zeggen hoe je een text box maakt en daarin kan zeggen wat je als home page will hebben en dat hij dat dan ook in die website veranderd???? zoals in normale web browsers

thnx he

Geplaatst:
comment_1576849

heb een web browser met een vriend gemaakt, alleen een paar dingetjes:

1. ik heb dit in een form gezet

maar dr gebeurt niks als ik er op klik

   Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem6.Click
       Me.Opacity = 25
   End Sub

2. ik heb een nieuw venster knop gemaakt, maar wat moet ik er onder plakken om er voor te zorgen dat hij een nieuw venster opent(zonder 6 form's te maken)

3. ik heb een home button gemaakt met de code

webbrowser1.gohome ()

als ik het goed heb(ff uit me hoofd getypt)

nu heb ik de homepage in google veranderd maar nu gaat hij naar de homepage van mijn internet explorer als ik dr op klik

4. kan iemand mij in zeggen hoe je een text box maakt en daarin kan zeggen wat je als home page will hebben en dat hij dat dan ook in die website veranderd???? zoals in normale web browsers

thnx he

1. Ik zal even snel reageren, Me.Opacity = 25 is opzig een goede code, probeer deze is in een button te plakken, wedden dat ie werkt, ik heb niet zo veel ervaring met menuitems, wat voor menu is het eigenlijk, check ook even of het menitem bestaat. Visual Basic geeft geen error als je een code schrijft voor iets wat niet in het form staat.

PS: Waarom wil je je programma doorschijnend maken, geloof me het is echt ontzettend irritant.

2. Volgensmij kan je niet twee dezelfde forms tegelijk open laten staan, je kan ook werken met Tabs, maar dat weer ik niet uit mijn hoofd, hier een youtube tutorial.

http://www.youtube.com/watch?v=s1tiAGzFiC8&translated=1

De code om een form te openen is: Formnaam.show

3. Sorry hier kan ik je niet mee helpen.

4. Ja, dat is heel gemakkelijkelijk.

Voeg een textbox toe en een button, klik tweemaal op de button en voeg deze code toe: webbrowser1.URL = Textbox1.text als je nu op de button klikt ga je er naar toe, geef deze button de naam: Ga naar dan, voeg een timer toe en plaats een opslaan code erin, maar wel diegene zodat je geen dialog krijgt~! deze code moet de ctextbox opslaan, Voeg nu bij Form1_load een open code in zodat je geen dialog krijgt weer voor de textbox!

Voeg nog een timer toe en voeg deze code toe:

Webbrowser1.URL = Textbox1.text

Timer2.stop

Dit is een beetje de moeilijke makkelijke versie van die code, zo doe ik het, werkt goed!

Nu moet alles goed zijn~!

Bewerkt: door Gta-kneusje

Geplaatst:
comment_1576878

1. euhm hij zit eigenlijk onder een button, onder de button van het main menu.

2. -

3. -

4.euhm nou heb ik nu in form 1(de web browser) een main menu en daar staat een "optie knop" in en die verwijst naar form 2.

daar wil ik dus het optie scherm openen en dat lukt ook, maar als ik de code invoer onder de button in form 2 dan zegt hij van webbrowser1 is not declared omdat die web browser niet in form 2 zit maar in form 1, maar het moet wel verwijsen naar form 1

dus hoe doe ik dit???

Bewerkt: door Thundercover
Lange quote verwijderd. ~~ Thundercover

  • 3 weken later...
  • 1 maand later...
Geplaatst:
comment_1612356

Ik heb nog een vraagje:

Ik ben in listview bezig, en is er een mogelijkheid dat de lijst automatish wordt geleegd na een bepaald aantal lijnen?

Want anders kan die lijst vreselijk lang worden, dus dat die dan bijvoorbeeld na 25 lijnen gewist wordt of zo.

Alvast bedankt ^^. (weet niet zeker of het kan, maar ik vraag het toch even).

Geplaatst:
  • Auteur
comment_1612382

Ik heb nog een vraagje:

Ik ben in listview bezig, en is er een mogelijkheid dat de lijst automatish wordt geleegd na een bepaald aantal lijnen?

Want anders kan die lijst vreselijk lang worden, dus dat die dan bijvoorbeeld na 25 lijnen gewist wordt of zo.

Alvast bedankt ^^. (weet niet zeker of het kan, maar ik vraag het toch even).

Bedoel je dat de lijst naar 25 lijnen volledig geleegd word?

Of dat bijv alleen het 1e item uit de lijst word gehaald zodat ie niet langer dan 25 lijnen word?

Geplaatst:
comment_1612514

Ik heb nog een vraagje:

Ik ben in listview bezig, en is er een mogelijkheid dat de lijst automatish wordt geleegd na een bepaald aantal lijnen?

Want anders kan die lijst vreselijk lang worden, dus dat die dan bijvoorbeeld na 25 lijnen gewist wordt of zo.

Alvast bedankt ^^. (weet niet zeker of het kan, maar ik vraag het toch even).

Bedoel je dat de lijst naar 25 lijnen volledig geleegd word?

Of dat bijv alleen het 1e item uit de lijst word gehaald zodat ie niet langer dan 25 lijnen word?

Het is eigenlijk de bedoeling dat via de "opties"-form deze functie adhv een Checkbox kan worden in- of uitgeschakeld, en dat de speler dan zelf een limiet instelt adhv een textbox.

In de listview staan ook 3 lijnen zoals dit:

ListView1.Columns.Add("Type", 100, HorizontalAlignment.Left)

Dus stel dat de speler 50 invoert (in die textbox), dan wordt de listview geleegd na 50 lijnen, maar moeten die 3 'Columns' wel blijven staan. Want ik heb al gemerkt dat als ik listview1.clear gebruik, dat ie dan alles wist. Maar op dat laatste heb ik wel al wat gevonden, dus daar heb ik niet echt hulp mee nodig.

PS: Is het ook mogelijk om te zoeken door een listview? Heb het zelf nog niet uitgeprobeerd, maar anders kan dat ook nog wel een handige functie zijn.

Bewerkt: door vice

  • 3 weken later...
Geplaatst:
comment_1623185

Sorry voor de dubbelpost, maar ik zit met een erg vervelende vraag. Hoe kan ik een item in een Listbox bewerken?

Ik loop nu al uren af te zoeken, en ik vind niets (werkend) :S.

Het is de bedoeling dat als ik een item selecteer in de listbox en ik klik op "Bewerk Geselecteerde" dat ie dan in de tekstbox te staan komt, tot hier gaat alles goed, dus ik bewerk wat ik wil bewerken... En dan komt het probleem...

Van zodra ik op de knop "Aanpassen" druk (dus de tekst die in textbox3 - Ja de 3e - die dan de oude tekst in de listbox moet vervangen met wat in textbox3 staat) dan krijg ik ofwel telkens errors van VB zelf, of gaat ie raar doen, dan verwijdert ie bijvoorbeeld (had ook geprobeerd door te removen en dan te adden), maar add die de tekst niet, of dan gaat ie (volgens mij althans) een andere code verwarren of zo.

____________

Voor de aanpascode heb ik dit:

Dim totalitems = ListBox1.SelectedItems.Count
       For i As Integer = 0 To (totalitems - 1)
           TextBox3.AppendText(ListBox1.SelectedItems.Item(i))
       Next

Ik heb ook dit erin staan (met ' ervoor) omdat ik ook even een andere had geprobeerd, en beide werken:

        'Me.TextBox3.Text = Me.ListBox1.SelectedItem
       'Me.TextBox3.Text = Me.ListBox1.SelectedItem

_____________

Maar ik weet niet of het echt nuttig is om de code van het aanpassen zelf erin te plaatsen, want hij doet het toch niet (correct) :S.

Maar ik doe het toch maar even, je ewet nooit. Er hebben al een 10-tal codes gestaan, momenteel staat deze erin (had ik uit een YT filmpje):

        Try

           If Me.TextBox3.Modified = True Then
               Me.ListBox1.SelectedItem.Add(TextBox3)
               Me.ListBox1.Items.Remove(Me.ListBox1.SelectedItem)
               Me.TextBox3.Text = ""
               Me.TextBox3.Text = ""
               Me.TextBox3.Enabled = True
               Me.Button16.Hide()
           End If

De code is verder afgemaakt hoor :puh: (dus er staat een End try enz.)

_________________

Ik hoop echt dat jullie me kunnen helpen, want ik heb deze functie eigenlijk wel nodig (waarschijnlijk zal ik het programma hier ook "voorstellen", maar dit is iets wat niet mag ontbreken :puh:).

Ik heb het even op een ander forum gaan vragen, en heb eindelijk de oplosing voor het probleem gevonden ^^. Maar alsnog bedankt.

Bewerkt: door vice

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.