| MDI-Formular, Static, Ergebnis als Protokoll |
| |
| |
| Nicht vergessen: Das MDI-Formular als Startformular zuweisen! (Kontextmenü: Formulare: Eigenschaften von Projekt...) |
| |
| Const WahrscheinlichkeitGut = 0.85 | Konstante für "Gute Glühbirnen" = 85 %. |
| Dim zufall As Single, prozG As Single, prozS As Single | |
| |
| Private Sub cmdZufallstest_Click() | Start des Programms mit "Test"-Button (oberes Formular). |
| Static klicks%, AnzahlGut%, AnzahlSchlecht% | Statische Variablen setzen. |
| Randomize | Zufallszahlengenerator initialisieren. |
| zufall = Rnd | Erzeugt eine Zufallszahl im Bereich 0 bis 0.999999. |
| Ist die Quote < als 85 %, ist die Lampe gut, ansonsten |
| If zufall < WahrscheinlichkeitGut Then | schlecht. |
| imgLampe.Picture = imgLampeEin.Picture | Picture "Gute Birne" brennt. |
| lblLampenZustand.Caption = "Birne ist ok" | |
| AnzahlGut = AnzahlGut + 1 | Zähler für "Gute Birnen" hochzählen. |
| Else | |
| imgLampe.Picture = imgLampeAus.Picture | Dasselbe Spiel für defekte Birnen... |
| lblLampenZustand.Caption = "Birne ist kaputt" | |
| AnzahlSchlecht = AnzahlSchlecht + 1 | |
| End If | |
| |
| If AnzahlGut = 1 And AnzahlSchlecht = 0 Then | Fehler abfangen beim Programmstart, da eins von den |
| frmSerie2.lblAnzahlGut.Caption = AnzahlGut | Ergebnisfeldern ja am Anfang leer ist... |
| frmSerie2.lblGutProz.Caption = "100 %" | |
| ElseIf AnzahlSchlecht = 1 And AnzahlGut = 0 Then | |
| frmSerie2.lblAnzahlSchlecht.Caption = AnzahlSchlecht | |
| frmSerie2.lblSchlechtProz.Caption = "100 %" | |
| End If | |
| |
| If AnzahlGut > 0 Or AnzahlSchlecht > 0 Then _ | Summe für die Anzahl der Test-Klicks bilden. |
| klicks = AnzahlGut + AnzahlSchlecht | |
| frmSerie1.txtAnzahlLäufe.Text = klicks | Die Anzahl-Felder der Formulare (mitte und unten) |
| frmSerie2.txtAnzahlLäufe.Text = klicks | erhalten die Klick-Menge. |
| prozS = (AnzahlSchlecht / (klicks / 100)) * 100 | Prozent-Anteile berechnen. |
| prozG = (AnzahlGut / (klicks / 100)) * 100 | |
| frmSerie2.lblAnzahlGut.Caption = AnzahlGut | Die Labels der Formulare (mitte und unten) erhalten |
| frmSerie2.lblAnzahlSchlecht.Caption = AnzahlSchlecht | die Gut-Schlecht-Menge. |
| frmSerie2.lblGutProz.Caption = Format(prozG _ | Die Labels der Formulare (mitte und unten) erhalten die |
| & " %", "0.00") | prozentuale Menge. |
| frmSerie2.lblSchlechtProz.Caption = Format(prozS _ | |
| & " %", "0.00") | |
| klicks = klicks + 1 | Zähler ganz zum Schluss hochzählen, da sonst falsch |
| dividiert wird. |
| End Sub | |
| |
| Option Explicit | Quelltext für das zweite Formular (das dritte Formular |
| Const WahrscheinlichkeitGut = 0.85 | enthält KEINEN Code). |
| Dim prozG As Single, prozS As Single, zufall As Single | |
| Dim AnzahlDurchläufe%, n%, AnzahlGut%, AnzahlSchlecht% | |
| |
| Private Sub cmdZufallstest_Click() | |
| Randomize | Zufallszahlengenerator initialisieren. |
| AnzahlGut = 0 | Gut und Böse auf Null setzen (hier wird kein Static- |
| AnzahlSchlecht = 0 | Befehl eingesetzt). |
| |
| AnzahlDurchläufe = txtAnzahlLäufe.Text | Variable zuweisen. |
| |
| For n = 1 To AnzahlDurchläufe | Schleife durchlaufen. |
| zufall = Rnd | Erzeugt eine Zufallszahl im Bereich 0 bis 0.999999. |
| If zufall < WahrscheinlichkeitGut Then | Ist die Quote < als 85 %, ist die Lampe gut, ansonsten schlecht. |
| AnzahlGut = AnzahlGut + 1 | Zähler hochzählen. |
| Else | |
| AnzahlSchlecht = AnzahlSchlecht + 1 | |
| End If | |
| Next | |
| Summe für die Anzahl der Durchläufe bilden: |
| If AnzahlGut > 0 Or AnzahlSchlecht > 0 Then AnzahlDurchläufe = AnzahlGut + AnzahlSchlecht |
| | |
| prozG = (AnzahlGut / (AnzahlDurchläufe / 100)) * 100 | Prozent-Anteile berechnen. |
| prozS = (AnzahlSchlecht / (AnzahlDurchläufe / 100)) * 100 | |
| lblAnzahlGut.Caption = AnzahlGut | Die Label erhalten die Anzahl der Durchläufe... |
| lblAnzahlSchlecht.Caption = AnzahlSchlecht | |
| lblGutProz.Caption = Format(prozG & " %", "0.00") | Die Label erhalten die prozentualen Anteile... |
| lblSchlechtProz.Caption = Format(prozS & " %", "0.00") | |
| End Sub | |
| |
| Private Sub txtAnzahlLäufe_Click() | Hier werden nur die Textfelder gelöscht. |
| frmSerie1.txtAnzahlLäufe.Text = "" | |
| End Sub | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Private Sub MDIForm_Load() | Quellcode für das MDI-Formular. |
| Me.BackColor = RGB(240, 240, 240) | |
| frmSerie2.Show | |
| frmSerie2.Left = 250 | |
| frmSerie2.Top = 5000 | |
| frmSerie1.Show | |
| frmSerie1.Left = 250 | |
| frmSerie1.Top = 2600 | |
| frmEinzel.Show | |
| frmEinzel.Left = 250 | |
| frmEinzel.Top = 250 | |
| End Sub | |
| |