Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung

...powered by haas.homelinux.net...

Einstieg in VB.NET von René Martin
- Für Programmiereinsteiger -
Einstieg in VB.NET
gp Kapitel 1 Die Grundlagen
  gp 1.1 Nach der Installation
  gp 1.2 Der erste Start
  gp 1.3 Das erste Formular
  gp 1.4 Eigenschaften
    gp 1.4.1 Regeln für Namen
    gp 1.4.2 Die Eigenschaften
  gp 1.5 Die Toolbox
  gp 1.6 Das Meldungsfenster
    gp 1.6.1 Die Code-Eingabe für die MessageBox
    gp 1.6.2 Ein Wort zum »alten« Visual Basic
    gp 1.6.3 Die Code-Eingabe allgemein
  gp 1.7 Ein Textfeld
  gp 1.8 Texte verketten
  gp 1.9 Andere Zeichen
    gp 1.9.1 Noch ein Wort zum Code-Tippen
    gp 1.9.2 Ein Wort zur Syntax
  gp 1.10 Variablen
  gp 1.11 Ein theoretischer Exkurs: Werte- und Referenztypen
  gp 1.12 Zuweisen von Werten an Variablen
  gp 1.13 Verzweigungen
  gp 1.14 Einige Hilfen für den Benutzer
    gp 1.14.1 Setze den Cursor in ein Textfeld
    gp 1.14.2 Ok und Abbrechen
    gp 1.14.3 Die Reihenfolge der Steuerelemente
  gp 1.15 Ein zweites Textfeld
    gp 1.15.1 Vergleiche
  gp 1.16 Rechnen in Basic
  gp 1.17 Optionsfelder
    gp 1.17.1 Schnell und ordentlich mehrere Steuerelemente platzieren
  gp 1.18 Ein zweites Gruppenfeld
  gp 1.19 Dynamische Steuerelemente
  gp 1.20 Das Ereignis »Klick«
  gp 1.21 Prozeduren
  gp 1.22 Ein theoretischer Exkurs: Prozeduren
  gp 1.23 Module
  gp 1.24 Ein theoretischer Exkurs: Objekte, Eigenschaften und Methoden
    gp 1.24.1 Objekte
    gp 1.24.2 Methoden
    gp 1.24.3 Eigenschaften
  gp 1.25 Zusammenfassung


Galileo Computing

1.9 Andere Zeichen  downtop

Was ist aber nun, wenn ich den Namen in der ersten Zeile, das Heißgetränk in der zweiten Zeile haben möchte? Wenn ich also einen Zeilenumbruch zwischen die beiden Zeilen bekommen möchte? Einfach (Enter) drücken geht nicht, da sonst eine neue Zeile eingefügt würde. Also muss das Zeichen für (Enter) eingegeben werden. In der letzten Visual Basic-Version hieß es »vbCr«. »Cr« steht dabei für »carriage Return«, also Wagenrücklauf. Das funktioniert immer noch. Man kann also schreiben:

MessageBox.Show("Achtung: " & txtName.Text & _
   vbCR & "Jetzt gibt es Kaffee!")

Es macht in einem Meldungsfenster keinen Unterschied – man könnte auch »crLf« eingeben. »Lf« steht für »Linefeed«. Oder beide zusammen: »vbCrLf«. Ins neue VB.NET übersetzt heißt dieser Befehl

Environment.NewLine

Oder ganz exakt:

System.Environment.NewLine

Er ist natürlich etwas umständlich zu tippen, hat aber den großen Vorteil, dass er in jedem System funktioniert, und das sollte doch das Ziel eines VB-Projekts sein. Übrigens: Wenn Sie die ASCII-Tabelle im Kopf haben, dann können Sie auch die Funktion »Chr« verwenden. (Enter) hat den Wert 34, »Lf« hat 10, man kann also auch schreiben:

Chr(13)

oder

Chr(10)
Abbildung

Abbildung 1.19   Der Umbruch funktioniert.


Galileo Computing

1.9.1 Noch ein Wort zum Code-Tippen  downtop

Wenn Sie die Beispiele abtippen (oder andere Beispiele eingeben), dann müssen Sie ein paar Kleinigkeiten beachten.

