Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Neues in Visual Basic 2008
12 Beispielprojekte
A Installation
B Lösungen der Übungsaufgaben
Stichwort

Download:
- ZIP, ca. 8,4 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in Visual Basic 2008 von Thomas Theis
Inkl. zahlreicher Beispiele und Uebungen
Buch: Einstieg in Visual Basic 2008

Einstieg in Visual Basic 2008
geb., mit DVD
442 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1192-5
Online bestellenJetzt online bestellen
* versandkostenfrei in (D) und (A)
Pfeil 2 Grundlagen
  Pfeil 2.1 Variablen und Datentypen
    Pfeil 2.1.1 Namen, Werte
    Pfeil 2.1.2 Deklarationen
    Pfeil 2.1.3 Datentypen
    Pfeil 2.1.4 Gültigkeitsbereich
    Pfeil 2.1.5 Konstanten
    Pfeil 2.1.6 Enumerationen
  Pfeil 2.2 Operatoren
    Pfeil 2.2.1 Arithmetische Operatoren
    Pfeil 2.2.2 Vergleichsoperatoren
    Pfeil 2.2.3 Logische Operatoren
    Pfeil 2.2.4 Verkettungsoperator
    Pfeil 2.2.5 Zuweisungsoperatoren
    Pfeil 2.2.6 Rangfolge der Operatoren
  Pfeil 2.3 Panel, Zeitgeber, Textfeld, Zahlenauswahlfeld
    Pfeil 2.3.1 Panel
    Pfeil 2.3.2 Zeitgeber
    Pfeil 2.3.3 Textfelder
    Pfeil 2.3.4 Zahlenauswahlfeld
  Pfeil 2.4 Verzweigungen
    Pfeil 2.4.1 Einzeiliges If…Then…Else
    Pfeil 2.4.2 If…Then…Else-Block
    Pfeil 2.4.3 Select Case
    Pfeil 2.4.4 Funktion IIf
    Pfeil 2.4.5 Funktion Choose
    Pfeil 2.4.6 Übungen
  Pfeil 2.5 Kontrollkästchen, Optionsschaltfläche, Gruppe
    Pfeil 2.5.1 Kontrollkästchen
    Pfeil 2.5.2 Optionsschaltfläche
    Pfeil 2.5.3 Mehrere Ereignisse in einer Prozedur behandeln
    Pfeil 2.5.4 Mehrere Gruppen von Optionsschaltflächen
    Pfeil 2.5.5 Prozedur ohne Ereignis, Modularisierung
  Pfeil 2.6 Schleifen
    Pfeil 2.6.1 For ... Next
    Pfeil 2.6.2 Do ... Loop
    Pfeil 2.6.3 With
    Pfeil 2.6.4 Übungen
  Pfeil 2.7 Listenfeld und Kombinationsfeld
    Pfeil 2.7.1 Listenfeld
    Pfeil 2.7.2 Listenfeld füllen
    Pfeil 2.7.3 Wichtige Eigenschaften
    Pfeil 2.7.4 Wechsel der Auswahl
    Pfeil 2.7.5 Wichtige Methoden
    Pfeil 2.7.6 Mehrfachauswahl
    Pfeil 2.7.7 Kombinationsfelder


Galileo Computing - Zum Seitenanfang

2.7 Listenfeld und Kombinationsfeld  Zur nächsten ÜberschriftZur vorigen Überschrift

Mithilfe der Steuerelemente »Listenfeld« und »Kombinationsfeld« kann eine einfache oder mehrfache Auswahl aus mehreren Möglichkeiten getroffen werden. Im Zusammenhang mit diesen Feldern werden häufig Schleifen benötigt, wie sie im vorherigen Abschnitt behandelt wurden.


Galileo Computing - Zum Seitenanfang

2.7.1 Listenfeld  Zur nächsten ÜberschriftZur vorigen Überschrift

ListBox

