Autoitban lehet növelni olyan tömböt ami már meg van nyitva s vannak benne elemek?
Lehet.
Erre a legjobb megoldás, ha ReDim-et használunk.
Local $aArray[1]
ReDim $aArray[UBound($aArray) + 1]
Köszi
és ez akkor pl. a
Global $tomb [100][7]
sorral létrehozott tömb esetén is működik?
Mindegy hogy Globalis vagy Lokalis tömbről van szó?
Arra sajnos nem jöttem rá, hogy mikor érdemes Dim tömböt létrehozni.
De akkor a reDIm bármelyik módon létrehozott tömböt képes növelni?
Igen, működik Global tömbbel is.
Csak ha két dimenziós tömbről van szó, akkor a ReDim után is kétszer kell írni a szögletes zárójelet.
Global $tomb[100][7]
ReDim $tomb[101][7]
A Dim változókat nem jó használni soha. Használj csak Global vagy Local változókat!
Ha deklarálva volt egy globális változó, és később deklarálsz egy Dim változót véletlenül ugyan olyan néven, akkor a globális változó értéke el fog veszni.
Ezért nem jó Dim változókat használni soha.
S ha Globállal deklarálom akkor mi lesz ha van már olyan változónév?
A globált magát értem, a localt is,hogy egy cikluson, függvényen vagy feltételen belül az lesz az értéke, aztán azonkívül a régi, de azt nem értem, hogy ez utóbbi miért jó. Nem jobb ha nincs lokális változó hanem minden egyes változó mindig ugyanazt jelenti?
Mellesleg én nem csak hogy ezért mindig globál változókat használok, hanem a változóim szavak vagy esetleg rövidítések hogy ha ránézek rögtön tudjam minek is a változói.
A globális változóknak a program elején lefoglalódik a hely a memóriában, és a program egész futása alatt foglalják a memóriát.
A lokális változókat funkciókban kell deklarálni. A funkció elején lefoglalódik nekik hely a memóriában, és a funkció végén felszabadul ez a lefoglalt hely. Így memóriát tudunk megspórolni.
Amikor funkciókat hozunk létre, akkor lokális változókat érdemes deklarálni bennük. De ha olyan változóra van szükségünk, amihez több funkció is hozzá tud férni, akkor muszáj globális változót használni.
Ja értem akkor ennek akkor volt szerepe amikor még túl drága volt a memória s nem a mai filléres gigabájtos korszakban.
Vagy akkor lenne jelentősége ha ideiglenes gigabájtokkal összemérhető méretű adatokkal dolgozna a program ami már tényleg túl sok memória lenne.
de akkor ha jól értem néhány száz kilóbájtos adatoknál egyszerűbb csak globalt használni.
utána ha leállt a program úgyis felszabadul minden.
esetleg ha sokminden fut párhuzamosan akkor kell ezzel spórolni, hogy a pl. 4 giga ram később teljen be?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!