www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrdemensionales Array in Bascom


Autor: Mats Marcus (elektrofreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich bekomme leider kein mehremensionales Array in Bascom hin.

Eindemensional:

dim a(10) as integer

aber mehrdemensional geht nicht:

dim a (10, 10, 10, 10) as integer 'AS Expected


Die Hilfe kennt auch nur "eindimensionale" Arrays..... :-(

Autor: dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du willst doch mit dem mehrdim. Array das display prob. lösen?

Ändere das Problem auf ein eindimensionales Array!

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wo ist da das Problem?
Gehen wir von deinem anderen Thread aus, benötigst du bei einer 
Menutiefe von 5x5 5^5=3125 Einträge im Array.
Für die Indizierung musst du dann halt etwas rechnen...

Autor: Mats Marcus (elektrofreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wie mache ich das wenn ich für jeden Menüpunkt eine eigene Ausgabe 
hinterlegen will?

etwa so:
Beispiel an 3 Untermenüs mit max. 3.3.3

dim array (14 to 40) as string * 16

ausgabe = array(menue(1) + menue(2)*3 + menue(3)*9)

weil so hat jedes menü genau 1 array...


Edit: und das dan auf 5^5 erweitern

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mats Marcus wrote:
> und wie mache ich das wenn ich für jeden Menüpunkt eine eigene Ausgabe
> hinterlegen will?

Dann legst Du die Texte in den Flash (in ASM mit .db, in BASIC 
vermutlich mit DATA) und berechnest den Pointer anhand der 
Menüpunktnummer (Index auf nicht vorhandenes Array).

> etwa so:
> Beispiel an 3 Untermenüs mit max. 3.3.3
>
> dim array (14 to 40) as string * 16
>
> ausgabe = array(menue(1) + menue(2)*3 + menue(3)*9)
>
> weil so hat jedes menü genau 1 array...

Das ist Verschwendung.

>
>
> Edit: und das dan auf 5^5 erweitern

Also 25 Menüpunkte...
Kein Problem. Braucht ein Byte für den Menüpunkt, die Variablen für die 
per Menü veränderbaren Parameter und etwas Flash für die Texte. In ASM 
hilft mir dabei eine eigene kleine Routine, die indizierte Texte 
ausgeben kann.

...

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Also 25 Menüpunkte...

5^5 = 5*5*5*5*5 = 3125...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rahul:
Viele BASCOM-Programmierer nutzen BASCOM, weil sie auf dem PC (vor 
einigen Jahren hätte ich Commodore und Atari genannt) mit BASIC hantiert 
haben und es als recht easy empfunden haben. Sie sind es daher nicht 
gewöhnt, auf die Ressourcen zu achten, denn Computer sind im Gegensatz 
zu kleinen Controllern stark überdimensioniert, da spielt das 
Verschwenden von Ressourcen keine Rolle. Also immer schön aus dem Vollen 
schöpfen und dann rummaulen, wenn es so nicht geht...

;-)

...

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Also immer schön aus dem Vollen
>schöpfen und dann rummaulen, wenn es so nicht geht...

Bascom kommt aus Redmond, Washington, USA?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rahul, der Trollige wrote:

> Bascom kommt aus Redmond, Washington, USA?

Weiß ich nicht, weiß nur, dass es nicht wieder auf meinen Rechner kommt.

;-)

...

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es häuft sich

http://www.bascomforum.net?
Nein - hier!
http://avrhelp.mcselec.com/bascom-avr.html
http://mcselec.com/index.php?option=com_content&ta...
http://mcselec.com/index2.php?option=com_forum&Ite...

Oder wir machen 'ne eigene Rubrik auf

http://www.mikrocontroller.net/forum/13 ist schon belegt
ab der 15 ist noch was frei ;-))

auweia duckundwech

AxelR.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.