Ein Listenfeld (ListBox) zeigt eine Liste mit Einträgen an, aus denen der Benutzer einen oder mehrere auswählen kann. Enthält das Listenfeld mehr Einträge, als gleichzeitig angezeigt werden können, erhält es automatisch einen Scrollbalken.

Items

Die wichtigste Eigenschaft des Steuerelements ListBox ist die Auflistung Items. Sie enthält die einzelnen Listeneinträge. Listenfelder können zur Entwurfszeit gefüllt werden, indem der Eigenschaft Items in einem eigenen kleinen Dialogfeld die Einträge hinzugefügt werden. In der Regel wird man ein Listenfeld aber zur Laufzeit füllen.


Galileo Computing - Zum Seitenanfang

2.7.2 Listenfeld füllen  Zur nächsten ÜberschriftZur vorigen Überschrift

Items.Add

Bisher wurden die Eigenschaften und Ereignisse von Steuerelementen behandelt. Darüber hinaus gibt es jedoch auch spezifische Methoden, die auf diese Steuerelemente bzw. auf deren Eigenschaften angewendet werden können. Beim Listenfeld ist dies u. a. die Methode Add() der Eigenschaft Items. Diese wird am sinnvollsten zum Zeitpunkt des Ladens des Formulars genutzt.

Im nachfolgenden Programm p0237 wird ein Listenfeld für »Italienische Speisen« zu Beginn des Programms mit den folgenden Werten gefüllt: »Spaghetti«, »Grüne Nudeln«, »Tortellini«, »Pizza«, »Lasagne«.

Abbildung 2.39  Listenfeld mit Scrollbalken

Public Class frm0237 
   Private Sub frm0237_Load( ... ) Handles MyBase.Load 
      lstSpeisen.Items.Add("Spaghetti") 
      lstSpeisen.Items.Add("Grüne Nudeln") 
      lstSpeisen.Items.Add("Tortellini") 
      lstSpeisen.Items.Add("Pizza") 
      lstSpeisen.Items.Add("Lasagne") 
   End Sub 
End Class

Zur Erläuterung:

  • Das Ereignis frm0237_Load wird ausgelöst, wenn das Formular geladen wird, das diesen Namen trägt und dessen Verhalten in der gleichnamigen Klasse beschrieben wird.
  • Die einzelnen Speisen werden der Reihe nach dem Listenfeld hinzugefügt. »Lasagne« steht anschließend ganz unten.

Galileo Computing - Zum Seitenanfang

2.7.3 Wichtige Eigenschaften  Zur nächsten ÜberschriftZur vorigen Überschrift

Die folgenden Eigenschaften eines Listenfelds bzw. der Auflistung Items werden in der Praxis häufig benötigt:

  • Items.Count gibt die Anzahl der Elemente in der Liste an.

    SelectedItem

  • SelectedItem beinhaltet das aktuell vom Benutzer ausgewählte Element der Liste. Falls kein Element ausgewählt wurde, ergibt SelectedItem nichts.
  • SelectedIndex gibt die laufende Nummer des aktuell vom Benutzer ausgewählten Elements an, beginnend bei 0 für das oberste Element. Falls kein Element ausgewählt wurde, ergibt SelectedIndex den Wert –1.

    Items(i)

  • Über Items (Index) kann man die einzelnen Elemente ansprechen, das oberste Element ist Items(0).

Das folgende Programm p0238 veranschaulicht alle diese Eigenschaften:

Public Class frm0238 
   Private Sub frm0238_Load( ... ) Handles MyBase.Load 
      [ ... wie oben ... ] 
   End Sub 
 
   Private Sub cmdAnzeige_Click( ... ) Handles ... 
      lblAnzeige1.Text = "Anzahl: " _ 
         & lstSpeisen.Items.Count 
      lblAnzeige2.Text = "Ausgewählter Eintrag: " _ 
         & lstSpeisen.SelectedItem 
      lblAnzeige3.Text = "Nummer des ausgewählten " _ 
         & "Eintrags: " & lstSpeisen.SelectedIndex 
      lblAnzeige4.Text = "Alle Einträge:" & vbCrLf 
      For i = 0 To lstSpeisen.Items.Count - 1 
         lblAnzeige4.Text &= lstSpeisen.Items(i) _ 
            & vbCrLf 
      Next 
   End Sub 
