Basis_Prog1

Dieses Programm ist zum Einrichten eines Grundprogrammes mit den Standard-Werkzeugen 
(zwei Label, zwei TextBoxen, vier Command-Button). Alle behalten ihre von VB vergebenen Standardnamen, so daß nach Integration der genannten Elemente (ohne jegliche Änderung) direkt Lauffähigkeit vorliegt. Als Beispiel wird die Berechnung einer Kreisfläche gewählt.

ProgrammCode beginnt nach dieser Zeile! Ab hier markieren und kopieren und dann in VB-Projekt eingeben.

Dim R!, A!  'Deklaration von Radius und Fläche als Single
Const PI = 3.141593

Private Sub Form_Load() 'Load-Prozedur
  Dim Diff As Integer                     'Zur Pos. der Commands
  Show  'zeigt Form an
  Command1.Caption = "&Rechne"  'RechneButton mit Zugriff über Alt + R
  Command2.Caption = "&Neu" 'NeuButton mit Zugriff über Alt + N
  Command3.Caption = "Info"  'InfoButton
  Command4.Caption = "&Ende"  'EndeButton mit Zugriff über Alt + E
  Command3.Cancel = True
  Form1.Caption = "Überschrift in der Load zuweisen!"
  Label1.Caption = " Durchmesser D in mm "
  Label2.Caption = " Fläche A in mm²"
  Label1.AutoSize = True
  Label2.Width = Label1.Width
  Label2.Height = Label1.Height
  Label1.BackColor = QBColor(8)
  Label2.BackColor = QBColor(8)
  Label1.ForeColor = QBColor(15)
  Label2.ForeColor = QBColor(15)
  Command1.ToolTipText = "Ruft Rechne-Prozedur auf"
  Command2.ToolTipText = "Bereitet neue Rechnung vor"
  Command3.ToolTipText = "Info ein mit MouseDown"
  Command4.ToolTipText = "Programm beenden; auch mit Esc möglich"
  Text1.Text = "" 'Überschreiben des Boxeninhalts
  Text2.Text = "" 'Überschreiben des Boxeninhalts
  Text1.Height = 285
  Text2.Height = Text1.Height
  Label1.Height = Text1.Height
  Label2.Height = Text1.Height
  Text1.ToolTipText = "EingabeBox"
  Text2.Enabled = False
  Text2.TabStop = False
  Text1.SetFocus  'Fokus an Text1 übergeben
  'Form zentrieren auf Bildschirm
  Form1.Left = (Screen.Width - Form1.Width) \ 2
  Form1.Top = (Screen.Height - Form1.Height) \ 2
  
  Label1.Top = Text1.Top '+ Text1.Height - Label1.Height
  Label2.Top = Text2.Top '+ Text2.Height - Label2.Height

  
  Command1.Width = (Form1.Width - 780) / 4
  Command2.Width = Command1.Width
  Command3.Width = Command1.Width
  Command4.Width = Command1.Width
 
  Diff = (Form1.Width - 4 * Command1.Width) \ 5
  'Diff = 10
  Command1.Left = Diff
  Command2.Left = Command1.Width + 2 * (Diff - 20)
  Command3.Left = 2 * Command1.Width + 3 * (Diff - 20)
  Command4.Left = 3 * Command1.Width + 4 * (Diff - 20)
  'Print Diff, Form1.Width
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)   'Sieb
  Select Case KeyAscii
  Case 44
    KeyAscii = 46 'Komma wird Punkt
  Case 8, 46, 48 To 57
    'Rücktaste, Punkt, Zahlen von 0 bis 9 (Case bleibt leer)
  Case 13 'Return-Taste
    Call Command1_Click 'Aufruf der Rechne-Prozedur
 ' Case 27 'Esc-Taste zum Beenden (im Prog mit Cancel true für Command3)
 '   End
  Case Else
    KeyAscii = 0  'alle anderen Tasten unterdrücken
End Select
End Sub

Private Sub Command1_Click()  'Rechen-Prozedur
  'Dim R!, A!  'Deklaration von Radius und Fläche als Single
  'Const PI = 3.141593
  If Text1.Text = "" Then
    MsgBox "Durchmesser eingeben!", 48, "Hinweis"
    Text1.SetFocus
    Exit Sub
  End If
  D = Val(Text1.Text) 'Eingabe >>Durchmesser
  A = D ^ 2 * PI / 4  'Verarbeitung >>Fläche A
  Text2.Text = Str$(A)  'Ausgabe >>Ergebnis in Text2
  Command2.SetFocus 'Fokus an Command2 übergeben
End Sub

Private Sub Command2_Click()  'Neu
  Text1.Text = "" 'Leerstring ohne Lücke bewirkt
  Text2.Text = "" 'Überschreiben des Boxeninhalts
  Text1.SetFocus  'Fokus an Text1 übergeben
End Sub

Private Sub Command4_Click()  'Ende
  End 'Beendet Programm
End Sub

Private Sub Command3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Info$ = "Das Zentrieren der Form auf dem Bildschirm ist nur über ProgrammCode" & Chr$(13)
  Info$ = Info$ & "möglich. Die StartUpPosition der Form ist schreibgeschützt und kann " & Chr$(13)
  Info$ = Info$ & "daher nur zur Entwurfszeit gesetzt werden. MaxButton ebenso! " & Chr$(13)
  Info$ = Info$ & "Die 2 letzten Zeilen in der Load bewirken das Formzentrieren, s. dort."
  Print Info$
End Sub

Private Sub Command3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Cls
  Text1.Text = "": Text2.Text = ""
  Text1.SetFocus
End Sub
