Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: TArray - Alternative zu SetLength(..) ?

  Alt 3. Mär 2020, 13:22
Ja, im Grunde wäre es zu praktisch, wenn der Array-Helper im Delphi bereits eine Create-Methode hätte, wo man eine Länge mit optionaler Initialisierung angeben könnte.


Nach SetLength ist der neue Speicher mit 0 initialisiert,
beim Boolean-Array macht ein FillChar mit 1 bzw. mit Ord(True) ganz viele True daraus.

Delphi-Quellcode:
uses
  AnsiStrings;

procedure TForm1.FormCreate(Sender: TObject);
var
  a: TArray<Single>;
begin
  //SetLength(a, 100);
  //for i := Low(a) to High(a) do
  // a[i] := 10.0;

  SetLength(a, 100);
  Move(PAnsiChar(DupeString(#0#0' A', 100))^, a[0], 100*4); // oder FillChar für ByteTypen
oder SetLength(a, 100); for i := 0 to High(a) do a[i] := 10.0;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 3. Mär 2020 um 13:28 Uhr)
  Mit Zitat antworten Zitat