PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Alias als Array



Furtion
05.07.2008, 21:24
Hi,

gibt es eine Möglichkeit ein Alias in verbindung mit einem Array zu benutzen,
sodass man in einer For...Next Schleife verschiedene Ports nach der Reihe
anwählen kann.

Dim Rot(9) As Byte
Dim Gruen(9) As Byte
Dim Blau(9) As Byte

Rot(1) Alias Porta.0
Gruen(1) Alias Porta.1
Blau(1) Alias Porta.2

Rot(1) = 1

Dies funktioniert, benutzt man aber ein

I = 1
Rot(i) = 1

Funkioniert es nicht

gibt es da alternativen oder mache in nur wieder irgendwas falsch?

BlackDevil
06.07.2008, 10:40
I = 1
Rot(i) = 1
Ist ja auch falsch geschrieben :p müsste wenn i=1; Rot[i]=1 (in C(++)) sein - das i muss i sein un nich I

Würde mich aber auch Interessieren ob ich Ports in Arrays packen kann und dann per For schleife ansprechen kann

Furtion
06.07.2008, 10:57
Hi,

[] gibt es in Bascom nicht (zumindes habe ich sie noch nicht benutzt). Mache
ich das so, wie du es vorgeschlagen hast, gibt mir Bascom einen fehler.
Steht I alleine, als Zuweisung also I = 0 wird I immer großgeschrieben.

BlackDevil
06.07.2008, 11:34
Okay .. .weil c++ würde mir bei
I=1
Rot(i)=1

Einen Fehler ausgeben das i benutzt wird, aber nie Deklariert wurde :)

PicNick
06.07.2008, 14:54
Jetzt habt euch wieder mit dem "i". Bascom ist NICHT case-sensitiv
(type "help" for help)

"Alias" ist ein string-replacement und kein C(plusplus)-Makro

d.h. mit indizíeren wird das so nix

BlackDevil
06.07.2008, 17:38
kan man generell die ports (in c(++)) so hochzähleN? Also in einer Schleife mit PortA.i ?

PicNick
06.07.2008, 17:43
Also, die PINS schon, z.B von PortD einzeln die Pins abfragen:


DIM Pnr as byte
for pnr = 0 to 7
if Portd.Pnr = 1 then
print "1";
else
print "0";
endif
print
next