End Class

Abbildung 2.40  Anzeige nach Auswahl eines Elements

Zur Erläuterung:

  • Die Anzahl der Elemente wird über lstSpeisen.Items.Count ausgegeben, in diesem Fall sind es 5.
  • Der ausgewählte Eintrag steht in lstSpeisen.SelectedItem, seine Nummer in lstSpeisen.SelectedIndex.
  • Eine For-Schleife dient zur Ausgabe aller Elemente. Sie läuft von 0 bis lstSpeisen.Items.Count - 1. Dies liegt daran, dass bei einer Liste mit fünf Elementen die Elemente mit 0 bis 4 nummeriert sind.
  • Die einzelnen Elemente werden mit lstSpeisen.Items(i) angesprochen. Die Variable i beinhaltet bei der Schleife die aktuelle laufende Nummer.

Galileo Computing - Zum Seitenanfang

2.7.4 Wechsel der Auswahl  Zur nächsten ÜberschriftZur vorigen Überschrift

SelectedIndexChanged

Ähnlich wie beim Kontrollkästchen oder bei der Optionsschaltfläche ist das wichtigste Ereignis einer ListBox nicht der Click, sondern das Ereignis SelectedIndexChanged. Dieses Ereignis zeigt nicht nur an, dass die ListBox vom Benutzer bedient wurde, sondern auch, dass sie ihren Zustand geändert hat. Dies kann z. B. auch durch Programmcode geschehen. Eine Ereignisprozedur zu SelectedIndexChanged() wird in jedem Fall durchlaufen, sobald die ListBox (vom Benutzer oder vom Programmcode) geändert wurde.

Allerdings wird der Programmablauf meist so gestaltet, dass bei einem anderen Ereignis die aktuelle Auswahl der ListBox abgefragt wird und anschließend je nach Zustand unterschiedlich reagiert wird.

Das nachfolgende Programm p0239 veranschaulicht diesen Zusammenhang:

Abbildung 2.41  Anzeige nach dem Ereignis

Public Class frm0239 
   Private Sub frm0239_Load( ... ) Handles MyBase.Load 
       [ ... wie oben ... ] 
   End Sub 
 
   Private Sub cmdEreignis_Click( ... ) Handles ... 
      lstSpeisen.SelectedIndex = 3 
   End Sub 
 
   Private Sub lstSpeisen_SelectedIndexChanged( ... ) _ 
         Handles ... 
      lblAnzeige.Text = lstSpeisen.SelectedItem 
   End Sub 
End Class

Zur Erläuterung:

  • In der Ereignisprozedur cmdEreignis_Click() wird die Nummer des ausgewählten Elements auf 3 gesetzt. Dadurch wird in der ListBox »Pizza« ausgewählt. Im Label wird die geänderte Auswahl sofort angezeigt, da das Ereignis lstSpeisen_SelectedIndexChanged ausgelöst wurde.
  • In der zugehörigen Ereignisprozedur lstSpeisen_SelectedIndex Changed() wird die Anzeige des ausgewählten Elements ausgelöst. Dieses wird unmittelbar nach der Auswahl angezeigt. Die Auswahl kann durch einen Klick des Benutzers in der Liste oder auch durch Programmcode ausgelöst werden.

Galileo Computing - Zum Seitenanfang

2.7.5 Wichtige Methoden  Zur nächsten ÜberschriftZur vorigen Überschrift

Die Methoden Insert() und RemoveAt() kann man zur Veränderung der Inhalte des Listenfelds nutzen:

    Insert

  • Mithilfe der Methode Insert() kann man Elemente zum Listenfeld an einer gewünschten Stelle hinzufügen.

    RemoveAt

  • Die Methode RemoveAt() löscht ein Element an der gewünschten Stelle.

