AGB  ·  Datenschutz  ·  Impressum  







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

Array in Array kopieren

Ein Thema von technofreak · begonnen am 10. Mär 2010 · letzter Beitrag vom 10. Mär 2010
Antwort Antwort
technofreak

Registriert seit: 14. Dez 2006
11 Beiträge
 
Delphi 2005 Personal
 
#1

Array in Array kopieren

  Alt 10. Mär 2010, 11:33
Hallo

ich habe ein zweidimensionales dynamisches Array (LongInt) und möchte es in eine anderes zweidimensionales dynamisches Array kopieren. Die Elemente sollen jedoch nicht an den gleichen Positionen stehen wie im Original, sondern um eine bestimmte Anzahl von Zeilen und Spalten verschoben sein.Hier mal ein Beispiel wie es aussehen soll.

A1:

111
111
111

A2:

000000
000000
000000
000000
000000

Ergebnis soll z.B. sein:

000000
001110
001110
001110
000000

Kann man das nur über zwei verschachtelte Schleifen lösen die jedes Element einzeln kopieren oder gibt es eine Möglichkeit das über einen einfachen Befehl zu lösen?

Silvio
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#2

Re: Array in Array kopieren

  Alt 10. Mär 2010, 11:37
Delphi-Quellcode:
var
  x, y: Integer;
  A, B: array of array of Integer;

// einfach

for x := 0 to High(A) do
  for y := 0 to High(A[x]) do
    B[x + xOffset, y + yOffset] := A[x, y];

// oder (Zusammenhängendes kann man zusammen kopieren)

for x := 0 to High(A) do
  Move(B[x + xOffset, yOffset], A[x, 0], SizeOf(Integer) * Length(A[x]));
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
technofreak

Registriert seit: 14. Dez 2006
11 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Array in Array kopieren

  Alt 10. Mär 2010, 14:02
Hallo

Danke für die schnelle Hilfe. Move funktioniert, in dem Beispiel ist aber Quelle und Ziel vertauscht. Aber dafür gibt es ja eine Hilfe in der man genauer nachlesen kann.

Silvio
  Mit Zitat antworten Zitat
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#4

Re: Array in Array kopieren

  Alt 10. Mär 2010, 15:27
kann man nicht mit assign arbeiten?

oder Assignto() ?
ICQ: 204141443
Delphi 3 Professional, Intel 2x 2,4Ghz, 3 GB-Graka, Sound-onBrd, --
außerdem D2S, D3Pro, D4S, D5S, D6S, D7S + Indy, Lazarus, VB5Std, VC++5Pro, Tasm4+5 - was braucht man mehr?
-
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#5

Re: Array in Array kopieren

  Alt 10. Mär 2010, 16:19
Zitat von technofreak:
Aber dafür gibt es ja eine Hilfe in der man genauer nachlesen kann.


Zitat von technofreak:
in dem Beispiel ist aber Quelle und Ziel vertauscht.
Da macht es sich bemerkbar, daß ich meißtens MoveMemory nutze (dort isses andersrum)

(ist zwar nicht schneller, aber ich find es übersichtlicher, also vom Namen her)


Zitat von Coder:
kann man nicht mit assign arbeiten?

oder Assignto() ?
Hmmmm, das sind hier arrays und keine Klassen und selbst wenn, dann müßte man es dennoch selber schreiben, selbst wenn man sich dafür eine entsprechende Assign-Methode erstellt, da es sowas nicht fertig gibt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:18 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