Jump to content

[TUT|VB] Visual Basic tutorial


Recommended Posts

Geplaatst: (bewerkt)

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
  • Created
  • Laatste reactie

Top Posters In This Topic

  • Crypteq

    16

  • Casss

    8

  • vice

    6

  • Donald F. Duck

    6

Geplaatst: (bewerkt)

Hier komen alle handige script / aangevraagde scripts te staan.

Heb je een handig script, of wil je een script aanvragen, post het!

Handige scripts:



Tekst uit tekstbestand lezen

Dim tekst As String = IO.File.ReadAllText("<pad naar tekstbestand>")

Met deze functie kan je de tekst uit een tekstbestand lezen, die word dan opgeslagen in de string: tekst.

Script door: BC7

________________________________________________________________________________

Tekst uit tekstbestand lijn voor lijn lezen

Dim Tekstbestand As System.IO.TextReader = New System.IO.StreamReader("<pad naar tekstbestand>")
					Dim Array As New ArrayList
					Dim count As Integer

					Do While Tekstbestand.Peek <> -1
						Array.Add(Tekstbestand.ReadLine)
						'Je kan iets doen met de huidige lijn. Voorbeeld:
						'Listbox1.Items.Add(array(count))
						count += 1
					Loop

					Tekstbestand.Close()
					'Hier kan je de array uitlezen. bijvoorbeeld:
					'label1.text = array(3)
					'De telling begint bij 0, dus de 1e regel = 0, 2e regel = 1 enz.
					Array.Clear()

Uitleg staat tussen de code als notitie.

Script door: BC7

________________________________________________________________________________

Controleren of een bepaalde toets is ingedrukt

Zet onder:

Public Class Form1

Het volgende neer:

Public Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Integer) As Integer

Nu zet je in een timer event het volgende neer:

If GetAsyncKeyState(Keys.Escape) Then
			  MsgBox("Je hebt op escape gedrukt!")
		  End If

Nu zal wanneer er op escape gedrukt word, een messagebox verschijnen met de tekst: "Je hebt op escape gedrukt!"

Script door: BC7

________________________________________________________________________________

Een actie uitvoeren als er een error voorkomt

Soms weet je dat er op een bepaald punt een error kan voorkomen, doordat bijvoorbeeld: je een programma in VB wilt openen, maar dat het programma niet bestaat.

error.png

Om dat tegen te gaan kan je een: "try-catch-end try" combinatie gebruiken.

Hoe werkt het?

Als ik bijvoorbeeld een proces met de naam "programma" wilt uitvoeren kan ie het natuurlijk niet vinden. Wil je zorgen dat er iets anders gebeurt als ie het programma niet kan vinden doe dan dit:

  Try
			Process.Start("programma")
		Catch ex As Exception
			'Actie voor als er een error is. Bijvoorbeeld een messagebox
		End Try

Zet de code die je wilt uitvoeren onder:

Catch ex As Exception

en

End Try

neer.

Script door: BC7

Aangevraagde scripts:



Een bestand opslaan

Om een bestand op te slaan, van bijvoorbeeld de tekst van een richtextbox kan je de volgende code gebruiken:

IO.File.WriteAllText("<Pad waar het opgeslagen moet worden>", "<De tekst, kan ook de tekst van een control zijn, bijvoorbeeld: richtextbox1.text>",<Encoding, bijvoorbeeld: System.Text.Encoding.Unicode>)



Aangevraagd door: David22

Script door: BC7

________________________________________________________________________________

Proces starten en beëindigen

Je kan op vele manieren met processen werken.

1. Een proces starten zonder extra's

Process.Start("<Pad naar bestand>")



2. Een proces starten met extra's

Dim proces As New Process
			 With proces
				 .StartInfo.FileName = "<Bestandsnaam>"
				 .StartInfo.Arguments = "<commando's >"
				 .StartInfo.WorkingDirectory = "<Map van het bestand>"
				 .Start()
			 End With



3. Kijken of een proces bestaat

