Hallo zusammen,
ich besuche jetzt seit September letzten Jahres die BOS Technik.
Als Klassenprojekt sollten wir einen Taschenrechner in VBA programmieren mit verschiedensten Funktionen der auch bewertet werden sollte.
Das Problem allerdings ist, das wir kein einzigen Fachmann in der Klasse haben und dass wir bis zur Fachabi Prüfung bzw. Notenschluss nur knappe 43 Wochen Zeit hatten und in diesen 43 Wochen nur einmal pro Woche 45 Minuten Programmierunterrricht hatten bis Weihnachten. Ab Weihnachten hatten wir alle 2 Wochen Programmierunterricht, da sich eine Lehrerin in einem Autounfall schwer verletzt hatte und mit Abzug der Ferien sind es wsl. 30 Wochen wo wir Programmierunterricht hattten. Dadurch sind natürlich die Grundlagen sehr sehr mau. Ich hab mir jetzt für meinen Teilbereich (AND und OR Rechner) einen Code mit großer Mühe erarbeitet. Nun wäre ich sehr dankbar, wenn jemand von euch den Code kurz anschauen kann, vielleicht ein Feedback geben kann oder mir jemand ein bisschen Hilfe geben kann, wie man den Code eleganter schreiben kann (hab z.Z noch 3 Textboxen in diesem Programm, bzw. wie ich das auch im dezimal und hexadezimal Zahlensystem lösen kann). Ich bedanke mich schonmal im vorraus.
Florian Bauer
Der Code:
Private Sub AND1_Click()
Dim OP1 As String
Dim OP2 As String
Dim Flag As Boolean
Dim X As String
Dim strErg As String
Flag = False
OP1 = TextBox1.Text
OP2 = TextBox2.Text
'Strings auf gleiche Länge
If Len(OP1) < Len(OP2) Then
For i = 1 To Len(OP2) - Len(OP1)
OP1 = "0" + OP1
Next i
Else
For i = 1 To Len(OP1) - Len(OP2)
OP2 = "0" + OP2
Next i
End If
TextBox1.Text = OP1
TextBox2.Text = OP2
For i = 1 To Len(OP1)
If Int(Mid(OP1, i, 1)) + Int(Mid(OP2, i, 1)) = 2 Then
strEng = strEng + "1"
Else
strEng = strEng + "0"
End If
Next i
TextBox3.Text = strEng
End Sub
Private Sub OR2_Click()
Dim OP1 As String
Dim OP2 As String
Dim Flag As Boolean
Dim X As String
Dim strErg As String
Flag = False
OP1 = TextBox1.Text
OP2 = TextBox2.Text
'Stings auf gleiche Länge
If Len(OP1) < Len(OP2) Then
For i = 1 To Len(OP2) - Len(OP1)
OP1 = "0" + OP1
Next i
Else
For i = 1 To Len(OP1) - Len(OP2)
OP2 = "0" + OP2
Next i
End If
TextBox1.Text = OP1
TextBox2.Text = OP2
For i = 1 To Len(OP1)
If Int(Mid(OP1, i, 1)) + Int(Mid(OP2, i, 1)) = 1 Or Int(Mid(OP1, i, 1)) + Int(Mid(OP2, i, 1)) = 2 Then
strErg = strErg + "1"
Else
strErg = strErg + "0"
End If
Next i
TextBox3.Text = strErg
End Sub
|