AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C# class in Delphi Win32 class 'übersetzen'
Thema durchsuchen
Ansicht
Themen-Optionen

C# class in Delphi Win32 class 'übersetzen'

Ein Thema von Elicia · begonnen am 7. Feb 2007 · letzter Beitrag vom 7. Feb 2007
Antwort Antwort
Elicia

Registriert seit: 16. Jan 2007
Ort: Salzburg
19 Beiträge
 
Turbo Delphi für Win32
 
#1

C# class in Delphi Win32 class 'übersetzen'

  Alt 7. Feb 2007, 10:01
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:
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) { }
}
Kann mir jemand von Euch bitte weiterhelfen, wie ich diese Klasse in Delphi umsetzen kann?

MfG, Elicia
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#2

Re: C# class in Delphi Win32 class 'übersetzen'

  Alt 7. Feb 2007, 10:13
Hi.

This = self, also die aktuelle instanz dieses Objektes.

Code:
  public int number {
    get { return this.number; }
    set { this.number = value; }
  }
Das ist ein Property
also sowas wie
Delphi-Quellcode:
  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;
Analog gilt das für alles was get {...} und set {...} hat.

Code:
  public Cell() : this(-1, null) { }

  public Cell(int number) : this (number, null) { }
}
Das sind zwei Constructoren.
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
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#3

Re: C# class in Delphi Win32 class 'übersetzen'

  Alt 7. Feb 2007, 10:20
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:
<Sichtbarkeitsparameter> <Rückgabewert> <Methodenname> (<Parameter>){

}
Um den Rest (und damit das eigentliche Problem ) hat sich Phoenix ja schon gekümmert
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: C# class in Delphi Win32 class 'übersetzen'

  Alt 7. Feb 2007, 10:22
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;
Markus Kinzler
  Mit Zitat antworten Zitat
Elicia

Registriert seit: 16. Jan 2007
Ort: Salzburg
19 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: C# class in Delphi Win32 class 'übersetzen'

  Alt 7. Feb 2007, 10:43
Hallo,

danke Euch allen herzlich für die schnellen Antworten - helfen mir wirklich sehr!

MfG, Elicia
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: C# class in Delphi Win32 class 'übersetzen'

  Alt 7. Feb 2007, 11:56
Sakura hat hier einen Webservice Client vorgestellt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 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