Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Array:=Array?


Aya - Do 21.11.02 05:23
Titel: Array:=Array?
Hi,

ich habe zwei "Array[1..15] of Integer".

Im ersten sind 15 Werte drin und ich möchte nun gern das der 2te genau die gleichen werte bekommt.

Sicherlich kann man es über eine for-schleife lösen, nur wird das bei 10000 Arrays recht rechen aufwendig... gibt es irgendeine möglichkeit das anders zu lösen???

Array1:=Array2 geht ja nicht :)

Au'revoir,
Aya


Keldorn - Do 21.11.02 08:57
Titel: Re: Array:=Array?
Aya hat folgendes geschrieben:


Array1:=Array2 geht ja nicht :)


Hallo, und warum sollte das bei 2 gleichen arrays nicht gehen?

Mfg Frank


Delete - Do 21.11.02 09:28

Stichwort Move. (Hat mit dem Verschieben von Dateien nichts zu tun!)

Quelltext
1:
Move(Array1,Array2,sizeof(Array1));                    

bzw. in deinem Fall:

Quelltext
1:
Move(Array2,Array1,sizeof(Array2)); // = Array1 := Array2;                    

(s. Delphi-Hilfe zur Syntax)

Aya hat folgendes geschrieben:
... 10.000 Arrays ...

:shock:


Delete - Do 21.11.02 11:05
Titel: Re: Array:=Array?
Aya hat folgendes geschrieben:
10000 Arrays


Ich habe nur 384 MB Arbeitsspeicher. :shock:


wulfskin - Do 21.11.02 14:38
Titel: Re: Array:=Array?
Luckie hat folgendes geschrieben:
Aya hat folgendes geschrieben:
10000 Arrays


Ich habe nur 384 MB Arbeitsspeicher. :shock:
Hoffentlich ist deine Festplatte nicht zu voll, den es gibt ja noch die Auslagerungsdateien ;-)!


Aya - Do 21.11.02 23:55

huhu,

danke vielmals.. :)

und, das mit 10.000 Arrays war übertrieben... *g* sind nur ca. 2000

Au'revoir,
Aya


TheLaw - Sa 23.11.02 23:17

Hallo,

Zitat:
Array1:=Array2 geht ja nicht


Das liegt an der hohen Typensicherhet. In ObjectPascal ist es nur erlaubt Variablen des gleichen Typs zuzuweisen.


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
TIntArray = array[0..14] of Integer;

var
  A, B: TIntArray;
begin
  { .. }
  B := A; // Geht wunderbar, da A und B vom gleichem Typ
end;


mfg
Th3Law