PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Struct-Pedant aus C in Bascom?



Jaecko
14.05.2008, 14:59
Moin.

Gibts in Bascom zufällig etwas wie die structs in C? In VB6 gibts ja z.B. die ähnliche Möglichkeit der Klassen.

Also lässt sich was wie


struct datum
{
int tag;
char monat[10];
int jahr;
};

in Bascom verwirklichen?

PicNick
14.05.2008, 17:09
So 1:1 wüßt ich nicht. Man kann aber durch workaround sowas ähnliches basteln.

Die beste Lösung hängt davon ab, wofür du die struktur brauchst.
a) Willst du nur mehrere Felder als Ganzes ansprechen ---> overlay
b) Mehrere Instanzen / Pseudo malloc ---> tabelle

https://www.roboternetz.de/wissen/index.php/Bascom_Speicherstrukturen

Jaecko
15.05.2008, 09:23
Primärer Hintergedanke war, eine Variable mit diesem Struct-Typ anzulegen und Inhalte von Variablen gleichen Typs zu kopieren.

DIM Geburstag AS Datum
DIM Wohnort AS Adresse
DIM Arbeitsplatz AS Adresse
Arbeitsplatz = Wohnort

2. Gedanke war die Zuweisung einzelner Elemente:
Wohnort.PLZ = 12345 etc..

Teilweise gehts mit Overlay.
Naja mal schauen, was sich noch so findet. Evtl wärs ja was für ne neue Bascom-Version. Kommt halt drauf an, wie oft man sowas braucht.
Von Zeit zu Zeit wärs schon nicht schlecht.

PicNick
15.05.2008, 10:45
Wie in dem WIki-Artikel beschrieben, kann man z.B


' beispiel für 24 Adress-Instanzen
DIM plz ( 24) AS word
DIM ort ( 24) AS string * 12

dim arbeitsplatz as byte
dim wohnung as byte

arbeitsplatz = 12
wohnung = 3

plz(arbeitsplatz) = 2344
ort(arbeitsplatz) = "Maloche"

plz(wohnung) = plz(arbeitsplatz) ' analog wohnung.plz = arbeitsplatz.plz




was da fehlt, ist der Gesamtbegriff "adresse" (plz,ort)
denn irgendeine OverlayKonstruktion geht bei dieser Methode nicht.