ลำดับ
ฉันติดตั้ง Delphi เมื่อเป็นเวลา 8:00 น. ความรู้สึกแรกในเวลานั้นคือความผิดหวังเพราะวิสัยทัศน์ VCL ที่คุ้นเคยหายไป; ที่สำคัญฉันไม่มีความมั่นใจในการใช้ Delphi สำหรับการพัฒนา B/S หลังจากไม่นานฉันก็หันไปที่แพลตฟอร์ม Java
แต่ต่อมาฉันเห็นว่า ASP.NET นั้นดีมากและ Delphi สามารถนำไปใช้งานได้ซึ่งทำให้ฉันอยากเห็นเพื่อนเก่าของฉันกลับมา แต่ฉันไม่มีเวลาเรียนรู้ในเวลานั้นดังนั้นฉันจึงไม่เข้าใจเลย ฉันสนใจทั้งการใช้งานทั้ง Intraweb และ ASP.NET และต้องการลองดู ต่อมาการทดลองใช้ C# Builder1.0 ให้ความประทับใจกับบอร์แลนด์ที่ดี แต่ฉันก็ยังรู้สึกว่ามันเป็นผู้ติดตามและไม่มีอำนาจในการแข่งขันกับ MS อีกต่อไป สิ่งนี้ทำให้ฉันนึกถึงการ์ฟิลด์บอกว่าถ้าคุณไม่สามารถเอาชนะศัตรูได้วิธีที่ดีที่สุดคือการเข้าร่วมพวกเขา
วันนี้ฉันมีทัศนคติต่อ Delphi อีกครั้ง ไม่เรียกร้องอีกต่อไปว่ามันเป็นสิ่งที่ดีที่สุดและเร็วที่สุด แต่หวังว่าคุณจะใช้ Delphi ใน B/S และคิดว่ามันใช้งานง่ายซึ่งเพียงพอแล้ว สำหรับการปรากฏตัวและพื้นที่ของมันหลังจาก Delphi8 ฉันเริ่มยอมรับมัน
เมื่อฉันได้รับ Delphi2005 รุ่นทดลองที่ส่งโดย Borland โดยไม่ได้ตั้งใจฉันต้องการได้รับเกมยอดนิยมและอยากลองจริงๆ อย่างไรก็ตามการลงทะเบียนของ Borland นั้น "จีน" เกินไปและฉันทำให้ฉันทำงานออนไลน์เพื่อรับเครื่องลงทะเบียน มันไม่ได้ใช้มากที่จะไม่เป็นผู้ใช้เวอร์ชั่น D
(i) Hello World
Delphi2005 เป็นสภาพแวดล้อมแบบบูรณาการรวมถึง Delphi และ C# ฉันรู้สึกว่าบอร์แลนด์มีปัญหากับการตั้งชื่อซอฟต์แวร์นี้
มาเขียน Hello World โดยใช้ Delphi ก่อน ในปี 2005 มีสามวิธีที่แตกต่างกันในการพัฒนา Delphi และสภาพแวดล้อมการใช้งานตามธรรมชาติก็แตกต่างกันเช่นกัน พวกเขาคือ:
แอปพลิเคชัน 1 VCLFORMS สำหรับ. NET
2 แอปพลิเคชัน WindowsForms สำหรับ. NET
3 แอปพลิเคชัน VCLFORMS สำหรับ Win32
นี่คือ Hello World ในสามวิธี
แอปพลิเคชัน 1 VCLFORMS สำหรับ. NET
รหัสหน่วย:
บทที่หน่วย 1;
ส่วนต่อประสาน
ใช้
Windows, ข้อความ, sysutils, ตัวแปร, คลาส, กราฟิก, การควบคุม, รูปแบบ,
กล่องโต้ตอบ stdctrls;
พิมพ์
tform1 = คลาส (tform)
ปุ่ม 1: tbutton;
Edit1: Tedit;
ขั้นตอน button1click (ผู้ส่ง: tobject);
ส่วนตัว
{ประกาศส่วนตัว}
สาธารณะ
{ประกาศสาธารณะ}
จบ;
วาจา
Form1: TFORM1;
การดำเนินการ
{$ r *.dfm}
ขั้นตอน tform1.button1click (ผู้ส่ง: tobject);
เริ่ม
edit1.Text: = 'Hello World.';
จบ;
จบ.
รหัสฟอร์ม:
Object Form1: tform1
ซ้าย = 0
ด้านบน = 0
ความกว้าง = 281
ความสูง = 138
คำบรรยายภาพ = 'form1'
สี = clbtnface
font.charset = default_charset
font.color = clwindowtext
font.height = -11
font.name = 'tahoma'
font.style = []
oldCreateOrder = FALSE
Pixelsperinch = 96
textheight = 13
ปุ่มปุ่ม 1: tbutton
ซ้าย = 88
ด้านบน = 56
ความกว้าง = 75
ความสูง = 25
คำบรรยายภาพ = 'button1'
taborder = 0
onclick = button1click
จบ
Object Edit1: Tedit
ซ้าย = 8
ด้านบน = 8
ความกว้าง = 249
ความสูง = 21
taborder = 1
จบ
จบ
สิ่งนี้ดูเหมือนจะไม่แตกต่างจากการพัฒนา Win32 ก่อนหน้านี้ หน่วยและแบบฟอร์มจะถูกแยกออกและดำเนินการและยังคงอยู่แยกกัน ใน 2 งานทั้งสองนี้ถูกรวมเข้ากับไฟล์ PAS
2 แอปพลิเคชัน WindowsForms สำหรับ. NET
หน่วย winform;
ส่วนต่อประสาน
ใช้
System.Drawing, System.Collections, System.ComponentModel,
System.windows.forms, System.data;
พิมพ์
twinform = class (system.windows.forms.form)
{$ region 'Designer Managed Code'}
ส่วนตัวเข้มงวด
/// <summary>
/// ตัวแปรนักออกแบบที่ต้องการ
/// </summary>
ส่วนประกอบ: System.ComponentModel.Container;
textbox1: system.windows.forms.textbox;
button1: system.windows.forms.button;
/// <summary>
/// วิธีการที่จำเป็นสำหรับการสนับสนุนผู้ออกแบบ - อย่าแก้ไข
/// เนื้อหาของวิธีนี้กับตัวแก้ไขรหัส
/// </summary>
ขั้นตอนการเริ่มต้นองค์ประกอบ;
ขั้นตอน button1_click (ผู้ส่ง: System.Object; E: System.eventArgs);
{$ endregion}
ได้รับการคุ้มครองอย่างเข้มงวด
/// <summary>
/// ทำความสะอาดทรัพยากรใด ๆ ที่ใช้
/// </summary>
ขั้นตอนการกำจัด (การกำจัด: บูลีน);
ส่วนตัว
{ประกาศส่วนตัว}
สาธารณะ
ตัวสร้างสร้าง;
จบ;
[Assembly: Runtimerequiredattribute (typeof (twinform))]]
การดำเนินการ
{$ autobox on}
{$ region 'windows form designer code สร้างรหัส'}
/// <summary>
/// วิธีการที่จำเป็นสำหรับการสนับสนุนนักออกแบบ - อย่าแก้ไข
/// เนื้อหาของวิธีนี้กับตัวแก้ไขรหัส
/// </summary>
ขั้นตอน twinform.initializeComponent;
เริ่ม
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';
รวม (self.button1.click, self.button1_click);
-
// twinform
-
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 (เท็จ);
จบ;
{$ endregion}
ขั้นตอน twinform.dispose (การกำจัด: บูลีน);
เริ่ม
หากกำจัดแล้ว
เริ่ม
ถ้าส่วนประกอบ <> ไม่มี
ส่วนประกอบ. dispose ();
จบ;
การกำจัดที่สืบทอด (กำจัด);
จบ;
constructor twinform.create;
เริ่ม
สร้างมรดก;
-
// จำเป็นสำหรับการสนับสนุนนักออกแบบแบบฟอร์ม Windows
-
ComitiedizeComponent;
-
// todo: เพิ่มรหัสตัวสร้างหลังจากการโทรเริ่มต้น
-
จบ;
ขั้นตอน twinform.button1_click (ผู้ส่ง: System.Object; E: System.EventArgs);
เริ่ม
TextBox1.Text: = 'Hello World!';
จบ;
จบ.
3 แอปพลิเคชัน VCLFORMS สำหรับ Win32
รหัสของมันเหมือนกับ 1
ในที่สุดมันก็เป็น HelloWorld ที่เขียนใน C#
ใช้ระบบ
ใช้ System.Drawing;
ใช้ System.collections;
ใช้ System.ComponentModel;
ใช้ System.windows.forms;
ใช้ System.data;
โครงการเนมสเปซ 1
-
/// <summary>
/// คำอธิบายสรุปสำหรับ winform
/// </summary>
Winform ระดับสาธารณะ: System.windows.forms.form
-
/// <summary>
/// ตัวแปรนักออกแบบที่ต้องการ
/// </summary>
System.ComponentModel.Container ส่วนประกอบ = NULL;
System.Windows.forms.TextBox TextBox1;
System.windows.forms.button Button1;
Public Winform ()
-
-
// จำเป็นสำหรับการสนับสนุนนักออกแบบแบบฟอร์ม Windows
-
เริ่มต้นคอมเพล็กซ์ ();
-
// todo: เพิ่มรหัสตัวสร้างหลังจากการโทรเริ่มต้น
-
-
/// <summary>
/// ทำความสะอาดทรัพยากรใด ๆ ที่ใช้
/// </summary>
เป็นโมฆะที่ได้รับการป้องกันการแทนที่ (การกำจัดบูล)
-
ถ้า (กำจัด)
-
if (ส่วนประกอบ! = null)
-
ส่วนประกอบ. dispose ();
-
-
base.dispose (กำจัด);
-
#region Windows Form Designer สร้างรหัส
/// <summary>
/// วิธีการที่จำเป็นสำหรับการสนับสนุนผู้ออกแบบ - อย่าแก้ไข
/// เนื้อหาของวิธีนี้กับตัวแก้ไขรหัส
/// </summary>
โมฆะส่วนตัวเริ่มต้นคอมเม้นต์ ()
-
this.textbox1 = ใหม่ system.windows.forms.textbox ();
this.button1 = ใหม่ system.windows.forms.button ();
this.suspendlayout ();
-
// textbox1
-
this.textbox1.location = ใหม่ system.drawing.point (72, 88);
this.textbox1.name = "textbox1";
this.textbox1.size = ใหม่ system.drawing.size (120, 21);
this.textbox1.tabindex = 0;
this.textbox1.text = "textbox1";