AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Arrays kopieren mit Hindernissen

Ein Thema von KeeN · begonnen am 27. Jan 2003 · letzter Beitrag vom 27. Jan 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von KeeN
KeeN

Registriert seit: 21. Jan 2003
Ort: Dolgowitz
14 Beiträge
 
#1

Arrays kopieren mit Hindernissen

  Alt 27. Jan 2003, 14:25
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von KeeN
KeeN

Registriert seit: 21. Jan 2003
Ort: Dolgowitz
14 Beiträge
 
#3

Arrays kopieren

  Alt 27. Jan 2003, 15:26
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+
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 27. Jan 2003, 15:40
Moin Keen,

wie ist denn List1 deklariert?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von KeeN
KeeN

Registriert seit: 21. Jan 2003
Ort: Dolgowitz
14 Beiträge
 
#5
  Alt 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));
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 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*
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von KeeN
KeeN

Registriert seit: 21. Jan 2003
Ort: Dolgowitz
14 Beiträge
 
#7
  Alt 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
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8
  Alt 27. Jan 2003, 16:36
Da du schon dynamische Arrays einsetzt, kannst du auch gleich die Erweiterte Copy Funktion nutzen:
List2 := Copy(List1); Ein Setzen der Länge von List2 ist nicht nötig, da es sonst doppelt gemacht würde.
  Mit Zitat antworten Zitat
Benutzerbild von KeeN
KeeN

Registriert seit: 21. Jan 2003
Ort: Dolgowitz
14 Beiträge
 
#9
  Alt 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 ...
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#10
  Alt 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... )

Grinse-Michel korrigiert - Luckie
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 Uhr.
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