我的学习生涯(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


       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是永远的巨星。 


原文地址:https://www.cnblogs.com/dyllove98/p/3138703.html