if Process.GetProcessesByName("<Proces-naam>").Length = 0 Then
	 '<Zet hier neer wat je wilt doen als proces niet bestaat>
	 else
	 '<Zet hier neer wat je wilt doen als het proces bestaat>
	 end if



4. Een proces beëindigen

 Dim proces As Process() = Process.GetProcessesByName("<Proces-naam>")
			 For Each p As Process In proces
				 p.Kill()
			 Next



Aangevraagd door: David22

Script door: BC7

(de rest komt er aan)

________________________________________________________________________________

Computer afsluiten

Om de computer af te sluiten is een simpele code voor:

shell("shutdown -s")

Aangevraagd door: Donald F. Duck

Script door: BC7

______________

Bewerkt: door BC7
Geplaatst:

Deze tutorial heb je op youtube gezien he?

Want ik herinner me nog een youtube tutorial die gebruikte ook als voorbeeld hallo wereld,

Maar jah ik vind het niet stelen, want er zijn 100 tutorials voor visual basics :puh:

Na ja, wat ik wel waard vind is een :klap: en wat ik niet waard vind is een :slotje:

Goeie tutorial :tu:

Geplaatst: (bewerkt)
Deze tutorial heb je op youtube gezien he?

Want ik herinner me nog een youtube tutorial die gebruikte ook als voorbeeld hallo wereld,

Het is in de programmeerwereld gebruikelijk om een Hello World programma te maken als je net bent begonnen met het coden in die taal ;)

Mooie tut BC7! Zelf heb ik nog wel een paar verzoekjes... :$

  • FTP up- en download, voor zover dit mogelijk is
  • Een bestand weer opslaan
  • Processen beëindigen en weer opstarten
  • Dit is een beetje moeilijk uit te leggen, ik wil dat, als ik een bestand inlaad, uit het eerst regeltje gekeken wordt wat het eerst woord is, deze aan een textbox wordt gekoppeld, en dat het tweede woord wat op datzelfde regeltje in die textbox wordt gezet. Als voorbeeld gebruik ik een server.cfg van SA-MP, die heeft bijvoorbeeld dit:

gamemode0 testscript
mapname San Andreas
filterscripts xCore adminspec blabla

Maar dan moet het ook weer zo gedaan worden dat bij 'mapname' alles achter het eerst woord gekopieerd is, maar bij filterscripts telkens bij weer eens nieuwe spatie het woordje in een andere textbox wordt gezet. Snap je nog een beetje wat ik wil? :puh:

Bewerkt: door David22
Geplaatst:

Dat opslaan in .EXE hoeft niet persee, je gaat naar de map en zorg dat je bij 'bin' komt.

klik dan op Debug en daar staat een .EXE

Geplaatst: (bewerkt)

@coolnniek9

Dankje _O_

@David22

Ik zal voor elke (proberen) een script voorbeeld te maken.

Edit: Ik snap het voor de helft :7 , misschien wat duidelijker uitleggen? :engel:

@game~skater

Klopt dan kan ook, maar mijn manier kan ook :7

Je kan het ook "builden" en dan staat ie ook in de release map.

Bewerkt: door BC7
Geplaatst:

Leuke tutorial van Visual Basic. Ik heb zelf ooit Visual Basic gehad en met die dingen die allemaal naar elkaar verwijzen (net als javascript en php) kun je er best mooie dingen van maken en het gebruik is eerlijk gezegd best simpel voor in 2008 maar mijn voorkeur gaat naar versie 6 ervan omdat dat minder problemen geeft bij verschillende soorten computers.

Verder hield het bij mij een beetje op nadat ik een simpel programmaatje maakte, want alles blijft in het programma en je kunt niet dingen erbuiten ermee beïnvloeden geloof ik dus het was niks voor mij.

Geplaatst:
Leuke tutorial van Visual Basic. Ik heb zelf ooit Visual Basic gehad en met die dingen die allemaal naar elkaar verwijzen (net als javascript en php) kun je er best mooie dingen van maken en het gebruik is eerlijk gezegd best simpel voor in 2008 maar mijn voorkeur gaat naar versie 6 ervan omdat dat minder problemen geeft bij verschillende soorten computers.