Groß- und Kleinschreibung sind in VB.NET austauschbar. Es ist also gleichgültig, ob Sie messagebox, MESSAGEBOX oder MessageBox schreiben. Ich erwähne das deshalb, weil es nicht nur meine eigene Faulheit beschreibt. Es hat noch eine andere wichtige Funktion. Wenn ich Code eingebe, dann tippe ich die bekannten Befehle alle in Kleinbuchstaben. Denn sobald ich die Zeile verlasse, werden die Syntax und die einzelnen Befehle überprüft. Ein Befehl wie »messagebox« wird als korrekt erkannt und in die richtige Schreibweise gedreht. »messagebxo« dagegen führt beim Verlassen der Zeile nicht nur dazu, dass der Befehl mit einer Schlangenlinie versehen wird, es werden auch nicht – anders als erwartet – die Kleinbuchstaben in Groß- und Kleinbuchstaben verwandelt. Ich persönlich finde das eine prima Hilfe, mit der ich schon viele Tippfehler schnell gefunden habe.

Leerzeichen sind ein kleines Problem. Merkregel: Lieber eins zu viel als eins zu wenig. Sind zu viele Leerzeichen in einer Zeile, dann löscht das Programm die überflüssigen beim Verlassen der Zeile. Also besser:

messagebox.show   (   "Achtung: "   &   txtName.Text   &   "Jetzt gibt es Kaffee!"  )

als folgende Zeile:

messagebox.show("Achtung: "&txtName.Text&"Jetzt gibt es Kaffee!")

Denn diese führt zu einem Fehler, weil VB.NET »denkt«, dass

txtName.Text&"Jetzt gibt es Kaffee!"

ein Ausdruck ist. Das Programm »glaubt«, dass das kaufmännische »und« Teil des Inhalts des Textfelds ist. Auf den ersten Blick sieht dies ziemlich doof aus, es steckt aber Methode dahinter.


Galileo Computing

1.9.2 Ein Wort zur Syntax  toptop

Wörter mit einem »x« und einem »y« sind klasse. Sie sind meistens griechisch, kein Mensch kennt sie und man kann sie überall verwenden, das macht viel her! Nein, im Ernst: Der Begriff »Syntax« ist bekannt. Er bedeutet nichts anderes als die Reihenfolge der Elemente. In einem Satz dürfen Sie sagen:

»Es war eine lange, stürmische Nacht.«

oder

»Eine lange, stürmische Nacht war es.«

Allerdings ist folgende Reihenfolge nicht möglich:

»lange Nacht, stürmische es war.«

Zwar kann man den Satz mit ein wenig Mühe noch verstehen, aber es ist anstrengend. Deshalb reden und schreiben wir lieber »korrektes« Deutsch und programmieren »korrektes« VB.NET.

In einer Programmiersprache bedeutet »Syntax« die Abfolge von bestimmten Elementen. Das heißt:

Nach der Funktion MessageBox.Show muss eine Klammer stehen. Zuerst »(« und am Ende »)«. Dazwischen steht der »text«, der gemeldet wird. Er ist notwendig, ohne ihn geht es nicht. Optional, das heißt möglich, aber ohne Zwang, können die übrigen Parameter stehen. Und wenn, dann bitte schön in dieser Reihenfolge. Soll keine »caption« angegeben werden, dann könnte man dies folgendermaßen schreiben:

MessageBox.Show _
("Achtung: Jetzt gibt es Kaffee!", , 
MessageBoxButtons.YesNoCancel, _
MessageBoxIcon.Warning,)

Der Parameter fehlt einfach. Die Reihenfolge ist festgelegt. Nun gibt es allerdings Funktionen mit sehr vielen Parametern. Damit man nicht umständlich viele Kommata hintereinander schreiben muss, gibt es noch eine zweite Schreibweise dafür:

MessageBox.Show(text:="Jetzt gibt es Kaffee!", _
caption:="Meine Kaffeemaschine", _
buttons:=MessageBoxButtons.YesNoCancel, _
Icon:=MessageBoxIcon.Information, _
defaultbutton:=MessageBoxDefaulButton.Buttons2, _
options:=MessageBoxOptions.DefaultDesktopOnly)

Das ist zwar viel mehr Tipparbeit, aber deutlich angenehmer zu lesen.

Apropos angenehmer zu lesen: In VB.NET ist eine Zeile ein Befehl oder ein Befehl eine Zeile. Da die Codezeilen hier im Buch nicht immer in eine Zeile passen, habe ich sie häufig umgebrochen. Dies können Sie auch tun, wenn Sie die Beispiele aus dem Buch nachtippen, Sie können die Befehle aber auch in einer Zeile schreiben.

  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML