Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Vergleich Borland VCL - WinForms (https://www.delphipraxis.net/55067-vergleich-borland-vcl-winforms.html)

Matze 16. Okt 2005 09:52


Vergleich Borland VCL - WinForms
 
Moin zusammen,

Ich bin gerade dabei mich in C# einzuarbeiten (Sharp Develop). Die grundlegenden Dinge wie Schleifen etc. sind kein Problem, ds sie identisch sind mit der Syntax von Java und php, doch bei der Anwendung der WinForms Komponenten habe ich größere Probleme. Gibt es irgendwo eine Gegenüberstellung der Borland VCL und den WinForms?

Ich schaffe zum Beispiel nicht einmal die Caption der MainForm zur Laufzeit zu verändern, versucht habe ich es so:

Code:
MainForm.Text = "Hello";
Oder das Anzeigen des Öffnen-Dialoges gelingt mir nicht. Ich hätte es so versucht:

Code:
openFileDialog1.ShowDialog;
Ihr seht, dort fehlen mir die kompletten Grundlagen. Ich hätte gerne eine Gegenüberstellung der Eigenschaften und Ereignisse der Borland VCL und den .NET WinForms.

Beispiel (Timer): OnTimer - Tick


Oder wie habt ihr euch das beigebrecht? So scheitere ich an den einfachsten Dingen.

mirage228 16. Okt 2005 10:06

Re: Vergleich Borland VCL - WinForms
 
Hi,

also in der Hilfe zu den jeweiligen Klassen findest Du in den meisten Fällen die gesuchte Eigenschaft, das sollte kein Problem sein, besonders bei solchen Standardeigenschaften wie Text, etc.

Und dann musst Du natürlich die C-Syntax hier beachten:
Delphi-Quellcode:
openFileDialog1.ShowDialog();
Man beachte die () :)

mfG
mirgae228

Matze 16. Okt 2005 10:09

Re: Vergleich Borland VCL - WinForms
 
Danke, zum Teil geht es einigermaßen, doch ein expliziter Vergleich wäre natürlich was schönes, wenn's das eh schon geben sollte.

Zitat:

Zitat von mirage228
Man beachte die () :)

:wall: da hätte ich selbst drauf kommen können.

Khabarakh 16. Okt 2005 11:14

Re: Vergleich Borland VCL - WinForms
 
So ging es mir am Anfang auch, die Hilfe deckt aber IMO schon das Meiste ab.
Hier gibt es auch einen kleinen Vergleich, aber... nun ja, Betonung auf klein :stupid: .

Matze 16. Okt 2005 11:26

Re: Vergleich Borland VCL - WinForms
 
Hi, danke

sowas ist nicht schlecht, wenn das noch ein wenig umfangreicher wäre, wär's ideal. ;)

Robert_G 16. Okt 2005 11:48

Re: Vergleich Borland VCL - WinForms
 
Zitat:

Zitat von Matze
Danke, zum Teil geht es einigermaßen, doch ein expliziter Vergleich wäre natürlich was schönes, wenn's das eh schon geben sollte.

Ein expliziter Vegleich wäre witzlos.
Die Ähnlichkeiten zwischen SWF und VCL sind eigentlich nur darauf zurückzuführen, dass beides Wrapper um APIs für die GUI von Windows sind.
Ein expliziter Vergleich würde also nur für diese Überschneidung sinnvoll sein. Soviele werden das aber nicht werden.
Die VCL kommt mit vielen Non-GUI-Klassen, die auch in den GUI Teil der VCL einfließen. Genauso verwendet SWF Klassen der FCL.

Die typische Frage nach einem FCL-Äquivalent zu TStringList ist zumm Beispiel nicht beantwortbar, es gibt nämlich keins:
  • Für die Verknüpfung von einem String mit Daten gibt es Dictionaries/HashTables.
  • Eine Liste von Strings bekommst du mit der StringCollection oder einfach List<String>.
  • Effektiveres Aufbauen von Strings ist mit dem StringBuilder möglich.
Das dürfte jetzt das prominenteste Beispiel gewesen sein, aber das trifft auf viele Dinge zu.
.Net zu schreiben, aber VCL zu denken dürfte ziemlich schwierig fallen.

Zitat:

Code:
MainForm.Text := "Hallo";

Oh Mann! :wall:
Das ist so typisch... Delphianer sind so an diese globalen Variablen von Delphis Formdesigner gewöhnt... ;)

Solchen Krempel gibt es in .Net nicht mehr.
MainForm ist deine Klasse und ich denke nicht, dass du eine statische Eigenschaft namens Text deklariert hast, oder? :mrgreen:

Steht der Code innerhalb einer Methode deiner Form-Ableitung läuft es in .Net (Text := 'Hallo';) fast wie in Delphi (Caption := 'Hallo').

Matze 16. Okt 2005 12:22

Re: Vergleich Borland VCL - WinForms
 
Zitat:

Zitat von Robert_G
Ein expliziter Vergleich würde also nur für diese Überschneidung sinnvoll sein. Soviele werden das aber nicht werden.
Die VCL kommt mit vielen Non-GUI-Klassen, die auch in den GUI Teil der VCL einfließen. Genauso verwendet SWF Klassen der FCL.

Hm stimmt, dann wäre so ein direkter Vergleich nicht ganz sinnvoll, doch muss es doch was geben, mit dem man das leicht umlernen kann. Ich probiere sehr gerne Dinge aus, doch da scheitere ich dann.

Zitat:

Code:
MainForm.Text := "Hallo";
Oh Mann! :wall:
Das ist so typisch... Delphianer sind so an diese globalen Variablen von Delphis Formdesigner gewöhnt... ;)
:angle2: Ich merke gerade, dass ich in dem Beispiel auch noch ":=" anstelle von "=" verwendet habe, also ist es noch äh "falscher". :lol:

Zitat:

Zitat von Robert_G
Solchen Krempel gibt es in .Net nicht mehr.
MainForm ist deine Klasse und ich denke nicht, dass du eine statische Eigenschaft namens Text deklariert hast, oder? :mrgreen:

Ähm nö. :lol: An die ganzen Klassen muss man sich erstmal gewöhnen, ich mich zumindest, naja, wird schon werden.

Zitat:

Zitat von Robert_G
Steht der Code innerhalb einer Methode deiner Form-Ableitung läuft es in .Net (Text := 'Hallo';) fast wie in Delphi (Caption := 'Hallo').

Oh, das ist ja einfacher als ich dachte.

Danke Robert.

mirage228 16. Okt 2005 12:23

Re: Vergleich Borland VCL - WinForms
 
Zitat:

Zitat von Robert_G
Zitat:

Code:
MainForm.Text := "Hallo";

Oh Mann! :wall:
Das ist so typisch... Delphianer sind so an diese globalen Variablen von Delphis Formdesigner gewöhnt... ;)

Solchen Krempel gibt es in .Net nicht mehr.
MainForm ist deine Klasse und ich denke nicht, dass du eine statische Eigenschaft namens Text deklariert hast, oder? :mrgreen:

Steht der Code innerhalb einer Methode deiner Form-Ableitung läuft es in .Net (Text := 'Hallo';) fast wie in Delphi (Caption := 'Hallo').

Also, worauf Robert hinaus will, um es nochmal klar zu machen *g*, ist, dass Du die Variable Self verwenden musst. :)
Und nicht die "MainForm" Variable, die Du aus Delphi kennst...

mfG
mirage228

CalganX 16. Okt 2005 12:26

Re: Vergleich Borland VCL - WinForms
 
Hi David,
Zitat:

Zitat von mirage228
Also, worauf Robert hinaus will, um es nochmal klar zu machen *g*, ist, dass Du die Variable Self verwenden musst. :)

Naja, wohl eher this, schließlich geht es um C#. ;)
Allerdings muss er die gar nicht verwenden, da genauso wie bei Delphi durch Compilermagic (?) dieses "Wort" davor gesetzt wird.

Chris

mirage228 16. Okt 2005 12:29

Re: Vergleich Borland VCL - WinForms
 
Zitat:

Zitat von Chakotay1308
Naja, wohl eher this, schließlich geht es um C#. ;)
Allerdings muss er die gar nicht verwenden, da genauso wie bei Delphi durch Compilermagic (?) dieses "Wort" davor gesetzt wird.

Oh, da hast Du natürlich recht :oops:
Verwenden musst Du die, falls Du deine Form / Klasse selbst als Parameter irgendwo mitgeben willst, z.B.
Code:
  SomeClass.NewChild(this, "some string");
Aber das ist ja nichts neues :)

mfG
mirage228


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 Uhr.
Seite 1 von 2  1 2      

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