mehrere Variablen in einen buffer

Anfängerfragen zum Programmieren mit PureBasic.
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

mehrere Variablen in einen buffer

Beitrag von Brügge »

hi

ich möchte gerne mehrere strings und doubels in einen buffer stecken.. geht das? in der hilfe stand was von CopyMemory() und MoveMemory(). habe aber nicht den geringsten schimmer, was das macht...

naja auf jeden fall möchte ich einen buffer(5000) und alle 1000 soll ein string rein und ich muss den auch wieder rausholen können...

ist das möglich?

MFG Brügge
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Sowas löst man besser mit Structuren, die im endeffekt auch nur Speicher reservieren, aber eben strukturiert.

Code: Alles auswählen

Structure MyStrings
  String1.s{1000}
  String2.s{1000}
  String3.s{1000}
  String4.s{1000}
  String5.s{1000}
EndStructure

Define.MyStrings MString

MString\String1 = "Feel the ..Pure.. Power"
MString\String2 = "Hallo die Enten"
MString\String3 = "Holla, der Rucksack brennt"

Debug SizeOf(MString)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

ich habe aber einen array
mit einer structure
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Brügge hat geschrieben:ich habe aber einen array
mit einer structure
Vielleicht mal etwas Code und mehr Informationen ?

Mein obiges Beispiel erstellt einen Stringbuffer mit 5000 Bytes, wobei für
jedem String 1000 Bytes zur Verfügung stehen. Einfacher Zugriff ist gegeben.

Also definiere die Aufgabe nochmal bitte etwas genauer :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

ähmm wie jetzt???
mein problem ist, ich weiß nicht wie ich 2 oder mehr sachen in einen buffer schreibe (damit es leichter ist bekommt jeder 1000)
also jeder string oder flote bekommt die größe von 1000

und welche befehle muss ich nehemen?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

Debug MString\String2
Damit greifste auf den zweiten String zu (Byte 2000 - ...)

Structuriertes Array kannste auch Dimensionieren, wird bei der bisherigen
Aufgabenstellung aber nicht gebraucht.

Du kannst auch 5000 Bytes Memoy allokieren und die Strings da reinpoken,
was aber keinen Sinn macht.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

also mein code lautet jetzt so:

Code: Alles auswählen

Buffer = AllocateMemory(90000)

Structure player
  clientid.l
  name.s
  string.s
EndStructure

playeranzahl = 30

Dim player.player(playeranzahl)

und jetzt möchte ich den array player(0 bis 30) in den buffer haben...

was muss ich dann schreiben?
und wie bekomme ich die wieder da raus?

ich programmiere PB noch nicht lange ^^ vll könntest du hinter jedem befehl schreiben, was er macht .... sorry aber anders verstehe ich das wohl nicht.

thx!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

in was für einen buffer überhaupt und wozu....?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

@Brügge, guck dir erst mal das an
http://www.purebasic.fr/german/viewtopic.php?t=9567
my pb stuff..
Bild..jedenfalls war das mal so.
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

danke für die hilfe stellung...

aber bei welchen teil ist es in meinem buffer?
ich verstehe die einzelnen schritte nicht...
und dieses debug auch nicht.

könntet ihr mir das bitte erklären? (wie ich die 10 variablen da rein und da wieder rausholen kann?

thx!
Antworten