[TuT] Visual Basic für Anfänger Part II

05/22/2010 16:48 Dorhaxxx#1
Hallo, hier bin ich wieder mit Part II meines Tutorials Basic für Anfänger.

Vorraussetzungen

[-] Erfahrung mit Windows
[-] [TuT] Visual Basic für Anfänger Part I gelesen
[-] Menschenverstand


Ich würde sagen wir legen gleich los! Wir starten ein neues Projekt und ziehen und vier Buttons, sowie drei Labels in die Form und beschriftet die Buttons folgendermaßen:

[Only registered and activated users can see links. Click Here To Register...]

Die Schriftgröße, sowie die Schriftart könnt ihr im Eigenschaftenfenster unter Font ändern, die Farbe unter ForeColor und die Ausrichtung unter TextAlign.

[Only registered and activated users can see links. Click Here To Register...]

Ich rate euch im Eigenschaftenfenster der Labels „Autosize“ auf „false“ zu stellen, da sich ansonsten die Labels sofort zusammen ziehen. So allerdings kann man sie schön sehen.

[Only registered and activated users can see links. Click Here To Register...]

Nun doppelklicken wir auf das Label mit der Aufschrift „Klick dir zwei Zahlen“ und landen im Editor. Jetzt tippen wir erst mal folgende Zeilen:

[Only registered and activated users can see links. Click Here To Register...]

Jetzt haben wir da ganz schon viele unbekannte Wörter. Was bedeutet Randomize? Mit Randomize wird ein Zufallsgenerator gestartet. Der Computer berechnet nach einer Formel von Visual Basic einen zufälligen Startwert und nimmt dabei Datum und Uhrzeit zur Hilfe. Da diese sich ständig ändern, entsteht auch immer ein neuer Wert. „Rnd“ erzeugt dann eine Zufallszahl, die zwischen 0 und 1 liegt. Weil wir aber eine Zahl bis 100 haben wollen, multiplizieren wir den Zufallswert mit 100. Jedoch sind die zufälligen Werte in der Regel irgendwelche Kommazahlen, mit denen man nur schwer rechnen kann.

Aber halt! Es gibt doch die Funktion „Int“! Mit dieser Funktion sorgen wir dafür, dass uns nur ganze Zahlen zur Verfügung stehen. „Int“ kommt von Integer. Wozu diese Klammern bei Randomize und „Rnd“? Grundsätzlich trägt jede Methode in Visua Basic solche Klammern, denn dort stehen normalerweise sogenannte Parameter, also Werte, welche die Methode übernimmt und verarbeitet. Das kann man z.B. an „Int“ oder „CStr“ sehen. Und da wären wir auch schon bei „CStr“:

Denn Zahlen sind nicht einfach „Zahlen“ für einen Computer. Um unsere Zahlen aber für uns lesbar zu machen, wandeln wir es mit dem Befehl „CStr“ in eine Zeichenkette (= String) um.
Wenn wir jetzt allerdings debuggen würden, könnte es nicht gehen. Die Fehlermeldung „Zahl1 wurde nicht deklariert“ bzw. „Zahl2 wurde nicht deklariert“ würde erscheinen. Denn wir haben etwas übersehen: Zahl 1 und Zahl 2 sind auch schon unterschlängelt. Denn wenn eine Variable eingesetzt wird (was Zahl1 und Zahl2 in diesem Fall sind), muss man sie zuerst definieren. Wir können also keine Variable einfach einsetzen, ohne vorher Bescheid zu sagen. Wir müssen also erst die Variablen vereinbaren. Nur dann wird im Arbeitsspeicher Platz für eine Zahl oder Zeichenkette bereitgestellt. Darum erweitern wir den Quelltext um folgende Zeile:

[Only registered and activated users can see links. Click Here To Register...]


Nun können wir aber auf unser Label klicken und die Zufallszahlen erscheinen. Allerdings rechnet unser Projekt noch nicht. Dies kommt nach diesem nicht unbedingt notwendigen, aber überaus nützlichem Kapitel.
Kommentare
Manchmal kann es nützlich sein, Kommentare zu einzelnen Programmzeilen zu machen. So kann man sich einen besseren Überblick über das Ganze verschaffen und es sieht gleichzeitig strukturieren. In Visual Basic wird dies durch das Wörtchen „Rem“ eingeleitet, da wir aber faul sind machen wir ein einfaches ( ‘ ) .Durch diese Funktion könnte unser Quelltext im Editor z.B. so aussehen:

[Only registered and activated users can see links. Click Here To Register...]

