/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Dynamiske arrays i praksis
Fra : ApoX


Dato : 04-08-01 11:14

Nu har jeg efterhånden læst og spurgt så meget om disse dynamiske arrays,
men lige lidt hjælper det. Jeg kan simpelthen bare ikke forstå hvordan det
fungererer i praksis - om det er fordi jeg er dum eller fordi jeg simpelthen
har ledt de forkerte steder lader vi stå som et ubesvaret spørgsmål. Derfor
anmoder jeg om en venlig sjæls hjælp til at tyde min menneskelige anmodning
og omsætte det til noget nyttigt kode:

Lad os nu sige at denne kode skal kunne beherske grupper og emner. Emnerne
er naturligvis nogle der hører ind under grupperne således:

Gruppe 1
Emne 1
Emne2
Gruppe 2
Emne 1

Dette er nemt at lave hvis man ved at der er 3 grupper og henholdsvis to og
et emne, men hvis antallet af grupper og antallet af emner er ubestemt
kommer problemet. Algoritmen/funktionen/rutinen skal derfor kunne håndtere
at der kommer ekstra emner på eller at der ryger en gruppe, og at det hele
kan hentes og gemmes.

Dette er en større sag, men husk at jeg anmoder de venlige sjæle

- Thomas



 
 
Rasmus Klitgaard-Nie~ (04-08-2001)
Kommentar
Fra : Rasmus Klitgaard-Nie~


Dato : 04-08-01 15:42

ApoX wrote:
>
> Nu har jeg efterhånden læst og spurgt så meget om disse dynamiske arrays,
> men lige lidt hjælper det. Jeg kan simpelthen bare ikke forstå hvordan det
> fungererer i praksis - om det er fordi jeg er dum eller fordi jeg simpelthen
> har ledt de forkerte steder lader vi stå som et ubesvaret spørgsmål. Derfor
> anmoder jeg om en venlig sjæls hjælp til at tyde min menneskelige anmodning
> og omsætte det til noget nyttigt kode:
>
> Lad os nu sige at denne kode skal kunne beherske grupper og emner. Emnerne
> er naturligvis nogle der hører ind under grupperne således:
>
> Gruppe 1
> Emne 1
> Emne2
> Gruppe 2
> Emne 1
>
Det vil være noget i retning af (fra Delphi-hjælpen under
Multidimentional Dynamic Arrays):

var
A : array of array of string;
I, J : Integer;
begin
SetLength(A, 10);
for I := Low(A) to High(A) do
begin
SetLength(A[I], I);
for J := Low(A[I]) to High(A[I]) do
A[I,J] := IntToStr(I) + ',' + IntToStr(J) + ' ';
end;
end;

> Dette er nemt at lave hvis man ved at der er 3 grupper og henholdsvis to og
> et emne, men hvis antallet af grupper og antallet af emner er ubestemt
> kommer problemet. Algoritmen/funktionen/rutinen skal derfor kunne håndtere
> at der kommer ekstra emner på eller at der ryger en gruppe, og at det hele
> kan hentes og gemmes.

Ekstra elementer klares ved at bruge SetLength, fjernelse klares med
f.eks. en løkke der rykker elementer tilbage.

gemmes:
lav en TFileStream, gem sizeOf(A) deri, derefter A:

fs:=TfileStream.create(..)
fs.writeBuffer(sizeof(A),sizeof(integer));
fs.writeBuffer(A,sizeof(A));
fs.free;

Hentes:
hent længden og læs ind..

fs:=TfileStream.create(..)
fs.readBuffer(mysize,sizeof(integer));
fs.readBuffer(A,mysize);
fs.free;

(om det virker er en anden sag...)

>
> Dette er en større sag, men husk at jeg anmoder de venlige sjæle
>
> - Thomas


--
>o ********* PINKY! aka. Rasmus Klitgaard-Nielsen *********
<()> **** Mad Programmer - Commodore Freak - ABP regular ****
^^ "Can't sing. Can't dance. Can handle a sword a little."
-- Victor's resume (Terry Pratchett, Moving Pictures)

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste