Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Arrays kopieren mit Hindernissen (https://www.delphipraxis.net/2514-arrays-kopieren-mit-hindernissen.html)

KeeN 27. Jan 2003 14:25


Arrays kopieren mit Hindernissen
 
Hallo nochmal +g+

Also ich habs geschafft die Arrays zu sortieren und auf Doppelte zu untersuchen +freu+ Ok jetzt zum nächsten Problem, ich will das eine Array in das andere kopieren.

Code:
for i:=0 to High(List1) do
begin
 List2[i]:=List1[i];
end;
Es wird zwar kopiert aber nicht alles. Nämlich die letzte Zahl bleibt immer weg. Soll heißen 5 Zahlen im ersten, 4 Zahlen im zweiten Array. Und nu????

MfG
KeeN

Luckie 27. Jan 2003 14:43

Geht das nicht:
Code:
List2 := List1;
Vorraussetzung ist allerdings, dass die Arrays gleich groß sind.

Oder irgenmdwie mit move oder so?

KeeN 27. Jan 2003 15:26

Arrays kopieren
 
Also das mit
Zitat:

List1:=List2
geht nicht, da heißt es sind inkompatible typen vorhanden. die arrays sind beide auf der gleichen größe. auch mit move gehts nicht:

Code:
for i:=0 to High(List1) do
begin
 move(List1, List2, i)
end;
+sfz+ ich verzweifel nochma ... +g+

Christian Seehase 27. Jan 2003 15:40

Moin Keen,

wie ist denn List1 deklariert?

KeeN 27. Jan 2003 15:58

aaaaalso

Deklaration:

Code:
  list1: array of integer;
  list2: array of integer;
Und da das ganze zwei dynamische Arrays sind...

Code:
 SetLength(List1, strtoint(edit1.text));
 SetLength(List2, strtoint(edit1.text));

Christian Seehase 27. Jan 2003 16:07

Moin Keen,

also das versteh' ich jetzt aber nicht.

High(List1) ist ja gleich Length(List1)-1, müsste also in Deinem Beispiel = 4 sein.

Lass Dir doch vor der Schleife mal anzeigen, welchen Wert High(List1) hat.
Wenn da 4 steht, und es trotzdem nicht funktioniert... *VorerstMalSchulterZuck*

KeeN 27. Jan 2003 16:33

Hab ich gemacht kommt bei jedem 4 raus. Egal bei welcher Liste. Irgendwie blick ich net ganz durch +g+ shi* muss ich morgen mal die Leutz bei uns Fragen ... ich hoff ich find die Lösung. Ich hab übrigens auch schon probiert den letzten Wert "manuell" zu kopieren, aber nada.

KeeN

jbg 27. Jan 2003 16:36

Da du schon dynamische Arrays einsetzt, kannst du auch gleich die Erweiterte Copy Funktion nutzen:
Delphi-Quellcode:
List2 := Copy(List1);
Ein Setzen der Länge von List2 ist nicht nötig, da es sonst doppelt gemacht würde.

KeeN 27. Jan 2003 17:35

Naja wär ja ganz nett, wenns funktionieren würde. Aber es kommt immer die Fehlermeldung "Incompatible Types" ich frag mich aber warum, denn es sind ja beides Integer-Arrays ...

Daniel 27. Jan 2003 17:39

Hallo,

dann erstelle doch vorher einfach einen Typ:

Delphi-Quellcode:
type
  tmyIntArray : Array of Integer;
Und nun deklariere Deine beiden Variablen als Typ 'tmyIntArray'. Ich sitz' nun gerade im Büro und kann es deswegen nicht länger austesten, aber ich denke, dass sollte Deine Typ-Probleme beheben. (Nur Figurprobleme -sofern vorhanden- löst dieser Tipp natüplich nicht... :mrgreen:)

Grinse-Michel korrigiert - Luckie


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz