Dynamic array és a SetLength használata?
Próbáltam rákeresni de nem találom a megoldást.
Szeretném ha egy dinamikus tömbnek (esetenként 2d-s) a hosszát megváltoztatni, majd hogy honnan kezdve meddig tartson a tömb mérete.
pl.:
SetLength( tomb, 5); = 0..4 méret:5 ok.
SetLength( tomb, -3..3 ) -3..3 méret:7 nem ok.
mínuszba nem lehet menni?
Minuszba nem.
Negatív tömbök nem léteznek. :)
de ha nem dinamikus akkor lehet mínuszba...
akkor valami mást megoldás kell.
Köszi.
C-ben vagy FORTRAN-ban lehet mínuszba menni.
Pascalban nem.
Egyszerű.
Van egy 2d-s dinamikus tömböm.
Ami azt a célt szolgálja, hogy tudom hol vannak az objektumok a képen(melyik XY ezres zónába). Ez legyen egy labda.
TLabda = record
begin
Pos,Vec: TPointF;
zona: DoubleInteger; // X,Y zóna 1000-re osztva
//ez itt csak annyi hogy Zona[1]:= Round(Pos.X/1000);
// Zona[2]:= Round(Pos.Y/1000);
end
var Zónák: Array of Array of DoubleInt;
és ha netán kifelé esik a labda (-1-es zónába) akkor a "Zónák" tömböt 0 alá kell vinni, hogy a "Zónák"-ba tudjam regisztrálni.
Ez az elképzelés így hibás.
De azt kell megértened, hogy minden tömbnek van egy határa és a dinamikus tömbnél ez a határ alaphelyzetben a nulla lesz, amihez hozzá lehet adni, elvenni is lehet belőle később (hiszen ezért dinamikus) de a kezdeti címfoglalást nem lehet futásidőben átírni. Ez azt jelent, hogy az egyik irányba lehet kérni memóriát (hogy nagyobb legyen a tömb) de a másik irányba már nem.
Értem, köszi.
Akkor valami megoldás kell erre az elképzelésre, hogy tudjam melyik "zónába" van a "labda".
Ettől alapvetőbb gondok is vannak ott.
Van egy eladó 'Programozzunk Delphi 7 rendszerben' könyvem CD melléklettel, 450 oldal :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!