我的学习生涯(Delphi篇) - 完结篇
大家看了这么许多的Delphi演示程序,希望对大家进入Windows编程有用!
我们开篇我们说了Delphi是Windows中C/S最好的开发工具。
众所周之,现今两大阵营:Java和.net! .net即为Delphi之父的另一力作。
-------------------------------------------------------------------------------------------------美丽分割线---------------------------
年代:2008
文件:mY0716.7z
程序运行效果如下:
此演示程序为动态生成菜单。
菜单项来源可以是变量,也可以是文件。
单元文件:
Unit1.pas
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus; type TForm1 = class(TForm) MainMenu1: TMainMenu; jurisdiction1: TMenuItem; procedure FormShow(Sender: TObject); private { Private declarations } public procedure myMenuClick(Sender: TObject); { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormShow(Sender: TObject); var tempStrList:TStringList; i1,i2,j1,j2:integer; myMenuItem1:TMenuItem; begin // tempStrList:=TStringList.Create; tempStrList.LoadFromFile(ExtractFilePath(ParamStr(0))+'s.txt'); i1:=tempStrList.Count-1; j1:=i1+1; // add subItem for i2:=0 to i1 do begin myMenuItem1:=TMenuItem.Create(Self); myMenuItem1.Name:=tempStrList.Strings[i2] + IntToStr(i2+1); myMenuItem1.Caption:=tempStrList.Strings[i2] +' '+ IntToStr(i2+1); myMenuItem1.OnClick:=myMenuClick; MainMenu1.Items[0].Add(myMenuItem1); end; {// add menu for j2:=1 to j1 do begin myMenuItem1:=TMenuItem.Create(Self); myMenuItem1.Name:=tempStrList.Strings[j2-1]+IntToStr(j2); myMenuItem1.Caption:=tempStrList.Strings[j2-1]+' '+IntToStr(j2); MainMenu1.Items.Insert(j2,myMenuItem1); end;} end; procedure Tform1.myMenuClick(Sender: TObject); begin ShowMessage(TMenuItem(Sender).Caption); end; end.
Anders Hejlsberg曾在丹麦科技大学学习工程学,他编写的Pascal编译器的核心,1981年将Pascal编译器卖给了Borland,并加入 Borland公司,那时的Borland公司还是一个名不见经传的小公司。
Anders Hejlsberg在Borland主持开发了Turbo Pascal,Turbo Pascal获得一直好评,Anders Hejlsberg并未止步不前,他将Turbo Pascal编程一种面向对象的、拥有可视化环境和卓越的数据库访问特性的应用程序开发语言-Delphi。
Java出现了。Anders Hejlsberg在Borland一直郁郁不得志,据Borland内部人士讲Anders Hejlsberg认为自己不再是不可或缺的人。比尔盖茨慧眼识才,三故茅庐,把Anders Hejlsberg请到了微软。最开始微软许以重金,但Anders Hejlsberg不为所动,当清楚Anders Hejlsberg的想法后,比尔盖茨答应给他一个宽松的环境,既领导Visual J++小组,并提供薪水和红利奖金300万美元。这样Borland这个大牛孵化器为微软输送了一位超级大牛。好景不长,SUN公司认为微软破坏了java的跨平台性,很快微软就会利用它的VJ++将java开发人员拉拢到它的周围,而它的VJ++以及WFC的很多特性明显是为了Windows平台设计。SUN中止了对微软的java授权。此后微软便选择Anders Hejlsberg担任C#的首席设计师。
Anders Hejlsberg,微软.NET的首席架构师,编程语言设计和实现的顶尖高手。他一手做出了Turbo Pascal,也是Delphi, J++(尤其是WFC),C#和.NET的主要作者。这些作品的名字足以为他立传。作为一个程序员,我在这样的大师面前实在无语。生子当如Anders的说。李维的《Borland传奇》里已详细讲述了Anders的传奇故事
Anders Hejlsberg这位不世出的软件天才,是目前全世界最顶尖的软件技术人员之一。论实现技术,Anders可能是目前的第一高手,因为他精通程序语言、编译器技术、开发工具、Framework以及系统架构。我虽然知道许多软件界重要的人物和好手,但是尚不知有任何人能像Anders一样在这么多领域都能成为大家。
下面是笔者整理出Anders Hejlsberg到目前为止重要的功绩、贡献以及获颁的重要大奖:
" 和Philippe Kahn共同创办Borland
" 开发出Turbo Pascal,当时首创的In-Memory Compiler震惊了全世界
" 开发出全世界最畅销的Pascal产品,Turbo Pascal(这是许多信息人员学习Pascal和Data Structure使用的经典产品)以及Borland Pascal。
Turbo/Borland Pascal合计销售超过了数百万套。Dr. N. Wirth(Pascal语言的创始人员)也应该向Anders致敬,表达Anders对于Pascal语言的贡献
" Anders使用汇编语言撰写编译器,其功力无人能出其右。创造出了全世界速度最快、品质也是一流的Pascal编译器。
在Anders离开了 Borland之后,几乎没有人能够修改Anders的编译器
" 开发出影响深远的Delphi这个伟大的RAD工具
" 开发出VJ++语言
" Microsoft .NET的Architect
" Microsoft颁授Microsoft Distinguish Engineer大奖
" 发明C#这个又将造成重大影响的语言
" 获颁2001年Dr. Dobbs' Journal的Excellence In Programming大奖
一个人一生能够做出几件让全世界都津津乐道的事业呢?Anders却成就了无数PC界伟大的功绩,并且在程序语言、编译器、开发工具以及 Framework方面都有重要的贡献。PC软件界因为有了Anders而精彩、丰富了许多,也创造了许多令人惊叹的故事。更棒的是Anders现在仍然在继续贡献他惊人的天分,就让我们拭目以待,看看Anders还能创造什么功迹吧。不过,不管以后如何,相信Anders应该是大部分软件人员希望学习的目标。Anders的功力也是大部分软件人员一生企望能够达到的境界。
在2002年Borland Developers' Conference中,Anders Hejlsberg是排名第一的Keynote Speaker,尚在Java的创始人James Gosling之前。根据现场同时聆听这两场Keynote Speech的听众报道,Anders的Keynote Speech是非常精彩的,而James的Keynote Speech则相对的枯燥,许多人因此而提前离席。而且Anders在开始进行Keynote Speech之时,便获得了现场所有听众起立鼓掌致敬,看来,在大多数Borland开发工具使用者的心中,Anders Hejlsberg是永远的巨星。