Seit Delphi 7 wurden die Fähigkeite von Record's erweitert zu mehr klassenähnlichen Strukturen mit Properties, Methoden und verschachtelten Typen. Zum Beispiel:
type
TMyRecord = record
type
TInnerColorType = Integer;
var
Red: Integer;
class var
Blue: Integer;
procedure printRed();
constructor Create(val: Integer);
property RedProperty: TInnerColorType read Red write Red;
class property BlueProp: TInnerColorType read Blue write Blue;
end;
implementation
constructor TMyRecord.Create(val: Integer); begin Red := val; end;
procedure TMyRecord.printRed;
begin
Writeln('Red: ', Red);
end;
Für den C++Builder konvertiert Delphi2Cpp 2.x dies zu:
struct TMyRecord
{
typedef int TInnerColorType;
int Red;
static int Blue;
void __fastcall printRed();
__fastcall TMyRecord(int val);
__property TInnerColorType RedProperty = { read = Red, write = Red };
/*static */__property TInnerColorType BlueProp = { read = Blue, write = Blue };
TMyRecord() {}
};
---------------
int TMyRecord::Blue = 0;
__fastcall TMyRecord::TMyRecord(int val)
: Red(val)
{
}
void __fastcall TMyRecord::printRed()
{
{ Write(L"Red: "); WriteLn(Red); };
}
Für andere Compiler als dem C++Builder wird der Code folgendermaßen übersetzt:
struct TMyRecord
{
typedef int TInnerColorType;
int Red;
static int Blue;
void printRed();
TMyRecord(int val);
/*property RedProperty : TInnerColorType read Red write Red;*/
TInnerColorType ReadPropertyRedProperty() { return Red;}
void WritePropertyRedProperty(int Value){Red = Value;}
/*property BlueProp : TInnerColorType read Blue write Blue;*/
static TInnerColorType ReadPropertyBlueProp() { return Blue;}
static void WritePropertyBlueProp(int Value){Blue = Value;}
void InitMembers(){Red = 0;}
TMyRecord() {InitMembers();}
};
---------------------
int TMyRecord::Blue = 0;
TMyRecord::TMyRecord(int val)
: Red(val)
{
}
void TMyRecord::printRed()
{
{ Write(L"Red: "); WriteLn(Red); };
}
english
| Letzte Neuigkeiten |
|
28.10.24
Delphi2Cpp 2.5: in Groß- und Kleinschreibung mit Deklarationen übereinstimmende Symbolnamen [more...] |
|
08/26/24
Delphi2Cpp 2.4: Aktualisiert auf RAD Studio 12.1 Athen [more...] |
|
[aus Fallstudie...] "Eine Meisterleistung -- Delphi2Cpp hat alle meine Erwartungen weit übertroffen." Tony Hürlimann
virtual-optima
29.08.2011
|
|
"Ich muss mich nochmal für deinen Einsatz und die Qualität deiner Arbeit bedanken, das ist absolut überdurchschnittlich ..." Gerald Ebner
Significant Software
22.01.2010
|
|
Diese Homepage ist aus einfachen Texten mit [Minimal Website ]generiert.
|
Minimal Website ist mit Hilfe des TextTransformers hergestellt.
|
Der TextTransformer ist gemacht mit dem Borland
CBuilder
|