Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 02:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



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

Discussion on [TuT] Visual Basic für Anfänger Part II within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
Dorhaxxx's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 126
Received Thanks: 218
Lightbulb [TuT] Visual Basic für Anfänger Part II

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:



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



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.



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



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:




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:



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:




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.
Dorhaxxx is offline  
Thanks
10 Users
Old 05/24/2010, 09:16   #2
 
antihackers's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 270
Received Thanks: 64
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
antihackers is offline  
Old 05/24/2010, 15:12   #3
 
Dorhaxxx's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 126
Received Thanks: 218
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)
Dorhaxxx is offline  
Old 05/24/2010, 15:27   #4
 
Avarius210's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 149
Received Thanks: 20
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
Avarius210 is offline  
Old 05/25/2010, 16:29   #5
 
Dorhaxxx's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 126
Received Thanks: 218
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 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
Dorhaxxx is offline  
Old 05/25/2010, 16:42   #6
 
Cash²'s Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 1,305
Received Thanks: 936
Richtig nutzlos und du willst das es sticky wird?!
Übersicht fehlt, ...
Haha
Cash² is offline  
Old 05/25/2010, 16:59   #7
 
flaverdidi's Avatar
 
elite*gold: 0
Join Date: Nov 2007
Posts: 70
Received Thanks: 6
ich finde dsa neue tut wo die datentypen und so erklärt werden besser is für mch hilfreicher
flaverdidi is offline  
Old 05/25/2010, 18:02   #8
 
Dorhaxxx's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 126
Received Thanks: 218
Quote:
Originally Posted by Cash² View Post
Richtig nutzlos und du willst das es sticky wird?!
Übersicht fehlt, ...
Haha
sry, steckt halt mehr dahinter als was zus kopieren und einzufügen
aber davon verstehst du sicher nichts
Dorhaxxx is offline  
Old 05/25/2010, 22:53   #9


 
Al Kappaccino's Avatar
 
elite*gold: 179
Join Date: Oct 2009
Posts: 7,853
Received Thanks: 8,558
Find das Tut gar nicht schlecht^^
Werde vll wohl von AutoIT auf vb umsteigen, dies war mein erstes Tut
Al Kappaccino is offline  
Old 05/26/2010, 14:46   #10
 
Dorhaxxx's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 126
Received Thanks: 218
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++
Dorhaxxx is offline  
Old 07/09/2010, 16:27   #11
 
elite*gold: 1
Join Date: Nov 2009
Posts: 97
Received Thanks: 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.
gersaad12 is offline  
Old 07/10/2010, 08:00   #12
 
Jay Niize's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
#Added to List

wenn du es dort nicht haben willst, PN!

sehr gut gemacht
Jay Niize is offline  
Old 04/26/2011, 01:16   #13
 
elite*gold: 0
Join Date: Nov 2008
Posts: 28
Received Thanks: 4
Das erste Tutorial, wo ich ALLES verstanden habe. Vielen Dank für die mühe, und weiter so!
Mbcool is offline  
Reply

Tags
anfänger, dorhaxx, tutorial, visual basic


Similar Threads Similar Threads
[Tut] Basic für Anfänger
05/22/2011 - Coding Tutorials - 19 Replies
Visual Basic für Anfänger Ich dachte mir ich mache mal ein Tutorial übers Programmieren – für Beginner. Und was ist besser für Beginner geeignet als Visual Basic?! Ich nehme in diesem Tutorial mal eine Form des Basic näher unter die Lupe: Visual Basic. Da das hier wirklich für blutige Anfänger bestimmt ist, rate ich den Codern unter uns ab, dieses Tutorial ganz zu lesen. Das benötigte Programm findet ihr hier. Ich persönlich habe Visual Basic Express 2005, da ich hiervon die Vollversion...
Visual C++ (C++), Visual Basic, oder AutoIT?
06/24/2010 - .NET Languages - 11 Replies
Hallo Zusammen Ich würde gerne mit dem Programmieren anfangen. Meine Vorstellungen: Es müsste möglich sein, eigene Programme zu schreiben wie z. B. MSN, Emule oder ähnliches. Natürlich nie in dieser Grösse nur als Beispiel. Als weiteres sollte mit der gleichen Programmiersprache auch die Möglichkeit bestehen einen WoW Bot zu schreiben. Habe gehört die meisten Bots sind in Auto IT geschrieben. Gibt es unterschiede wegen des Warden schutzes oder kommt es nicht darauf an?
Visual Basic 6
04/28/2008 - SRO Private Server - 2 Replies
Hey guys,her i uploadet VB6 for the people who want to play on their OWN SRO Pserver! Here is the link:MEGAUPLOAD - The leading online storage and file delivery service It´s safe,i use it too,but scan it if you want :p I hope i could help you :)



All times are GMT +1. The time now is 02:21.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.