Das sollte grob das gleiche machen wie dein Prog:
Code:
Dim U1_mes As Single
Dim Balken_laenge As Byte , I As Byte
Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31
Deflcdchar 1 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 32
Do
For U1_mes = 12.22 To 12.23 Step 0.01
Gosub Balken
Next U1_mes
Loop
Balken:
Select Case U1_mes
Case 12.69 To 14.00 : Balken_laenge = 10
Case 12.64 To 12.68 : Balken_laenge = 9
Case 12.58 To 12.63 : Balken_laenge = 8
Case 12.46 To 12.57 : Balken_laenge = 7
Case 12.38 To 12.45 : Balken_laenge = 6
Case 12.34 To 12.37 : Balken_laenge = 5
Case 12.28 To 12.33 : Balken_laenge = 4
Case 12.23 To 12.27 : Balken_laenge = 3
Case 12.17 To 12.22 : Balken_laenge = 2
Case 11.9 To 12.16 : Balken_laenge = 1
Case 10.5 To 11.8 : Balken_laenge = 0
Case Is < 10.5 : Balken_laenge = 0
End Select
If U1_mes >= 14.1 Then
Gosub Balken_ladung 'Ladung
Else
Gosub Balken_zeichnen
End If
Return
Balken_zeichnen:
For I = 1 To 10
Locate 3 , I
If I <= Balken_laenge Then
Lcd Chr(0) 'zeichnet ein Kästchen
Else
Lcd Chr(1) 'zeichnet einen Strich
End If
Next I
Waitms 50
Return
Balken_ladung:
Return
Einige Werte sind in deinen Abfragen nicht enthalten, wie z.B. 12.43 - 12.45.
Musst du mal sehen, ob das richtig ist.
Gruß
Rolf
Lesezeichen