简单地讲,控件就是一个从TComponent继承的类,事件就是一个函数,一个留给
控件使用人员的接口(java中就是用接口实现事件),看下面这函数
procedure TControl.Click;
begin
.......
if Assigned(FOnClick) then
FOnClick(Self);
end;
TControl是所有运行期可视的控件的基类,
FOnClick是一个函数,当在IDE中实现一个函数,Delphi偷偷把这个函数的指针给了
哪个类,可以用资源查看器打开Delphi编译后的文件,我用的是Resource Hacker,
在RC数据一段找到TFrom1(窗体类名),可以看到下面的内容
object Button1: TButton
....
OnClick = Button1Click
end
Delphi偷偷把自已实现的Button1Click给了Button1.OnClick,哪现在
类内部使用 TControl.Click时,将顺便调用Button1Click,这个就是Delphi的事件
触发模型.事件并不是pascal的语言特性,是语言的一种运用.java提供一个更好
的模型(事件同样不是java的语言特性),具体实现就不太清楚了.
按上面的要求写的类就可以成为Delphi的控件,具有事件跟属性.
程序越来越复杂,不可能只用一个控件完成,当然有些人喜欢把一堆东西封在一起,
现在不讨论这种.程序由很多件组成,每个组成件需要由多个控件(类)一起工作完成,
对于如此复杂的情况,为了减少开发风险,没人想一边开发一边担心开发完的程序是什么
样的呢(我称这个叫不受控开发),所要需要先建模,建模不是软件工程特有的,建筑工程
家具加工工程,鞋,机箱.......所有传统行业都有建模习惯,因为没人想不受控地开发一
件产品.ModelMaker就是一种使用UML语言的超级轻量级的建模工具(像我这种菜鸟正好),
没人会只开发一,二个类就从ModelMaker中得到好处,也不一定开发一套组成件就从
ModelMaker中得到好处,可以从下面我跟三石的一些聊天得到一些灵感
2003-03-16 21:17:24 我是我
你用什么绘图
2003-03-16 21:17:08 三石
绘图,当然是AutoCAD.
2003-03-16 21:18:41 我是我
天天到机房就是搞这个?
2003-03-16 21:19:09 三石
前期全是计算,后期才是绘图
2003-03-16 21:20:41 我是我
是不是要用很多高数
2003-03-16 21:21:20 三石
数学知识到是用不了多少,
关键是工程上的事情并不是全按公式来。好多要根据实际经验来。
2003-03-16 21:22:52 我是我
这些我是不懂的,介绍一下给我听听
2003-03-16 21:25:07 三石
我也太懂。你学过流体力学吗?那里面没有几个理论公式,
全是经验公式,而这些经验公式中的好多参数是要根据实验情况来确定。
书上只给一个范围(比如1.0~1.5)到底选多大就要自己掌握了。
2003-03-16 21:28:14 我是我
也就是说你们做出来的设计用好材料不见得防震,用少了不见得会倒
2003-03-16 21:28:52 三石
可以做这个类比。有成本制约着呢。
2003-03-16 21:31:10 我是我
有你的设计吗,send张让我看看
怎样叫一个好的模型,早两天阳光卫视播放了样式雷的工程图,几百年的工程世家,
北京的一大堆的皇家建筑都是由这个家族建的,他们连每一块木的尺寸就有记录,
如果每个按钮大小都有记录相信就是一个不错的模型了.当然不是哪些做做样子的,
不少豆腐工程就是在模型上做做样子,用来骗骗不懂的人.