Im nachfolgenden Programm p0240 werden die beiden Methoden eingesetzt, um ein Listenfeld zu verwalten. Es können Elemente eingefügt, gelöscht und geändert werden. Um sicherzustellen, dass es sich hierbei um sinnvolle Operationen handelt, sind jeweils bestimmte Bedingungen zu beachten.

Abbildung 2.42  Verwaltung eines Listenfelds

Public Class frm0240 
   Private Sub frm0240_Load( ... ) Handles MyBase.Load 
      [ ... wie oben ... ] 
   End Sub 
 
   Private Sub cmdLöschen_Click( ... ) Handles ... 
      If lstSpeisen.SelectedIndex <> -1 Then 
         lstSpeisen.Items.RemoveAt(_ 
            lstSpeisen.SelectedIndex) 
      End If 
   End Sub 
 
   Private Sub cmdEinfügen_Click( ... ) Handles ... 
      If txtNeu.Text = "" Then 
         Exit Sub 
      End If 
      If optAnfang.Checked Then 
         lstSpeisen.Items.Insert(0, txtNeu.Text) 
      ElseIf optAuswahl.Checked And _ 
            lstSpeisen.SelectedIndex <> -1 Then 
         lstSpeisen.Items.Insert(_ 
               lstSpeisen.SelectedIndex, _ 
               txtNeu.Text) 
      Else 
         lstSpeisen.Items.Add(txtNeu.Text) 
      End If 
      txtNeu.Text = "" 
   End Sub 
 
   Private Sub cmdErsetzen_Click( ... ) Handles ... 
      Dim X As Integer 
      If txtErsetzen.Text <> "" And _ 
            lstSpeisen.SelectedIndex <> -1 Then 
         X = lstSpeisen.SelectedIndex 
         lstSpeisen.Items.RemoveAt(X) 
         lstSpeisen.Items.Insert(X, txtErsetzen.Text) 
         txtErsetzen.Text = "" 
      End If 
   End Sub 
 
   Private Sub cmdAllesLöschen_Click( ... ) Handles ... 
      lstSpeisen.Items.Clear() 
   End Sub 
End Class

Zur Erläuterung:

  • In der Prozedur cmdLöschen_Click() wird zunächst untersucht, ob ein Element ausgewählt wurde, ob also der Wert von SelectedIndex ungleich -1 ist. Falls dies der Fall ist, wird dieses Element mit der Methode RemoveAt() gelöscht. Diese benötigt den Wert von SelectedIndex zur Auswahl des zu löschenden Elements. Wurde kein Element ausgewählt, geschieht nichts.
  • In der Prozedur cmdEinfügen_Click() wird zunächst untersucht, ob in der TextBox etwas zum Einfügen steht. Ist dies der Fall, wird untersucht, welcher Einfügeort über die Optionsschaltflächen ausgesucht wurde.
  • Wurde als Einfügeort das Ende der Liste gewählt, so wird der Inhalt der TextBox mit der bekannten Methode Add()am Ende der Liste angefügt.
  • In den beiden anderen Fällen wird die Methode Insert() zum Einfügen des Inhalts der TextBox vor einem vorhandenen Listeneintrag genutzt. Diese Methode benötigt den Index des Elements, vor dem eingefügt werden soll. Dies ist entweder der Wert 0, falls am Anfang der Liste eingefügt werden soll, oder der Wert von SelectedIndex, falls vor dem ausgewählten Element eingefügt werden soll.
  • Anschließend wird die TextBox gelöscht, damit nicht versehentlich zweimal das gleiche Element eingefügt wird.
  • In der Prozedur cmdErsetzen_Click() wird untersucht, ob in der TextBox etwas zum Ersetzen steht und ob ein Element zum Ersetzen ausgewählt wurde. Ist dies der Fall, wird
  • der Wert von SelectedIndex in der Variablen X gespeichert,
  • das zugehörige Element mit der Methode RemoveAt() gelöscht,
  • der neue Text an der gleichen Stelle mit der Methode Insert() eingefügt
  • und die TextBox gelöscht, damit nicht versehentlich zweimal das gleiche Element eingefügt wird.
  • In der Prozedur cmdAllesLöschen_Click() dient die Methode Clear() zum Leeren der ListBox.

