Seite 1 von 2

mehrere Variablen in einen buffer

Verfasst: 15.08.2006 16:13
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

Verfasst: 15.08.2006 16:28
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)

Verfasst: 15.08.2006 16:30
von Brügge
ich habe aber einen array
mit einer structure

Verfasst: 15.08.2006 16:36
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:

Verfasst: 15.08.2006 16:38
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?

Verfasst: 15.08.2006 16:47
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.

Verfasst: 15.08.2006 16:52
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!

Verfasst: 15.08.2006 17:02
von Kaeru Gaman
in was für einen buffer überhaupt und wozu....?

Verfasst: 15.08.2006 17:07
von #NULL
@Brügge, guck dir erst mal das an
http://www.purebasic.fr/german/viewtopic.php?t=9567

Verfasst: 15.08.2006 18:34
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!