![]() |
C# class in Delphi Win32 class 'übersetzen'
Hallo,
habe leider keine Ahnung von C#, möchte aber eine Klasse in Delphi Win32 übernehmen - scheitere daran zu erkennen, was Funktion, Prozedur... ist - und auch mit dem Übersetzen von 'this'... Hier die C# class:
Code:
Kann mir jemand von Euch bitte weiterhelfen, wie ich diese Klasse in Delphi umsetzen kann?
public class Cell {
protected Cell right; protected Cell left; protected int number; public int number { get { return this.number; } set { this.number = value; } } public Cell right { get { return this.right; } set { this.right = value; } } public Cell left { get { return this.left; } set { this.left = value; } } public Cell() : this(-1, null) { } public Cell(int number) : this (number, null) { } } MfG, Elicia |
Re: C# class in Delphi Win32 class 'übersetzen'
Hi.
This = self, also die aktuelle instanz dieses Objektes.
Code:
Das ist ein Property ;-)
public int number {
get { return this.number; } set { this.number = value; } } also sowas wie
Delphi-Quellcode:
Analog gilt das für alles was get {...} und set {...} hat.
private
_number: integer; function getNumer: intger; procedure setNumber(value: integer); public property Number:integer read getNumber write setNumber; ... function Cell.getNumber: integer; begin result := _number; end; procedure Cell.setNumber(value: integer) begin _number := value; end;
Code:
Das sind zwei Constructoren.
public Cell() : this(-1, null) { }
public Cell(int number) : this (number, null) { } } Der erste nimmt keinen Parameter an, und ruft einen anderen Constructor mit -1 und null auf. Der zweite nimmt eben einen Integer an und ruft einen anderen Constructor mit eben dieser Zahl und null auf und der Constructor der beide Parameter annimmt ist in Deinem Code nicht drin :) |
Re: C# class in Delphi Win32 class 'übersetzen'
Um deine Problem mit Funktionen und Prozeduren zu lösen:
In C# wird der Rückgabetyp vor dem Methodennamen genannt. Steht hier also zB int, hast du eine Funktion vorliegen, die einen Integer zurückgibt. So sieht eine Methode in C# aus:
Code:
Um den Rest (und damit das eigentliche Problem ;)) hat sich Phoenix ja schon gekümmert ;)
<Sichtbarkeitsparameter> <Rückgabewert> <Methodenname> (<Parameter>){
} |
Re: C# class in Delphi Win32 class 'übersetzen'
Delphi-Quellcode:
Cell = class;
Cell = class protected Fright, Fleft; cell; Fnumber: Integer; public constructor Create; constructor Create( nr: integer; zelle: Cell); published property number: Integer read FNumber write Fnumber; property left: Cell read FLeft write FLeft; property right: Cell read FRight write FRight; end; constructor Cell.Create; begin FNumber = -1; end; constructor Cell.Create( nr: integer); begin FNumber := Nr; end; |
Re: C# class in Delphi Win32 class 'übersetzen'
Hallo,
danke Euch allen herzlich für die schnellen Antworten :-D - helfen mir wirklich sehr! MfG, Elicia |
Re: C# class in Delphi Win32 class 'übersetzen'
Sakura hat
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 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