Abbildung 2.43  Nach einigen Veränderungen


Galileo Computing - Zum Seitenanfang

2.7.6 Mehrfachauswahl  Zur nächsten ÜberschriftZur vorigen Überschrift

SelectionMode

Man kann dem Benutzer ermöglichen, gleichzeitig mehrere Einträge aus einer Liste auszuwählen, wie er dies auch aus anderen Windows-Programmen kennt. Dazu wird zur Entwicklungszeit die Eigenschaft SelectionMode auf den Wert MultiExtended gesetzt. Der Benutzer kann anschließend mithilfe der -Taste mehrere einzelne Elemente auswählen oder mithilfe der -Taste (wie für Großbuchstaben) einen zusammenhängenden Bereich von Elementen markieren.

Hinweis: Nach dem Einfügen einer neuen ListBox in ein Formular steht die Eigenschaft SelectionMode zunächst auf dem Standardwert One, d. h. es kann nur ein Element ausgewählt werden.

SelectedIndices

Die Eigenschaften SelectedIndices und SelectedItems beinhalten die Nummern bzw. die Einträge der ausgewählten Elemente. Sie ähneln in ihrem Verhalten der Eigenschaft Items. Das nachfolgende Programm p0241 verdeutlicht dies:

Abbildung 2.44  Mehrere ausgewählte Elemente

Public Class frm0241 
   Private Sub frm0241_Load( ... ) Handles MyBase.Load 
      [ ... wie oben ... ] 
   End Sub 
 
   Private Sub cmdAnzeigen_Click( ... ) Handles ... 
      Dim i As Integer 
      lblAnzeige.Text = "" 
      For i = 0 To lstSpeisen.SelectedItems.Count - 1 
         lblAnzeige.Text &= _ 
               lstSpeisen.SelectedItems(i) & vbCrLf 
      Next 
   End Sub 
End Class

Zur Erläuterung:

    SelectedItems(i)

  • In der Prozedur cmdAnzeigen_Click() werden alle ausgewählten Elemente mithilfe einer Schleife durchlaufen. Diese Schleife läuft von 0 bis SelectedItems.Count1. Die ausgewählten Elemente selbst werden über SelectedItems(i) angesprochen.

Galileo Computing - Zum Seitenanfang

2.7.7 Kombinationsfelder  topZur vorigen Überschrift

Das Steuerelement Kombinationsfeld (ComboBox) vereinigt die Merkmale eines Listenfelds mit denen eines Textfelds. Der Benutzer kann einen Eintrag aus dem Listenfeldbereich auswählen oder im Textfeldbereich eingeben. Das Kombinationsfeld hat im Wesentlichen die Eigenschaften und Methoden des Listenfelds.

DropDownStyle

Man kann mithilfe der Eigenschaft DropDownStyle zwischen drei Typen von Kombinationsfeldern wählen:

  • DropDown: Dies ist der Standard – Auswahl aus einer Liste (Aufklappen der Liste mit der Pfeiltaste) oder Eingabe in das Textfeld. Das Kombinationsfeld hat die Größe einer TextBox.
  • DropDownList: Die Auswahl ist begrenzt auf die Einträge der aufklappbaren Liste, also ohne eigene Eingabemöglichkeit. Dieser Typ Kombinationsfeld verhält sich demnach wie ein Listenfeld, ist allerdings so klein wie eine TextBox. Ein Listenfeld könnte zwar auch auf diese Größe verkleinert werden, aber die Scroll-Pfeile sind dann sehr klein.
  • Simple: Die Liste ist immer geöffnet und wird bei Bedarf mit einer Bildlaufleiste versehen. Wie beim Typ DropDown ist die Auswahl aus der Liste oder die Eingabe in das Textfeld möglich. Beim Erstellen eines solchen Kombinationsfelds kann die Höhe wie bei einer ListBox eingestellt werden.

