Bascom Siebensegment Codeproblem

OP #3566639
Lesenswert?

Hallo!!

Hab eine Frage!!Vielleicht weiss wer was da los ist.
Bei dem Code im Anhang hab ich das Problem,dass,wenn die Drehzahl unter
1000 U/min angezeigt werden soll,springt die Anzeige ganz nach links.
Also z.B.   " 874_ _ "  U/min   es sollte aber   "  _ _847" U/min 
heissen. Ist die Drehzahl über 1000 U/min dann stimmt es wieder. Dann 
heisst es z.B.    " _1347 U/min "
Wo liegt denn da der Fehler??
Angehängte Dateien:
Gast #3566702
Lesenswert?

Tommy Tomatronic schrieb:
> Wo liegt denn da der Fehler??

1
   Y = Str(freq)
2
   If Z(5) = 0 Then                                         'Führende Nullen eliminieren
3
    Do
4

5
     Z(5) = Z(4)
6
     Z(4) = Z(3)
7
     Z(3) = Z(2)
8
     Z(2) = Z(1)
9
     Z(1) = 0
10
    Loop Until Z(5) > 0
11
   End If

Hier möglicherweise. Ein String wird in Bascom mit einem zusätzlichen 
Nullbyte am Ende im Speicher abgelegt. Eine dreistellige Frequenz hat in 
Y an der vierten Stelle ein Nullbyte. Im Overlay Z fragst du aber die 
fünfte Stelle ab. Es ist nicht definiert/unbekannt, was da steht und 
deshalb werden wahrscheinlich die Ziffern nicht gerade gerückt. Bei 
vierstelliger Drehzahl steht an fünfter Stelle die Null und es klappt... 
???

Vor "Y = Str(freq)" mal Z(1) bis Z(5) mit Nullen beschreiben und 
schaun...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren