AGB  ·  Datenschutz  ·  Impressum  







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

Dynamic Array Einfache Zuweisung

Ein Thema von amoibos · begonnen am 7. Okt 2015 · letzter Beitrag vom 7. Okt 2015
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Dynamic Array Einfache Zuweisung

  Alt 7. Okt 2015, 06:57
Record Helper, welche in dem Beispiel verwendet werden gab es aber bei D5 noch nicht. Class Helpers gab es ab D2010, record helpers kamen noch später.
Markus Kinzler
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
115 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Dynamic Array Einfache Zuweisung

  Alt 7. Okt 2015, 07:02
Komischer Thread.
In der Frage wird nirgends ein Array of Array erwähnt, und Record Helper kommen auch nirgends vor.
Von daher verwundern einige Antworten.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.633 Beiträge
 
Delphi 12 Athens
 
#3

AW: Dynamic Array Einfache Zuweisung

  Alt 7. Okt 2015, 07:05
Soweit ich weiß, gibt es diesen Array-Constructor seit D2007. Für alles darunter ist wohl Handarbeit angesagt - oder halt ein Update...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#4

AW: Dynamic Array Einfache Zuweisung

  Alt 7. Okt 2015, 07:12
Mit einer kleinen Hilfsfunktion geht das schon etwas einfacher:

Delphi-Quellcode:
type
  TIntArray = array of integer;

function GetIntArray(AIntArr : array of integer):TIntArray;
begin
  setlength(result,length(AIntArr));
  move(AIntArr[0],result[0],length(AIntArr)* SizeOf(integer));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  MyArr: TIntArray;
begin
  MyArr := GetIntArray([10, 20, 30, 40]);
  // ...
end;
Sollte auch unter Delphi 5 laufen, habe es aber nur mit Delphi 6 getestet.

Alternative:

Delphi-Quellcode:
procedure FillIntArray(AIntArr : array of integer;var AMyArr : TIntArray);
begin
  setlength(AMyArr,length(AIntArr));
  move(AIntArr[0],AMyArr[0],length(AIntArr)* SizeOf(integer));
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  MyArr: TIntArray;
begin
  FillIntArray([10, 20, 30, 40], MyArr);

Geändert von HolgerX ( 7. Okt 2015 um 07:20 Uhr)
  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 20:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz