Sequenz
Ich habe Delphi installiert, als es 8:00 war. Das erste Gefühl zu dieser Zeit war Enttäuschung, weil die vertraute VCL -Vision verschwunden war. Noch wichtiger ist, dass ich kein Vertrauen in die Verwendung von Delphi für die B/S -Entwicklung habe. Nach einer Weile der Überraschung wandte ich mich an die Java -Plattform.
Aber später sah ich, dass ASP.NET wirklich gut war und Delphi es umsetzen konnte, was mir den Drang gab, meinen alten Freund zurückzusehen. Aber ich hatte damals keine Zeit zu lernen, also habe ich es nicht ganz verstanden. Ich interessiere mich sehr für Intraweb- und ASP.NET -Implementierungen und möchte es versuchen. Später gab mir der Prozess gegen C# Builder1.0 einen guten Eindruck von Borland, aber ich hatte immer noch das Gefühl, dass es ein Anhänger war und nicht mehr die Macht hatte, mit MS zu konkurrieren. Dies erinnert mich an ein Garfield, wenn Sie Ihre Feinde nicht schlagen können, der beste Weg ist, sich ihnen anzuschließen.
Heute habe ich eine weitere Haltung gegenüber Delphi. Ich verlangte nicht mehr, dass es das Beste und schnellste ist, hofft aber, dass Sie Delphi in b/s verwenden können und denken, dass es einfach zu bedienen ist, was ausreicht. Nach Delphi8 habe ich es schließlich angeht.
Als ich versehentlich die Testversion von DelPhi2005 von Borland verschickt habe, wollte ich ein beliebtes Spiel bekommen und es wirklich ausprobieren. Die Registrierung von Borland ist jedoch zu "chinesisch" und ich habe mich online gelaufen, um einen Registrierungsgerät zu erhalten. Es ist nicht sehr daran gewöhnt, kein D -Versionsbenutzer zu sein.
(I) Hallo Welt.
Delphi2005 ist eine integrierte Umgebung, einschließlich Delphi und C#. Ich bin der Meinung, dass Borland ein Problem mit der Benennung dieser Software hat.
Schreiben wir zuerst Hello World mit Delphi. Im Jahr 2005 gab es drei verschiedene Möglichkeiten zur Entwicklung von Delphi, und die natürliche Anwendungsumgebung war ebenfalls unterschiedlich. Sie sind:
1 vclForms -Anwendung für .NET
2 WindowsForms -Anwendung für .NET
3 VclForms -Anwendung für Win32.
Hier sind Hello World auf drei Arten.
1 vclForms -Anwendung für .NET
Einheitscode:
Einheit Einheit1;
Schnittstelle
Verwendung
Fenster, Nachrichten, Systeme, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Dialoge, Stdctrls;
Typ
Tform1 = Klasse (tform)
Button1: Tbutton;
Edit1: tedit;
PROCEDURE Taste1Click (Absender: Tobject);
Privat
{Private Deklarationen}
öffentlich
{Öffentliche Erklärungen}
Ende;
var
Form1: tform1;
Durchführung
{$ R *.dfm}
procedure tform1.button1click (Absender: tobject);
Beginnen
edit1.text: = 'Hallo Welt.';
Ende;
Ende.
Formcode:
Objektform1: tform1
Links = 0
Top = 0
Breite = 281
Höhe = 138
Caption = 'Form1' '
Color = clbtnface
Font.charset = default_charset
Font.color = clwindowtext
Font.height = -11
Font.name = 'tahoma' '
Font.Style = []
Oldcreateorder = false
Pixelsperinch = 96
Textheight = 13
Objektknopf1: Tbutton
Links = 88
Top = 56
Breite = 75
Höhe = 25
Caption = 'button1' '
Taborder = 0
Onclick = button1click
Ende
Objekt Edit1: Tedit
Links = 8
Top = 8
Breite = 249
Höhe = 21
Taborder = 1
Ende
Ende
Dies scheint sich nicht von der vorherigen Win32 -Entwicklung zu unterscheiden. Die Einheit und die Form sind getrennt und werden separat verarbeitet und bestehen. In 2 werden diese beiden Arbeiten in eine PAS -Datei zusammengefasst.
2 WindowsForms -Anwendung für .NET
Einheit Winform;
Schnittstelle
Verwendung
System.Drawing, System.Collections, System.comPonentModel,
System.Windows.Forms, System.data;
Typ
Twinform = class (System.Windows.Forms.form)
{$ Region 'Designer Managed Code'}
streng privat
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
Komponenten: System.comPonentModel.Container;
Textbox1: System.Windows.Forms.TextBox;
Button1: System.Windows.Forms.button;
/// <summary>
/// Erforderliche Methode für Designerunterstützung - nicht ändern
/// Der Inhalt dieser Methode mit dem Code -Editor.
/// </summary>
Verfahren initializecomponent;
PROCEDURE Button1_Click (Absender: System.Object; e: System.EventArgs);
{$ Endregion}
strenger geschützt
/// <summary>
/// Ressourcen reinigen, die verwendet werden.
/// </summary>
Verfahren entsorgen (entsorgen: boolean);
Privat
{Private Deklarationen}
öffentlich
Konstruktor erstellen;
Ende;
[Assemblierung: RunTimerEquiredAttribute (Typof (Twinform))]
Durchführung
{$ Autobox on}
{$ Region 'Windows Form Designer generierte Code'}
/// <summary>
/// Erforderliche Methode für Designerunterstützung - nicht ändern
/// Der Inhalt dieser Methode mit dem Code -Editor.
/// </summary>
Prozedur Twinform.Initializecomponent;
Beginnen
Self.textbox1: = system.windows.forms.textbox.create;
Self.button1: = system.windows.forms.button.create;
Self.Suspendlayout;
//
// textbox1
//
Self.textbox1.location: = system.drawing.point.create (72, 40);
Self.textbox1.name: = 'textBox1';
Self.textbox1.size: = system.drawing.size.create (152, 21);
Self.textbox1.tabIndex: = 0;
Self.textbox1.text: = '';
//
// Button1
//
Self.button1.Location: = System.Drawing.Point.Create (80, 160);
Self.button1.name: = 'button1';
Self.button1.size: = system.drawing.size.create (136, 32);
Self.button1.tabIndex: = 1;
Self.button1.text: = 'button1';
Include (self.button1.click, self.button1_click);
//
// Zwölfform
//
Self.autoscalebasesize: = system.drawing.size.create (6, 14);
Self.clientSize: = system.drawing.size.create (292, 273);
Self.controls.add (self.button1);
Self.controls.add (self.textbox1);
Self.name: = 'twinform';
Self.text: = 'winForm';
Self.Resumelayout (falsch);
Ende;
{$ Endregion}
Verfahren Twinform.Dispon (entsorgen: boolean);
Beginnen
Wenn Sie entsorgen
Beginnen
Wenn Komponenten <> nil dann
Components.dispose ();
Ende;
erbelt entsorgen (entsorgen);
Ende;
Constructor Twinform.create;
Beginnen
ererbte Erstellung;
//
// Für Windows Form Designer -Unterstützung erforderlich
//
Initializecomponent;
//
// TODO: Fügen Sie einen Konstruktorcode nach dem InitializeComponent -Anruf hinzu
//
Ende;
procedure twinform.button1_click (Absender: System.Object; e: System.EventArgs);
Beginnen
Textbox1.text: = 'Hallo Welt!';
Ende;
Ende.
3 VclForms -Anwendung für Win32.
Sein Code ist genau der gleiche wie 1.
Schließlich ist es in C#geschrieben.
mit System verwenden;
mit System.Drawing;
mit System.Collections;
mit System.comPonentModel;
mit System.Windows.Forms;
mit System.data;
Namespace Project1
{
/// <summary>
/// Zusammenfassungsbeschreibung für WinForm.
/// </summary>
Öffentliche Klasse Winform: System.Windows.Forms.form
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.comPonentModel.Container -Komponenten = NULL;
private System.Windows.Forms.TextBox TextBox1;
private System.Windows.Forms.button Button1;
öffentliche WinForm ()
{
//
// Für Windows Form Designer -Unterstützung erforderlich
//
InitializeComponent ();
//
// TODO: Fügen Sie einen Konstruktorcode nach dem InitializeComponent -Anruf hinzu
//
}
/// <summary>
/// Ressourcen reinigen, die verwendet werden.
/// </summary>
geschützte Override -Leere (bool entsorgt)
{
if (entsorgen)
{
if (Komponenten! = null)
{
components.dispose ();
}
}
Basis.ponse (entsorgen);
}
#Region Windows Form Designer generierte Code
/// <summary>
/// Erforderliche Methode für Designerunterstützung - nicht ändern
/// Der Inhalt dieser Methode mit dem Code -Editor.
/// </summary>
private void initializecomponent ()
{
this.textbox1 = new System.Windows.Forms.TextBox ();
this.button1 = neues System.Windows.Forms.button ();
this.suspendlayout ();
//
// textbox1
//
this.textbox1.location = new System.Drawing.Point (72, 88);
this.textbox1.name = "textBox1";
this.textbox1.size = new System.Drawing.Size (120, 21);
this.textbox1.tabIndex = 0;
this.textBox1.text = "textBox1";