Die Eigenschaft SelectionMode gibt es bei Kombinationsfeldern nicht. Das folgende Programm (p0242) führt alle drei Typen von Kombinationsfeldern vor:

Public Class frm0242 
   Private Sub frm0242_Load( ... ) Handles MyBase.Load 
      cmbWerkzeug1.Items.Add("Zange") 
      cmbWerkzeug1.Items.Add("Hammer") 
      cmbWerkzeug1.Items.Add("Bohrer") 
      cmbWerkzeug1.Items.Add("Schraubendreher") 
      [ ... das Gleiche für Feld 2 und 3 ... ] 
   End Sub 
   Private Sub cmdAnzeigen1_Click( ... ) Handles ... 
      lblAnzeige1.Text = cmbWerkzeug1.Text 
   End Sub 
 
   Private Sub cmdAnzeigen2_Click( ... ) Handles ... 
      lblAnzeige2.Text = cmbWerkzeug2.SelectedItem 
   End Sub 
 
   Private Sub cmdAnzeigen3_Click( ... ) Handles ... 
      lblAnzeige3.Text = cmbWerkzeug3.Text 
   End Sub 
End Class

Abbildung 2.45  Drei verschiedene Kombinationsfelder

Zur Erläuterung:

  • Das erste Kombinationsfeld hat den DropDownStyle DropDown. Hat der Benutzer einen Eintrag auswählt, so erscheint dieser in der TextBox des Kombinationsfelds. Falls er selber einen Eintrag eingibt, wird dieser ebenfalls dort angezeigt. Die Eigenschaft Text enthält den Inhalt dieser TextBox, also immer den »Wert« des Kombinationsfelds.
  • Das zweite Kombinationsfeld hat den DropDownStyle DropDownList. Es gibt also keine TextBox. Wie beim Listenfeld ermittelt man die Auswahl des Benutzers über die Eigenschaft SelectedItem.
  • Das dritte Kombinationsfeld hat den DropDownStyle Simple. Im Programm kann es genauso wie das erste Kombinationsfeld behandelt werden. Die Eigenschaft Text beinhaltet also immer den »Wert« des Kombinationsfelds.

Übung p0243:

Schreiben Sie ein Programm, das zwei Listenfelder beinhaltet, in denen jeweils mehrere Elemente markiert werden können. Zwischen den beiden Listenfeldern befinden sich zwei Buttons, jeweils mit einem Pfeil nach rechts bzw. nach links. Bei Betätigung eines der beiden Buttons sollen die ausgewählten Elemente in Pfeilrichtung aus der einen Liste in die andere Liste verschoben werden.

Bei der Lösung kann neben der Eigenschaft SelectedItems z. B. auch die Eigenschaft SelectedIndices genutzt werden. Eine solche Auflistung beinhaltet dann nicht die ausgewählten Einträge, sondern deren Indizes. Mit dem Löschen mehrerer Einträge aus einem Listenfeld sollte man vom Ende der Liste her beginnen. Der Grund hierfür ist: Löscht man eines der vorderen Elemente zuerst, stimmen die Indizes in der Auflistung SelectedIndices nicht mehr.

Abbildung 2.46  Liste vor dem Verschieben

Abbildung 2.47  Liste nach dem Verschieben



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Einstieg in Visual Basic 2008






Einstieg in Visual Basic 2008
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in Visual C++ 2008






 Einstieg in
 Visual C++ 2008


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: Visual C# - Video-Training






 Visual C# -
 Video-Training


Zum Katalog: Einstieg in PHP 5 und MySQL 5






 Einstieg in PHP 5
 und MySQL 5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de