Vom Wald sieht' man nix, überall stehen Bäume rum !
Also, sagen wir mal: (ich weiß nicht, ob das jetzt mit deinen Pins so stimmt)
Code:
1. MID is nicht so gut, weil da ja wieder ein string rauskommt. Besser is:
dim Instring as string * 4
dim onechar(4) as byte at Instring overlay
2. Isses so ?
PORTD --> Segmente
PORTB.0 --> Einer ' ?
PORTB.1 --> zehner
PORTB.2 --> hundert
PORTB.3 --> tausend
3. Geht aber besser mit Maske als über Pin-Nummer
dim charmsk as byte
4. Arbeiten geht besser von tausend-->einer (dadurch kannst du später mal auch führende Nullen unterdrücken)
dim charidx as byte ' von 1 - 4
5. Hilfsbyte
dim E as byte ' das aktuelle Zeichen
Auf geht's:
'-----------------------------------------------------------------
Instring = "3465"
charmsk = 8 '(= pin.3)
for charidx = 1 to 4
PORTD = charmsk ' kathode aufdrehen
E = onechar(charidx) ' ~ mid(instring, chardx, 1)
E = E AND &H0F ' Reduzieren auf 0-9
on e gosub 0,1,2,....... ' kennst du schon
shift charmsk, right, 1 ' nächste Kathode
next
Lesezeichen