Jetzt aber weiter mit unserem Projekt:
Damit nämlich gerechnet wird, müssen wir uns jetzt noch um die Methoden der vier Buttons kümmern. Die sehen dann so aus:

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Hier setzen wir eine neue Variable ein: Ergebnis. Diese haben wir aber schon in der ersten Zeile vereinbart. Wie man die Ergebnisse berechnet ist ja wohl selbstredend. Unser Label1 zeigt dann später das Ergebnis an und mit CStr wandeln wir das Ergebnis in eine Zeichenkette um. Nun können wir getrost debuggen und unser Projekt speichern.
Was aber passiert, wenn als zweite Zahl eine 0 steht und wir dividieren? Aus dem Matheunterricht sicherlich bekannt: Man darf nicht durch 0 dividieren. Also ändern wir folgende Zeilen so um:
Zahl1 = (100 * Rnd()) und Zahl2 = (100 * Rnd()) schreiben wir jetzt so:
Zahl1 = (99 * Rnd()) +1 und Zahl2 = (99 * Rnd()) +1
Durch diese Schreibweise kann keine Null mehr vorkommen und auch die Division klappt. Aber was ist das? Z.B. bei 5 geteilt durch 2 kommt eine ganze Zahl raus statt 2,5. Der Sündenbock dafür ist natürlich unser Integer, der ja nur ganze Zahlen hervorbringt. Deshalb vereinbaren wir Zahl1, Zahl2 und Ergebnis nicht mehr als Integer, sondern als sogenannten „Single“. Das heißt wir schreiben statt Shared Zahl1, Zahl2, Ergebnis as Integer Shared Zahl1, Zahl2, Ergebnis as Single. Mit Single werden Dezimalzahlen vereinbart. Mit dem Wörtchen „Double“ kann man noch mehr Kommazahlen vereinbaren, aber für uns reicht erst mal Single, der auch genug Nachkommastellen anzeigt. Und jetzt sind wir wirklich fertig mit dem Projekt.
05/24/2010 09:16 antihackers#2
Finde ich ziemlich schwachsinnig weil jeder computer eigentlich eine standart rechner mit drin hat aber du bekommst trotzdem ein thanks für die mühe
05/24/2010 15:12 Dorhaxxx#3
Quote:
Originally Posted by antihackers View Post
Finde ich ziemlich schwachsinnig weil jeder computer eigentlich eine standart rechner mit drin hat aber du bekommst trotzdem ein thanks für die mühe
ööhh..wovon redest du? ich will einem visual basic näher bringen, und nicht zeigen wie man Rechenaufgaben löst. Das Projekt dient nur dem Näherbringen und zum besser Verstehen. Außerdem ist es kein richtiger Taschenrechner, sondern er sucht sich zwei zufällige Zahlen aus (was du wüsstest wenn du dir das TuT mal richtig durchlesen würdest)
05/24/2010 15:27 Avarius210#4
Quote:
Originally Posted by antihackers View Post
Finde ich ziemlich schwachsinnig weil jeder computer eigentlich eine standart rechner mit drin hat aber du bekommst trotzdem ein thanks für die mühe
Bei Programmiersprachen fängt man immer mit kleinen Programmen an.
Ich persönlich habe früher auch hin und wieder mal einen Rechner erstellt...

Ahja ich würde die Deklarationen in die Sub schreiben anstatt in die Class... Wenn man mal mehr Variablen braucht wirds doch schnell unübersichtlich und kann teilweise Fehler hervorrufen.

Bekommst ein Thanks für Mühe und weil ich das Tut mag ;)
05/25/2010 16:29 Dorhaxxx#5
Quote:
Originally Posted by Avarius210 View Post
Bei Programmiersprachen fängt man immer mit kleinen Programmen an.
Ich persönlich habe früher auch hin und wieder mal einen Rechner erstellt...

Ahja ich würde die Deklarationen in die Sub schreiben anstatt in die Class... Wenn man mal mehr Variablen braucht wirds doch schnell unübersichtlich und kann teilweise Fehler hervorrufen.

Bekommst ein Thanks für Mühe und weil ich das Tut mag ;)
sehr nett von dir :D aber die Deklarationen habe am Anfang in die Class geschrieben, weil es ja noch kleinere Projekte waren, später werden wir noch Dim lernen ;) aber danke für den Hinweis
05/25/2010 16:42 Cash²#6
Richtig nutzlos und du willst das es sticky wird?!
Übersicht fehlt, ...
Haha :D
05/25/2010 16:59 flaverdidi#7
ich finde dsa neue tut wo die datentypen und so erklärt werden besser is für mch hilfreicher
05/25/2010 18:02 Dorhaxxx#8
Quote:
Originally Posted by Cash² View Post
Richtig nutzlos und du willst das es sticky wird?!
Übersicht fehlt, ...
Haha :D
sry, steckt halt mehr dahinter als was zus kopieren und einzufügen ;)
aber davon verstehst du sicher nichts :D
05/25/2010 22:53 Al Kappaccino#9
Find das Tut gar nicht schlecht^^
Werde vll wohl von AutoIT auf vb umsteigen, dies war mein erstes Tut ;)
05/26/2010 14:46 Dorhaxxx#10
Quote:
Originally Posted by JakeFrost77 View Post
Find das Tut gar nicht schlecht^^
Werde vll wohl von AutoIT auf vb umsteigen, dies war mein erstes Tut ;)
Danke ;) es kommt ja nch viel mehr, denke mal im nächsten bzw. im 4. part kommen dann schon einfache graphics
AutoIt ist auch nicht schlecht, aber ich finde, so als Basis zum Programmieren eignet sich VB besser, da es ziemlich objektorientiert ist. Ansonsten bin ich generell für C++
07/09/2010 16:27 gersaad12#11
Hi,

Find das tut echt klasse^^
Hab jetzt alles so gemacht wie im tut angegeben. Aber er sagt mir:

Die Anweisung ist in einem Namespace ungültig.
und das 4 mal.

Hoffe du kannst mir helfen^^

Edit: Problem hab ich jetzt gelöst^^

aber ich kann in die Felder wo normal die zahlen reinsollen die man addieren etc will nix eingeben.
07/10/2010 08:00 Jay Niize#12
#Added to List

wenn du es dort nicht haben willst, PN!

sehr gut gemacht :)
04/26/2011 01:16 Mbcool#13
Das erste Tutorial, wo ich ALLES verstanden habe. Vielen Dank für die mühe, und weiter so!