последовательность
Я установил Delphi, когда было 8:00. Первое чувство в то время было разочарованием, потому что знакомое видение VCL исчезло; Что еще более важно, я не уверен в использовании Delphi для развития B/S. Через некоторое время расстройства я повернулся на платформу Java.
Но позже я увидел, что ASP.NET был действительно хорош, и Дельфи мог реализовать его, что дало мне желание увидеть моего старого друга. Но у меня не было времени учиться в то время, поэтому я не совсем понял. Я очень заинтересован в реализациях Intraweb и ASP.NET, и я хотел бы попробовать. Позже, испытание C# Builder1.0 дало мне хорошее впечатление о Борланде, но я все еще чувствовал, что это был последователь, и больше не имел возможности конкурировать с РС. Это напоминает мне о Гарфилде, который говорит, что если вы не можете победить своих врагов, лучший способ - присоединиться к ним.
Сегодня у меня есть еще одно отношение к Дельфи. Больше не требуя, чтобы это было лучшим и быстрее, но надеется, что вы сможете использовать Delphi в B/S и думать, что это легко использовать, чего достаточно. Что касается его внешнего вида и изменения пространства, после Delphi8 я начал принимать его.
Когда я случайно получил пробную версию Delphi2005, отправленную Borland, я хотел получить популярную игру и действительно хотел попробовать ее. Тем не менее, регистрация Борланда слишком «китайская», и я заставил меня бежать в Интернете, чтобы получить регистрационную машину. Он не очень привык не быть пользователем версии D.
(I) Привет, мир.
Delphi2005 - это интегрированная среда, включая Delphi и C#. Я чувствую, что у Борланда есть проблема с именом этого программного обеспечения.
Давайте сначала напишем Hello World, используя Delphi. В 2005 году было три разных способа разработки Delphi, и естественная среда применения также была различной. Они есть:
1 приложение vclforms для .net
2 WindowsForms Application для .NET
3 Приложение VCLForms для Win32.
Вот Hello World в трех способах.
1 приложение vclforms для .net
Код блока:
единица единицы 1;
интерфейс
Использование
Windows, сообщения, Sysutils, варианты, классы, графика, управления, формы,
Диалоги, stdctrls;
тип
Tform1 = class (tform)
Баттон1: Tbutton;
РЕДАКТИРОВАТЬ1: ТЕДИТ;
Процедура Button1click (отправитель: tobject);
Частный
{Частные объявления}
публичный
{Публичные объявления}
конец;
вар
Форма1: tform1;
Выполнение
{$ R *.dfm}
Процедура tform1.button1click (отправитель: tobject);
Начинать
edit1.text: = 'Hello World.';
конец;
конец.
Код формы:
Объект Форма1: tform1
Слева = 0
Верх = 0
Ширина = 281
Высота = 138
Подпись = 'form1'
Color = 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
конец
Объект Edit1: TEDIT
Слева = 8
Верх = 8
Ширина = 249
Высота = 21
Taborder = 1
конец
конец
Похоже, это ничем не отличается от предыдущей разработки Win32. Устройство и форма разделены и обрабатываются и сохраняются отдельно. В 2 эти две работы объединены в файл PAS.
2 WindowsForms Application для .NET
Unit 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 (Sender: System.Object; e: System.Eventargs);
{$ Endregion}
строго защищен
/// <summary>
/// Очистите любые используемые ресурсы.
/// </summary>
Процедура распознавать (утилизация: логическое);
Частный
{Частные объявления}
публичный
конструктор создать;
конец;
[Сборка: RuntimeRequiredAttribute (typeof (twinform))]]
Выполнение
{$ Autobox on}
{$ Region 'Сгенерированный код формы Windows'}
/// <summary>
/// Требуемый метод поддержки дизайнера - не изменяйте
/// Содержимое этого метода с редактором кода.
/// </summary>
Процедура Twinform.ItializeComponent;
Начинать
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);
//
// Twinform
//
Self.autoscalebasisize: = 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);
конец;
{$ Endregion}
Процедура twinform.sispose (утилизация: логическое);
Начинать
Если утилизировать, тогда
Начинать
Если компоненты <> nil, тогда
Components.dispose ();
конец;
унаследованное распоряжение (утилизация);
конец;
конструктор Twinform.create;
Начинать
унаследованное создание;
//
// Требуется для поддержки дизайнеров форм Windows
//
Инициализатор;
//
// TODO: добавьте любой код конструктора после вызова инициализации
//
конец;
Процедура twinform.button1_click (Sender: 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>
Public Class Winform: System.windows.forms.form
{
/// <summary>
/// Требуемая дизайнерская переменная.
/// </summary>
private System.componentmodel.container Components = null;
private System.windows.forms.textbox Textbox1;
private System.windows.forms.button Button1;
public winform ()
{
//
// Требуется для поддержки дизайнеров форм Windows
//
InitializeComponent ();
//
// TODO: добавьте любой код конструктора после вызова инициализации
//
}
/// <summary>
/// Очистите любые используемые ресурсы.
/// </summary>
Защищенное переопределение пустота утилизация (утилизация Bool)
{
if (утилизация)
{
if (компоненты! = NULL)
{
Components.dispose ();
}
}
base.dispose (dispose);
}
#Region Windows Designer сгенерированный код
/// <summary>
/// Требуемый метод поддержки дизайнера - не изменять
/// Содержимое этого метода с редактором кода.
/// </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";