08-25-2023, 11:19 PM
(This post was last modified: 08-25-2023, 11:28 PM by Kernelpanic.)
It's amazing what one can all do in this case. That's fun! - And everything goes back to a For loop.
Calling a Sub procedure and/or an EXE file.
PS: Damn, if one enter "n" it doesn't work. I'll take a look tomorrow.
The called EXE file:
Calling a Sub procedure and/or an EXE file.
PS: Damn, if one enter "n" it doesn't work. I'll take a look tomorrow.
Code: (Select All)
'Aus einer While-Schleife eine Sub-Prozedur aufrufen - 25. Aug. 2023
$Console:Only
Option _Explicit
Declare Sub Berechnen(eingabe As Integer)
Dim As Integer i, eingabe, modBedingung
Dim As String antwort
Print
Print "While-Schleife wird bis zur Eingabe durchlaufen, wobei"
Print "bei Mod 7 = 0 jedesmal eine Ausgabe erfolgt."
Print
Input "Eingabe : ", eingabe
Input "Modangabe: ", modBedingung
Print: Print
'While-Schleife wird bis zur Eingabe durchlaufen, wobei
'bei Mod 7 = 0 jedesmal eine Ausgabe erfolgt
'Ergaenst um Aufruf eines externen Programms, wenn Bedingung erfuellt
i = 1
While i < eingabe
i = i + 1
If i Mod modBedingung = 0 Then
Berechnen (i)
ElseIf i Mod 23 = 0 Then
Do
Print
Input "Weiter J/N: ", antwort
Loop Until UCase$(antwort$) = "J"
Run "D:\Lab\QuickBasic64\Finanz+Mathe\Geometrie\Rechtwinkliges-Dreieck-Hypo.exe"
End If
Wend
End 'Hauptprogramm
Sub Berechnen (eingabe As Integer)
eingabe = eingabe * 3
Print Using "Ergebnis = ###"; eingabe
End Sub
The called EXE file:
Code: (Select All)
'Berechnungen am rechtwinkligen Dreieck - 5. August 2023
'https://qb64phoenix.com/qb64wiki/index.php/HYPOT
Option _Explicit
Dim As Double ankathede, gegenkathede, hypotenuse
Dim As Double hoehe_c, flaecheninhalt, umfang
Locate 2, 3
Input "Laenge der Ankathede(cm) : ", ankathede
Locate 3, 3
Input "Laenge der Gegenkathede(cm): ", gegenkathede
hypotenuse = _Hypot(ankathede, gegenkathede)
Locate 5, 3
Print Using "Die laenge der Hypotenuse im Dreiceck betraegt: ###.## cm"; hypotenuse
'Hoehe hc und Flaecheninhalt im rechtwinkligen Dreieck
hoehe_c = ((ankathede * gegenkathede) / hypotenuse)
flaecheninhalt = ((hypotenuse * hoehe_c) / 2)
umfang = ankathede + gegenkathede + hypotenuse
Locate 7, 3
Print Using "Der Umfang dieses Dreiecks betraegt : ###.## cm"; umfang
Locate 8, 3
Print Using "Der Flaecheninhalt dieses Dreiecks betraegt : ###.## qcm"; flaecheninhalt
End