-         

Ergebnis 1 bis 7 von 7

Thema: Alias als Array

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.05.2005
    Alter
    26
    Beiträge
    601

    Alias als Array

    Anzeige

    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?
    Grüße Furtion

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    I = 1
    Rot(i) = 1
    Ist ja auch falsch geschrieben 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

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.05.2005
    Alter
    26
    Beiträge
    601
    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.
    Grüße Furtion

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    Okay .. .weil c++ würde mir bei
    I=1
    Rot(i)=1

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

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    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
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    kan man generell die ports (in c(++)) so hochzähleN? Also in einer Schleife mit PortA.i ?

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Also, die PINS schon, z.B von PortD einzeln die Pins abfragen:
    Code:
    DIM Pnr as byte
         for pnr = 0 to 7
                if Portd.Pnr = 1 then 
                       print "1";
                else
                       print "0";
                 endif
                 print
         next
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •