Delphi入门点点滴滴 [原创](2001年底写的,久远…

2008-04-09 04:22:17来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

[发表于2002年第11/12期《电脑报》软件星空版,连载两期。]

“聪明的程序员用Delphi!”现在,真是有越来越多的人开始用Delphi了。不过,高手毕竟是少数,像我这样的菜鸟可谓遍地都是,哈哈。既然是菜鸟自然就有一大堆很菜的问题,什么这个怎么设置、那个怎么写的……所以,以下我就以我所积累的那一点点经验和论坛上常见的小问题作一个总结性发言(全场热烈鼓掌!哎,这鲜花我就收下了,那个什么烂番茄就不要扔上来了嘛)


==系统应用篇==

A.Delphi自代了大量的常用控件,如Delphi5就有一百多了,而今年出的Delphi6更是Delphi5的1.5倍。这么多控件,就是在1024*768的分辨率下也无法全部显示他们的组件面板,而每次要按那两颗小按钮来显示更多的面板,真是非常不方便!但通过添加下面那一个注册表键值就能实现组件面板自动展开:
[HKEY_CURRENT_USER\Software\Borland\Delphi\X.0\Extras]
"AutoPaletteSelect"="1"
(注:X.0表示你的Delphi的版本号;如果没有Extras主键则新建即可,下同)

B.每次新建窗体,然后设置其字体、大小……真是好麻烦的!那就再添加一个以下的键值,让系统自动来设置吧:
[HKEY_CURRENT_USER\Software\Borland\Delphi\X.0\FormDesign]
"DefaultFont"="宋体,9,_"
(注:_表示空格,也可以用Bold(粗体)等代替)

C.自定义工作环境,让它更加适合自己。
•设置工具栏。在Delphi的工具栏右键单击,选Customize,然后挑选需要的按钮拖到工具上,把不要的拖出来。我常用的是:Standard工具栏下的Open、Open Project、Save、Save All、Undo、Redo;Debug工具栏下的Pause、Add Watch、Program Reset、Run;Desktop工具栏下的Save Current Desktop、Set Debug Desktop;Component Palette工具栏。
•设置窗口布局。为了能跟高效的编写程序,合理的布置各个窗口是很重要的。我常用的窗口有:Object Inspector、Project Manager(View|Project Manager)、Watch List(Run|Add Watch...) ,具体的停放位置如图1。
图1[图1]
设置好各个窗体后按Desktop工具栏上的Save Current Desktop按钮保存。
•设置显示颜色。让代码的颜色更符合自己的习惯,有利于编写时思维的清晰。Tools|Editor Options打开Editor Properties,选Color标签页,设置代码颜色。以下仅解释一下几个常用的:
Whitespace:空白处,即背景;
Comment:注释;
Reserved word:保留字;
String:字符串;
Number:数字;
Execution Point:正在执行的当前行(即F7步入时所到达的那一行);
Enabled break:断点;
Error line:错误发生行;

D.掌握一些Delphi编程中的快捷键,能够极大程度的提高效率,还不会让你因为过多无聊的设置等而感到厌烦,现在如果不用这些快捷键,我会很不适应这样的编程的!以下我就介绍一下我常用的几个快捷键:
Esc : 选择当前选中组件的容器(通常是Panel,GroupBox或Form等);
Ctrl 方向键 :将所选组件移动一个像素;
Ctrl Shift 方向键 :将所选组件移动一大格(类似Fireworks中按住Shift再用方向键移动时的效果);
Shift 方向键 :调整选中组件的大小,每次一像素;
Shift 选中组件 :按住Shift键再用鼠标点击组件,可以同时选择多个组件;
Ctrl 鼠标左键 :在procedure中掉用其他的函数(如一个自定义的过程),在这个调用处按住Ctrl会发现当鼠标移上去的时候变成了一个类似超链接的格式,鼠标单击就能直接转到所调用的此函数的实现部分。这个功能我可是用的最多了,让我找模块变得非常方便!
Ctrl Shift C :在一个对象中声明了一个方法,然后把光标放到它的上面,按下Ctrl Shift C就可以为他的实现建立一个基本框架,如:
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure Mine;
end;
把光标放到procedure Mine这行,按下Ctrl Shift C,下面这段代码将自动插入到单元中:
procedure TForm1.Mine;
begin

end;


==窗体操作篇==

在有多个窗体的程序中,Delphi默认是将它们在程序启动时全部创建(只是都隐藏了,只显示一个主窗体),这样,那些暂时不必要启动的窗体就占用了许多内存空间。所以我们需要在菜单Project|Options...的Forms标签页下,将那些暂时不要启动的窗体从“Auto-create forms”下转移到“Available forms”中。这样,这些窗体的创建和释放就需要代码来实现了。
A.两种创建窗体方法之比较。对于这些非自动创建的窗体,我们必须在Show之前Creat(Self)或Create(Application),将其创建。如Form2.Creat(Self)和Form2.Create(Application),可是,它们两个到底有什么区别呢?其实两者区别不大,
但如果Owner是属于别的窗口或控件的话,当它的Owner被释放的时候,该Owner所拥有的也会被释放。关键的区别是由谁来管理该窗体的资源。用第一种方法创建,该窗体的资源由编程者来负责管理;用第二种方法创建,该窗体的资源由Application来管理。

B.几种窗体的释放方法。既然是为了节约内存,那么用完了的窗体就应该“搬出”内存。在这里我列举几个大同小异的方法:
(1)
procedure TForm1.Button1Click(Sender :TObject);
begin
......
if Form2 = nil then
Form2:=TForm2.Create(Application);
Form2.ShowModal;
......
end;

procedure TForm2.close(Sender: TObject; var Action: TCloseAction);
begin
ModalResult := mrNone;
Action := caFree;
Form2 := nil;
end;
(2)
procedure TForm1.Button1Click(Sender :TObject);
begin
if not Assigned(Form2) then
begin
Application.CreateForm(TForm2,Form2);
try
Form2.ShowModal;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi 7 中使用RAVE报表(二)

下一篇:创建快捷方式到[启动]