Verder hield het bij mij een beetje op nadat ik een simpel programmaatje maakte, want alles blijft in het programma en je kunt niet dingen erbuiten ermee beïnvloeden geloof ik dus het was niks voor mij.

Visual basic 2008 doet het ander prima hoor. Je moet gewoon de .net framework op 2.0 zetten. En dan heb je nooit problemen omdat het op XP al standaard geïnstalleerd is. VB6 die gebruikt geen .net framework. Maar ik heb ook vb6 gebruikt maar ik vind het vele malen slechter dan VB2008.

En je kan er wel dingen voor buiten mee beinvloeden. Neem als voorbeeld een wiimote. Die kan je in VB gebruiken :Y

Geplaatst:

Nooit van gehoord. :puh: Maar zou je dan ook bijvoorbeeld ook een programma kunnen maken die een textdocument aanmaakt en verandert? Bijvoorbeeld een topic-maker. Dat je in het programma een paar velden intoetst en dat het programma dan het omzet in een textdocument die je vervolgens weer kunt kopieëren?

Dat zou namelijk best gaaf zijn. :puh:

Geplaatst:
Nooit van gehoord. :puh: Maar zou je dan ook bijvoorbeeld ook een programma kunnen maken die een textdocument aanmaakt en verandert? Bijvoorbeeld een topic-maker. Dat je in het programma een paar velden intoetst en dat het programma dan het omzet in een textdocument die je vervolgens weer kunt kopieëren?

Dat zou namelijk best gaaf zijn. :puh:

Ja dat is (best) makkelijk te maken :Y
Geplaatst:

Leuk. Misschien dat ik VB nog even een keer installeer om zoiets te maken. Maar dan wel met hulp geloof ik. Sommige commands zijn namelijk nogal vergezocht maar zelf snap ik wel ongeveer het principe ervan.

Aller eerst moeten we alles dan gaan uitdenken. Het woord lastig om iets te maken wat je tijdens het scripten snel zit te verzinnen, dus dat aller eerst... Verder is het dus de bedoeling dat wanneer je alle velden hebt ingevuld dat het dan naar de velden op het forum wordt gekopieerd wanneer je een topic aanmaakt (dat textdocument laten we dus achterwege, anders kun je net zo goed gewoon handmatig invoeren in gtaforum zelf).

Lijkt me wel leuk om aan zo'n klein projectje te werken. :Y

Geplaatst:
Maar ik heb ook vb6 gebruikt maar ik vind het vele malen slechter dan VB2008.

Visual Basic 6 = gebruikersvriendelijk + goed + snel = beter dan Visual Basic 2008.

Geplaatst: (bewerkt)
Maar ik heb ook vb6 gebruikt maar ik vind het vele malen slechter dan VB2008.

Visual Basic 6 = gebruikersvriendelijk + goed + snel = beter dan Visual Basic 2008.

Visual basic 6 = Oud + juist niet gebruiksvriendelijk + minder overzichtelijk + geen ondersteuning voor .net framework = Oud en versleten ;)

Visual basic 2008 = gebruikersvriendelijk + even goed + even snel (of je hebt een oude rammelkast pc :puh: + mijn mening = Beter dan Visual basic 6

VB6 is 9 jaar ouder dan VB2008 :7

Ik denk wat je gewent bent beter lijkt, maar je kan me niet wijs maken dan vb6 overzichtelijker en gebruiksvriendelijker is dan VB2008

Bewerkt: door BC7
Geplaatst:

Nu heb je het verkeerd hoor, ik ben eerst begonnen met VB2008, wat ik direct k*t vond, dus wou ik VB6 proberen, en dat was in mijn ogen gebruikersvriendelijker aangezien de code snippets die je creëert een menselijke logica (of hoe je dat noemt) bij zich dragen.

Geplaatst:

Het is denk ik gewoon wat je zelf het fijnste vind.

Maar je kan er niet omheen dat VB6 9 jaar ouder is dan VB2008, Visual Basic zal in die 9 jaar heus wel verbeterd zijn ;)

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...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...