urutan
Saya menginstal Delphi ketika jam 8:00. Perasaan pertama pada waktu itu adalah kekecewaan karena visi VCL yang akrab hilang; Lebih penting lagi, saya tidak percaya menggunakan Delphi untuk pengembangan B/S. Setelah beberapa saat kesal, saya menoleh ke platform Java.
Tetapi kemudian, saya melihat bahwa ASP.NET benar -benar bagus, dan Delphi dapat mengimplementasikannya, yang memberi saya keinginan untuk melihat teman lama saya kembali. Tetapi saya tidak punya waktu untuk belajar pada waktu itu, jadi saya tidak begitu memahaminya. Saya sangat tertarik dengan implementasi Intraweb dan ASP.NET dan ingin mencobanya. Kemudian, persidangan C# Builder1.0 memberi saya kesan yang baik tentang Borland, tetapi saya masih merasa bahwa itu adalah pengikut dan tidak lagi memiliki kekuatan untuk bersaing dengan MS. Ini mengingatkan saya pada Garfield yang mengatakan bahwa jika Anda tidak dapat mengalahkan musuh Anda, cara terbaik adalah bergabung dengan mereka.
Hari ini, saya memiliki sikap lain terhadap Delphi. Tidak lagi menuntut bahwa itu adalah yang terbaik dan tercepat, tetapi berharap Anda dapat menggunakan Delphi di B/S dan berpikir itu mudah digunakan, yang sudah cukup. Adapun penampilan dan ruang berubah, setelah Delphi8, saya mulai menerimanya.
Ketika saya secara tidak sengaja mendapatkan versi uji coba Delphi2005 yang dikirim oleh Borland, saya ingin mendapatkan permainan populer dan benar -benar ingin mencobanya. Namun, pendaftaran Borland terlalu "Cina" dan saya membuat saya menjalankan online untuk mendapatkan mesin pendaftaran. Ini tidak terbiasa tidak menjadi pengguna versi D.
(I) Halo dunia.
Delphi2005 adalah lingkungan yang terintegrasi, termasuk Delphi dan C#. Saya merasa bahwa Borland memiliki masalah dengan penamaan perangkat lunak ini.
Mari kita tulis Hello World menggunakan Delphi terlebih dahulu. Pada tahun 2005, ada tiga cara berbeda untuk mengembangkan Delphi, dan lingkungan aplikasi alami juga berbeda. Mereka adalah:
1 Aplikasi VClforms untuk .net
2 Aplikasi WindowsForms untuk .net
3 Aplikasi VClforms untuk Win32.
Inilah Hello World dalam tiga cara.
1 Aplikasi VClforms untuk .net
Kode unit:
unit unit1;
antarmuka
penggunaan
Windows, pesan, sysutils, varian, kelas, grafik, kontrol, formulir,
Dialog, stdctrls;
jenis
Tform1 = class (tform)
Button1: tbutton;
Edit1: tedit;
Prosedur Button1Click (pengirim: Tobject);
Pribadi
{Deklarasi Pribadi}
publik
{Deklarasi Publik}
akhir;
var
Form1: tform1;
Pelaksanaan
{$ R *.dfm}
Prosedur TFORM1.BUTTON1CLICK (Pengirim: Tobject);
Mulai
Edit1.Text: = 'Hello World.';
akhir;
akhir.
Kode formulir:
Objek Form1: TFORM1
Kiri = 0
Atas = 0
Lebar = 281
Tinggi = 138
Keterangan = 'form1'
Warna = clbtnface
Font.charset = default_charset
Font.color = clwindowText
Font.height = -11
Font.name = 'tahoma'
Font.style = []
OldCreateOrder = false
Pixelsperinch = 96
Textheight = 13
Button Object1: Tbutton
Kiri = 88
TOP = 56
Lebar = 75
Tinggi = 25
Keterangan = 'tombol1'
Taborder = 0
OnClick = Button1Click
akhir
Objek Edit1: tedit
Kiri = 8
Atas = 8
Lebar = 249
Tinggi = 21
Taborder = 1
akhir
akhir
Ini tampaknya tidak berbeda dengan pengembangan Win32 sebelumnya. Unit dan bentuk dipisahkan, dan diproses dan bertahan secara terpisah. Dalam 2, kedua karya ini digabungkan ke dalam file PAS.
2 Aplikasi WindowsForms untuk .net
unit winform;
antarmuka
penggunaan
System.Drawing, System.Collections, System.ComponentModel,
System.Windows.Forms, System.data;
jenis
TwinForm = class (System.Windows.Forms.Form)
{$ Region 'desainer dikelola kode'}
Pribadi yang ketat
/// <summary>
/// variabel desainer yang diperlukan.
/// </summary>
Komponen: System.ComponentModel.container;
TextBox1: System.Windows.Forms.TextBox;
Button1: System.Windows.Forms.button;
/// <summary>
/// Metode yang Diperlukan untuk Dukungan Desainer - Jangan Modifikasi
/// Isi metode ini dengan editor kode.
/// </summary>
Prosedur Inisialisasi Komponen;
tombol Prosedur1_klick (pengirim: System.Object; e: System.eventArgs);
{$ Endregion}
dilindungi ketat
/// <summary>
/// Bersihkan sumber daya apa pun yang digunakan.
/// </summary>
Prosedur membuang (membuang: boolean);
Pribadi
{Deklarasi Pribadi}
publik
konstruktor membuat;
akhir;
[Assembly: RunTimeRequiredAttribute (TypeOf (TwinForm))]]
Pelaksanaan
{$ Autobox on}
{$ Region 'Windows Form Designer yang dihasilkan kode'}
/// <summary>
/// Metode yang Diperlukan untuk Dukungan Desainer - Jangan Modifikasi
/// Isi metode ini dengan editor kode.
/// </summary>
prosedur twinform.initializeComponent;
Mulai
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: = '';
//
// tombol1
//
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';
Termasuk (self.button1.click, self.button1_click);
//
// TwinForm
//
Self.autoscalebassize: = 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 (false);
akhir;
{$ Endregion}
Prosedur twinform.dispose (membuang: boolean);
Mulai
Jika membuang itu
Mulai
Jika komponen <> nil maka
Komponen.dispose ();
akhir;
warisan dibuang (membuang);
akhir;
konstruktor twinform.create;
Mulai
diwarisi membuat;
//
// Diperlukan untuk Dukungan Desainer Formulir Windows
//
Komponen inisialisasi;
//
// TODO: Tambahkan kode konstruktor apa pun setelah inisialisasi panggilan komponen
//
akhir;
Prosedur twinform.button1_click (pengirim: System.Object; e: System.eventArgs);
Mulai
TextBox1.Text: = 'Hello World!';
akhir;
akhir.
3 Aplikasi VClforms untuk Win32.
Kodenya persis sama dengan 1.
Akhirnya, HelloWorld ditulis dalam C#.
menggunakan sistem;
menggunakan System.drawing;
menggunakan System.Collections;
menggunakan System.ComponentModel;
menggunakan System.Windows.Forms;
menggunakan System.data;
Namespace Project1
{
/// <summary>
/// Deskripsi Ringkasan untuk WinForm.
/// </summary>
WinForm kelas publik: System.Windows.Forms.Form
{
/// <summary>
/// variabel desainer yang diperlukan.
/// </summary>
Sistem Pribadi.COMPONENTMODEL.Container Components = NULL;
private system.windows.forms.textbox textbox1;
private system.windows.forms.button Button1;
WinForm publik ()
{
//
// Diperlukan untuk Dukungan Desainer Formulir Windows
//
InitializeComponent ();
//
// TODO: Tambahkan kode konstruktor apa pun setelah inisialisasi panggilan komponen
//
}
/// <summary>
/// Bersihkan sumber daya apa pun yang digunakan.
/// </summary>
Dispose void override yang dilindungi (buang bool)
{
if (membuang)
{
if (komponen! = null)
{
komponen.dispose ();
}
}
base.dispose (buang);
}
Kode yang dihasilkan desainer formulir Windows #region
/// <summary>
/// Metode yang Diperlukan untuk Dukungan Desainer - Jangan Modifikasi
/// Isi metode ini dengan editor kode.
/// </summary>
private void initializeComponent ()
{
this.textbox1 = new System.windows.forms.textbox ();
this.button1 = new 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";