Structure an andere Structure kopieren

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Lol

PS: Wir sind im Anfängerforum
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Re: Structure an andere Structure kopieren

Beitrag von Deeem2031 »

Der Code hat übrigens einen Fehler, in der Structure steht nämlich zweimal "Spieler_5.s".
Erstaunlich das PB da keinen Fehler ausgibt...
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Stimmt! Genauso wie mit:
Structure Test
*p.BYTE
p.l
EndStructure
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Re: Structure an andere Structure kopieren

Beitrag von traumatic »

Deeem2031 hat geschrieben:Erstaunlich das PB da keinen Fehler ausgibt...
Anscheinend nimmt PureBasic nur die erste Variable...

Code: Alles auswählen

Structure bla
  bla.b
  bla.w
  bla.l
  bla.f
  bla.s
EndStructure
*kopschüttel*
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

'Erstaunlich das PB da keinen Fehler ausgibt... '

Habs mal als BUG ins Englische Forum gesetzt.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Lupo hat geschrieben:...Wie könnte ich denn aus der structure die Anzahl der Elemente rauskriegen - ok die weis ich ja von der Definition, aber besser
wäre es wenn man das auslesen könnte.
Wenn ich das weis wie komme ich dann zu den pointern in den
arrays um mit copymemorystring die strings zu übergeben
wenn ich die elementnamen nicht eintippen will ?? :|
Du kennst den Structure Aufbau.
Warum möchtest Du dann plötzlich die Elementnamen nicht mehr eintippen?

Ich habe auch den Wunsch nach einen CopyMemoryStructure() ins englische Forum gestellt.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
Lupo
Beiträge: 147
Registriert: 16.02.2005 15:15

Beitrag von Lupo »

Ich hab noch ne andere Structure mit über 60 Einträgen, das ist
das Inventar (Bälle, Dressen und ander Dinge was man so braucht) und
das kann sich auch mal ändern und da will ich nicht 2x 60 Zeilen wegen der Übergabe an die Arrays eintippen, das ist ja öde :roll:

Ich möcht halt coden und nicht tippen :wink:

Das ist super das du das im englishen Forum gepostet hast.
Wie lang wird das denn dauern bis es das CopyMemoryStructure()
gibt ???

Thx 4 eure Mühe

LUPO
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Lupo hat geschrieben:...
Ich möcht halt coden und nicht tippen :wink:
...
Wo liegt der Unterschied? Versuchs doch mal mit Copy/Paste und Suchen/Ersetzen.
Lupo hat geschrieben:... Wie lang wird das denn dauern bis es das CopyMemoryStructure() gibt ??? ...
Frag mal den Andre, vieleicht kann der etwas 'Druck' auf Fred ausüben?
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Vielleicht sollte Lupo uns mal sagen, was genau er vorhat.
Ich meine jetzt nicht das Kopieren einer Struktur sondern das
eigentliche Ziel. Mir kommt es so vor, als hätte er sich hier auf
eine Lösungsmöglichkeit fixiert welche mir doch arg umständlich
vorkommt.
Ist auch kein Problem, er ist ja noch Anfänger und das ist sicherlich
jedem von uns schon mehrere Male passiert dass man den Wald vor
lauter Bäumen nicht mehr sieht.

Ich denke er könnte einiges lernen wenn wir ihm für sein eigentliches
Ziel alternative, einfachere Wege aufzeigen.

Die jetzige Diskussion wird ihn wahrscheinlich eher verwirren als
weiterhelfen schätze ich.

Gruß aus dem verschneiten Stuttgart
Mirko
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

Code: Alles auswählen

;Funktioniert nur mit longs >_<
Procedure CopyStructure(source,dest,size.l)
    For I = 0 To size Step 4
        PokeL(dest+I,PeekL(source+I))
    Next
EndProcedure

;Example
Structure struct
    a.l
    b.l
    c.l
    d.s
EndStructure
Var1.struct 
Var2.struct 
Var1\a = 5
Var1\b = 6
Var1\c = 15
Var1\d = "hallo"

Debug "Inhalt von Var1:"
Debug Var1\a
Debug Var1\b
Debug Var1\c
Debug "Inhalt von Var2:"
Debug Var2\a
Debug Var2\b
Debug Var2\c
Debug "Var1 in Var2 kopieren..."

CopyStructure(@Var1,@Var2,SizeOf(struct))

Debug "Inhalt von der vorher leeren variable Var2:"
Debug Var2\a
Debug Var2\b
Debug Var2\c
;Das gleiche Problem wie bei CopyMemory:
Debug ""
Debug "String-Problem(Var2\d):"
Debug Var2\d
Var1\d = ">_<"
Debug "Nach veränderung von Var1\d:"
Debug Var2\d
Das is doch schonmal ein anfang, nur dass es nur mit longs geht, und bei strings das gleiche problem wie bei CopyMemory entsteht.. :)
Antworten