Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Array of DateTime auf 0.0 setzen (https://www.delphipraxis.net/164825-array-datetime-auf-0-0-setzen.html)

hoika 1. Dez 2011 11:20

Array of DateTime auf 0.0 setzen
 
Hallo #,

Delphi-Quellcode:
  var DateArray: array of [1..366] of TDateTime.
Das will ich jetzt mit 0 initialisieren.

Ist

Delphi-Quellcode:
ZeroMemory(@DateArray, Length(DateArray));
eigentlich richtig ?
Der Compiler meckert zumindestens nicht rum und Laufen tut es auch.

Danke


Heiko

DeddyH 1. Dez 2011 11:26

AW: Array of DateTime auf 0.0 setzen
 
SizeOf statt Length erscheint mir sinnvoller.

[edit]
Zitat:

Parameters

Destination [in]

A pointer to the starting address of the block of memory to fill with zeros.
Length [in]

The size of the block of memory to fill with zeros, in bytes.
[/edit]

Bummi 1. Dez 2011 11:29

AW: Array of DateTime auf 0.0 setzen
 
Nein

Delphi-Quellcode:
   ZeroMemory(@DateArray[1], Length(DateArray) * SizeOf(TDateTime));

Medium 1. Dez 2011 11:30

AW: Array of DateTime auf 0.0 setzen
 
SizeOf(MyArray[Low(MyArray)]) * Length(MyArray) dann eher, dann klappts mit allen Deklarationsvarianten. (Aber vorher auf Length>0 prüfen ;))

Iwo Asnet 1. Dez 2011 11:42

AW: Array of DateTime auf 0.0 setzen
 
Und warum geht "SizeOf(MyArray)" nicht? Es handelt sich ja nicht um ein dynamisches Array... Wobei..
Zitat:

Zitat von hoika (Beitrag 1138764)
Delphi-Quellcode:
  var DateArray: array of [1..366] of TDateTime.

Was ist das eigentlich für ein Array?
Ich kenne
Delphi-Quellcode:
var DateArray: array [1..366] of TDateTime.
aber das andere nicht.

Bummi 1. Dez 2011 11:48

AW: Array of DateTime auf 0.0 setzen
 
Beide Aussagen sind richtig .... soll heißen geht und Deklaration ist falsch

hoika 1. Dez 2011 12:23

AW: Array of DateTime auf 0.0 setzen
 
Hallo,

ist eigentlich ein Array[1..200], 366 geht ja nicht ...


Heiko

DeddyH 1. Dez 2011 12:25

AW: Array of DateTime auf 0.0 setzen
 
Wieso soll 366 nicht gehen? Es ist doch ein Array und kein Set.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:12 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