Ohmsches Gesetz

Aufgabe:
Erstellung eines Programms zur Berechnung des Ohmschen Gesetzes

Eingaben:
R, U, I  (daraus 2)

Ausgaben:
R, U, I (die fehlende Größe)

Berechnung:
R = U / I , I = U / R , U = I * R

Steuerelemente:
Textboxen:
txtohm
txtvolt
txtampere
 
Label:
lblohm
lblampere
lblvolt
 
Command-Button

Variablen:
dblu as double
dbli as double
dblr as double

 

Oberfläche:

 

Quellcode:

'Name: C.Klisch
'Klasse: ITA2B
'Zweck: Berechnung mittels ohmschen Gesetz
'Datum: 28.08.01 - ??.10.01


Option Explicit

Dim dblU As Variant
Dim dblI As Variant
Dim dblR As Variant

Dim dblumrechnungsfaktora As Variant
Dim dblumrechnungsfaktoro As Variant
Dim dblumrechnungsfaktorv As Variant

Dim dbllistindexa As Variant
Dim dbllistindexo As Variant
Dim dbllistindexv As Variant

Dim fehler As Integer
Dim fehlerzähler As Integer




Private Sub beenden_Click()
'######Menüpunkt Datei-Ende
End
End Sub

Private Sub berechnen_Click()
fehler = 1
fehl.Visible = False

'####### Berechnungsfaktor festlegen
dbllistindexa = cmbfaktorampere.ListIndex
dbllistindexv = cmbfaktorvolt.ListIndex
dbllistindexo = cmbfaktorohm.ListIndex

dblumrechnungsfaktora = 10 ^ (9 - (3 * dbllistindexa))
dblumrechnungsfaktorv = 10 ^ (9 - (3 * dbllistindexv))
dblumrechnungsfaktoro = 10 ^ (9 - (3 * dbllistindexo))

'####### VOLT
If txtVolt.Text = "" And IsNumeric(txtAmpere.Text) And IsNumeric(txtOhm.Text) Then
dblI = txtAmpere.Text
dblI = dblI * dblumrechnungsfaktora
dblR = txtOhm.Text
dblR = dblR * dblumrechnungsfaktoro
txtVolt.Text = dblI * dblR
dblU = txtVolt.Text

fehler = 0

'####### AMPERE
ElseIf IsNumeric(txtVolt.Text) And txtAmpere.Text = "" And IsNumeric(txtOhm.Text) Then
dblU = txtVolt.Text
dblU = dblU * dblumrechnungsfaktorv
dblR = txtOhm.Text
dblR = dblR * dblumrechnungsfaktoro
txtAmpere.Text = dblU / dblR
dblI = txtAmpere.Text

fehler = 0

'##### OHM
ElseIf IsNumeric(txtVolt.Text) And IsNumeric(txtAmpere.Text) And txtOhm.Text = "" Then
dblU = txtVolt.Text
dblU = dblU * dblumrechnungsfaktorv
dblI = txtAmpere.Text
dblI = dblI * dblumrechnungsfaktora
txtOhm.Text = dblU / dblI
dblR = txtOhm.Text

fehler = 0
End If


'print (Int(((Log(###) / Log(10)) - 9) / (-3))) + 1

'### Wenn keine Fehler, dann

If fehler = 0 Then
'### Ergebnisse / Zahlen in geeignete Größe umwandeln

cmbfaktorampere.ListIndex = (Int(((Log((dblI)) / Log(10)) - 9) / (-3))) + 1
txtAmpere.Text = dblI / (10 ^ (9 - (3 * cmbfaktorampere.ListIndex)))

cmbfaktorvolt.ListIndex = (Int(((Log((dblU)) / Log(10)) - 9) / (-3))) + 1
txtVolt.Text = dblU / (10 ^ (9 - (3 * cmbfaktorvolt.ListIndex)))

cmbfaktorohm.ListIndex = (Int(((Log((dblR)) / Log(10)) - 9) / (-3))) + 1
txtOhm.Text = dblR / (10 ^ (9 - (3 * cmbfaktorohm.ListIndex)))

End If



If fehler = 1 Then
fehl.Visible = True
End If

End Sub



Private Sub ende_Click()
End
End Sub



'#######Hinzufügen der VorAuswahlen in der Combobox (bes. in Eigenschaften)
Private Sub Form_Load()

cmbfaktorohm.Text = "Ohm"
cmbfaktorvolt.Text = "Volt"
cmbfaktorampere.Text = "Ampere"

End Sub



Private Sub hilfe_Click(Index As Integer)
If timerfehler.Enabled = True Then
timerfehler.Enabled = False
berechnen.Enabled = True
Else
timerfehler.Enabled = True
End If
End Sub


Private Sub lblwww_Click()
'## URL im Browser starten
URLGoTo Me.hWnd, wwwadresse.Caption
End Sub




Private Sub loesch_Click(Index As Integer)

'#####Löschen aller Felder
txtOhm.Text = ""
txtAmpere.Text = ""
txtVolt.Text = ""
cmbfaktorampere.Text = "Ampere"
cmbfaktorvolt.Text = "Volt"
cmbfaktorohm.Text = "Ohm"
fehl.Visible = False

End Sub



Private Sub loeschen_Click()
'#####Löschen aller Felder
txtOhm.Text = ""
txtAmpere.Text = ""
txtVolt.Text = ""
cmbfaktorampere.Text = "Ampere"
cmbfaktorvolt.Text = "Volt"
cmbfaktorohm.Text = "Ohm"
fehl.Visible = False
End Sub



Private Sub blinker_Timer()
If fehl.ForeColor = &H80000012 Then
fehl.ForeColor = &HFF&
Else
fehl.ForeColor = &H80000012
End If

If
berechnen.Caption = "Berechnen" Then
berechnen.Caption = "Hier klicken"
Else
berechnen.Caption = "Berechnen"
End If
End Sub



Private Sub timerfehler_Timer()
'#### Zählen der ausgefüllten Felder
fehlerzähler = 0
If IsNumeric(txtVolt.Text) And txtVolt.Text <> "" Then fehlerzähler = fehlerzähler + 1
If IsNumeric(txtAmpere.Text) And txtAmpere.Text <> "" Then fehlerzähler = fehlerzähler + 1
If IsNumeric(txtOhm.Text) And txtOhm.Text <> "" Then fehlerzähler = fehlerzähler + 1

If fehlerzähler = 2 Then
berechnen.Enabled = True
blinker.Enabled = True
Else
berechnen.Enabled = False
blinker.Enabled = False
End If

End Sub



Zu kompliziert??
  Dann Download als Projekt (5 KB)

  

Home << Schule << ITA-Mappe << Programmiertechnik Übersicht <<
Online: 1 | IP: | 19.11.2017 - 15:28:19  
©
Christian Klisch   - Alle Rechte vorbehalten - Impressum