Data - Anzahl

Anfängerfragen zum Programmieren mit PureBasic.
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Data - Anzahl

Beitrag von Tombi »

Hallo,
Suche ergab leider keine passenden Treffer.

Möchte herrausfinden wieviele Zeilen in einer DataSection vorhanden sind und wieviele Werte eine Zeile beinhaltet.

Z.b.:

Data.l 1,1,1,1,1
Data.l 1,1,1,1,1
Data.l 1,1,1,1,1

Ich sollte ich zurückbekommen das es 3 Zeilen und 5 Werte jeweils sind.
Bild Bild Bild
Intel Pentium 4 630 (3 GHZ)
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

vielleicht so

Code: Alles auswählen


DataSection
lab1:
Data.l 1,1,1,1,1
Data.l 1,1,1,1,1
lab2:
EndDataSection

count = (?lab2-?lab1) / SizeOf(Long)
Debug count
naja gut, nicht ganz was du wolltest. 8)
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Auch wenn mehrere Zeilen sind liegen die Daten nach ein ander im Speicher.
Arbeite dir eine Daten Strukture und Kennung aus.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

da eine DataSection absolut Hardgecoded wird, besteht keine notwendigkeit für eine solche funktion.

Code: Alles auswählen

#Zeilen = 3
#Spalten = 5

Data.l 1,1,1,1,1
Data.l 1,1,1,1,1
Data.l 1,1,1,1,1 
weil du die Datazeilen selber hinschreiben musst, kannst du auch die Konstanten selber hinschreiben.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Und wie mk-soft schon gesagt hat, sind die beiden Codes das selbe:

Code: Alles auswählen

Data.l 1,1,1,1,1
Data.l 1,1,1,1,1
Data.l 1,1,1,1,1

Code: Alles auswählen

Data.l 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Du könntest es allerdings so machen:

Code: Alles auswählen

Data.l 5,3
Data.l 1,1,1,1,1
Data.l 1,1,1,1,1
Data.l 1,1,1,1,1
Dann liest du mit 'Read' erst Zeile und Spalte aus und dann die Daten.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

Code: Alles auswählen


l1=#PB_Compiler_Line+3
DataSection
lab1:
Data.l 1,1,1,1,1
Data.l 1,0,0,0,1
Data.l 1,1,1,1,1
lab2:
EndDataSection
l2=#PB_Compiler_Line-2

count = (?lab2-?lab1) / SizeOf(Long)
Debug "elemente:"
Debug count
Debug "zeilen:"
Debug l2-l1
Debug "spalten:"
Debug count / (l2-l1)

:wink: ..geht allerdings nur, wenn du das format einhälst und alle zeilen gleich lang sind.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

:lol:
Witzige Idee! :allright:
Antworten