Author Topic: delete / foreach  (Read 3194 times)

Offline Kosta

  • Mr. Polyvector
  • ***
  • Posts: 167
  • nothing.....except 'Kosta'
    • View Profile
    • Kosta's Blog
delete / foreach
« on: 2008-Sep-22 »
Hallo,

habe mein aktuelles Projekt ein bisschen aufgeräumt ...nun funzt es nicht mehr...

Habe nun das Problem identifiziert (glaube ich): Lt. Doku muss DELETE innerhalb der FOREACH Schleife aufgerufen werden.

Mein DELETE ist aber in einer Funktion ausgelagert worden, wird aber innerhalb der FOREACH Schleife aufgerufen ...

Kann man da noch was tun? oder muss ich alles zurückbasteln?
Intel QuadCore, Geforce8600GT,512MB,4GB Ram, 26" TFT
HP nw8440 Schläppy
GP2X Mk2 (Firmware 3.0)

GLBASIC Blog:
http://www.glbasic.com/forum/index.php?blog=51.0

Offline mull

  • Mr. Polyvector
  • ***
  • Posts: 168
    • View Profile
    • http://www.ligapro.de
Re: delete / foreach
« Reply #1 on: 2008-Sep-22 »
Geht nur wie in der Hilfe steht innerhalb der Foreach Schleife.

Nimm doch DIMDEL Feld[], Nr

Aber achte darauf das in der Scheife nicht mehr nach dem Rauswurf auf das Feld[Nr] zugegriffen wird.
AMD Phenom II x4 955 Proc. 3.2 GHZ,  4GB Ram
Windows 7 64bit Ultima
NVIDIA GeForce GTX 460
Leistungsindex 5,7

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10801
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: delete / foreach
« Reply #2 on: 2008-Sep-23 »
Aua! Du willst innerhalb einer Funktion was löschen?
Mach ein RETURN FALSE, und fang' das in der FOREACH Schleife ab.

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5107
  • O Rly?
    • View Profile
Re: delete / foreach
« Reply #3 on: 2008-Sep-23 »
Japp Gernot hat recht, entweder bei der Funktion True/False returnen und das dann abfragen, oder die Funktion doch weglassen und es im "normalen Code" stehen lassen :)
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Kosta

  • Mr. Polyvector
  • ***
  • Posts: 167
  • nothing.....except 'Kosta'
    • View Profile
    • Kosta's Blog
Re: delete / foreach
« Reply #4 on: 2008-Sep-23 »
danke

habe es wieder zurückgebastelt.....

...hatte die Funktion erzeugt um die Übersichtlichkeit zu erhöhen 

-> mit Return/False (Testumbau hatte zwar funktioniert) war die Lesbarkeit/Übersichtlichkeit dann doch eher schlechter als vorher

Intel QuadCore, Geforce8600GT,512MB,4GB Ram, 26" TFT
HP nw8440 Schläppy
GP2X Mk2 (Firmware 3.0)

GLBASIC Blog:
http://www.glbasic.com/forum/index.php?blog=51.0

Offline Kosta

  • Mr. Polyvector
  • ***
  • Posts: 167
  • nothing.....except 'Kosta'
    • View Profile
    • Kosta's Blog
Re: delete / foreach
« Reply #5 on: 2008-Sep-24 »
irgendwie denkt mein Programm INC währe ein Feld/Variable?  oder intepretier ich hier den Fehler falsch?

oder kann ich in der foreach schleife für bonus keine anderen Feldwerte pop aendern? (Kann ich mir ja garnicht vorstellen)...aber wo hakts ?

*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.2008.210 - 3D, NET
"Tartarus.gbas"(179) error : wrong argument type : INC, arg no: 1
TYPE  is not declared



Auszug wo der Fehler angezeigt wird:

Hier beginnt die foreach Schleife (foreach bonus in bonuss[])
.....snipp.....
Code: (glbasic) [Select]
// Check Colission with Bonus
IF BOXCOLL(bonus.x, bonus.y, bonus.sizex, bonus.sizey, playerx,playery, playersizex,playersizey)
SELECT bonus.typ
CASE 1
//W:
INC playerspeed,0.25
IF playerspeed>2.5 THEN playerspeed = 2.5
DELETE bonus
CASE 2
//O:
INC pop.power,1
INC pop.typ,1
IF pop.typ>4 THEN pop.typ=4
DELETE bonus
CASE 3
//G:
CASE 4
//B:
CASE 5
//L:
INC lives,1
DELETE bonus
ENDSELECT
ENDIF
...schnapp...
next   

Hier springt der Cursor beim Fehler:

INC pop.power,1
INC pop.typ,1
« Last Edit: 2008-Sep-24 by Kosta »
Intel QuadCore, Geforce8600GT,512MB,4GB Ram, 26" TFT
HP nw8440 Schläppy
GP2X Mk2 (Firmware 3.0)

GLBASIC Blog:
http://www.glbasic.com/forum/index.php?blog=51.0

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10801
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: delete / foreach
« Reply #6 on: 2008-Sep-24 »
Er kennt das Objekt "pop" nicht. Hast Du vorher LOCAL pop AS XY gemacht?
Oder wie/wo/was ist pop?

Offline Kosta

  • Mr. Polyvector
  • ***
  • Posts: 167
  • nothing.....except 'Kosta'
    • View Profile
    • Kosta's Blog
Re: delete / foreach
« Reply #7 on: 2008-Sep-24 »
oehmm...... nee   :whistle:  hab ich nicht gemacht  :whistle:

 :bed:

ich habe ein

LOCAL shots[] AS SHOT

..und habe pop immer in der foreach schleife benutzt...

   FOREACH pop IN shots[]

 :bed:

...aber wie ich im code sehe bin garnicht mehr in der foreach-pop-Schleife sondern in der foreach-bonus-Schleife

 :'(
Intel QuadCore, Geforce8600GT,512MB,4GB Ram, 26" TFT
HP nw8440 Schläppy
GP2X Mk2 (Firmware 3.0)

GLBASIC Blog:
http://www.glbasic.com/forum/index.php?blog=51.0

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10801
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: delete / foreach
« Reply #8 on: 2008-Sep-24 »
Wow, ist mein Compiler gut  :coke: