AW: Delphi 2011 heißt jetzt Delphi XE
Sebastian scheint mehr als du zu wissen :zwinker:
|
AW: Delphi 2011 heißt jetzt Delphi XE
Zitat:
MfG Fabian PS: Irgendwie ist das quote-Tag anfällig für Verhunzungen. |
AW: Delphi 2011 heißt jetzt Delphi XE
Delphi-Quellcode:
var s: String;
LängeDerDaten = Length(S) * SizeOf(Char); // oder LängeDerDaten = Length(S) * SizeOf(S[1]); |
AW: Delphi 2011 heißt jetzt Delphi XE
Bei einem Leerstring könnte das 2. Beispiel aber in die Hose gehen.
|
AW: Delphi 2011 heißt jetzt Delphi XE
Nein, wird es nicht :angel: (obwohl ich das früher auch mal dachte)
Der Delphi-Compiler ist inteligent genug, um zu wissen, daß die Größe dieses Chars sich niemals ändert und setzt dann wärend der Kompilierung die Größe als direkte Zahl ein und greift nicht erst zur Laufzeit auf den Char zu. Du kannst also auch
Delphi-Quellcode:
nehmen.
SizeOf(S[987654321])
Die Klammer+Zahl ist nur dafür da, um zu sagen, daß man die Größe des Zeichens und nicht des StringPointers wissen will. |
AW: Delphi 2011 heißt jetzt Delphi XE
Zitat:
|
AW: Delphi 2011 heißt jetzt Delphi XE
Zitat:
|
AW: Delphi 2011 heißt jetzt Delphi XE
Zitat:
Du beziehst dich doch gerade auf sowas:
Delphi-Quellcode:
MfG
LängeDerDaten = Length(S); // 1 Zeichen = 1 Byte
Fabian |
AW: Delphi 2011 heißt jetzt Delphi XE
Ich verwende auch lieber
Delphi-Quellcode:
, aber hier muß man sicherstellen, daß Char und String "zusammenpassen".
Length(S) * SizeOf(Char)
Wärend bei
Delphi-Quellcode:
die Zusammengehörigkeit sichergestellt ist.
Length(S) * SizeOf(S[1])
Und was passiert, wenn man mal den Typen von S ändert? Ist das Gleiche wie bei den Record-Pointern
Delphi-Quellcode:
sieht schöner aus, als
ZeroMemory(P, SizeOf(TMyRec))
Delphi-Quellcode:
.
FillMemory(P, SizeOf(P^), 0);
|
AW: Delphi 2011 heißt jetzt Delphi XE
Hallo,
Zitat:
Bis bald Chemiker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 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