PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom Variable in for schleife hochzählen



Movie85
15.03.2010, 16:12
Hallo Leute,

ich hab folgendes Problem:

In einer einfachen For schleife möchte ich eine Variable hochzählen. Aber nicht den Wert der Variable sondern den Namen, sozusagen.

Hier einfach ein Code:


Dim Fader1 as Integer
Dim Fader2 as Integer
...
For A = 1 to 10 Step 1
Fader[A] = getadc(0)
Next A

Was ich hier jetzt will: Ich will dass der ADC Wert immer in eine neue Variable eingelesen wird, die fortlaufend nummeriert werden.
Das heißt z.B.
A=1, Fader1 = getadc(0)
A= 2, Fader2 = getadc(0)
etc.

Wie mach ich das?
Das mit den eckigen klammer kenn ich aus ActionScript, scheint aber in Bascom nicht zu funken...

Hat jemand den Befehl für mich?

Liebe Grüße,

Tom

kalletronic
15.03.2010, 16:23
Hi, sieh dir mal in der Bascom Hilfe das Arrey an müsste genau das sein was du suchst.
Z.B.:
Dim fader(10) as byte

peterfido
15.03.2010, 17:36
Eine Kombination aus beidem mit Overlay.


Dim Fader1 as word
Dim Fader2 as word
Dim Fader3 as word
Dim Fader4 as word
Dim Fader5 as word
...

dim oFader(5) as word at fader1 overlay
dim i as byte
for i = 1 to 5
ofader(i)=getadc
next i


Wichtig ist, dass die Fader1-Faderx hinterheinander deklariert werden.

Movie85
15.03.2010, 19:42
Super Tipps! Danke :)

Werde sie mal austesten, an ein array habe ich garnicht gedacht, das ist ja eine echt einfache Lösung(wie immer:D)

Die Andere Idee von Peterfido sieht auch sehr nett aus :)

Werde hier Posten was ich genommen habe

Ach und nochwas:

Kann ich Portweise Bitmuster auch nur teilweise verändern? Wenn ich z.B. an PortD an Pin 1,2 und 3 ein Binäres Signal ausgeben will, ohne "PortD.1 =1, PortD.2 = 1 etc. zu schreiben sondern sowas wie "PortD = &BX111XXXX" und X für den vorherigen Zustand?

Gruß

Tom

Dirk
15.03.2010, 20:46
... sowas wie "PortD = &BX111XXXX" und X für den vorherigen Zustand?
PORTD = PORTD Or &B01110000
... setzt die 3 Bits 4..6 unabhängig von den anderen Bits.

Gruß Dirk