Delphi中TApplication类的巧用 - DELPHI

Delphi中TApplication类的巧用 - DELPHI
北京 魏文柏

 

 

---- Delphi是一种面向对象的编程语言,由于它采用完全集成OOP的优点,因此

 

使它成为目前十分流行的Windows开发工具。在Delphi包含的众多类中,TApplic

 

ation是一个有着十分重要作用的类。TApplication类是用于描述Delphi编制的应

 

用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。下面我

 

们就举几个这方面的例子。

 

---- 1 检测当前Windows程序是否被激活:

 

---- Tapplication类有一个属性——Active,这个属性就可以描述当前运行的程

 

序是否被激活,成为Windows的焦点。检测的代码如下:

 

If Application.Active=False then

ShowMessage(’当前窗口没有被激活’);

 

---- 2 取得当前程序的名称:

 

---- Tapplication类的EXEName属性可以返回这个可执行程序的完整文件名(包

 

含路径)。实现的代码如下所示:

 

---- ShowMessage(Application.ExeName);

 

---- 3 改变程序极小化时的标题

 

---- 如果您细心观察可以发现,一些程序的标题和程序的名称并不一致,尤其是

 

一些英文程序,窗体的标题栏比较长,可以容纳比较多的文字,而在最小化时,

 

往往变成了很少的几个字母。这中间起作用的就是Tapplication类的Title属性。

 

这个属性决定了程序最小化时的标题,而窗口中标题栏的标题是由Form的Captio

 

n属性来决定的。其代码如下:

 

Form1.Caption:=’ 窗口的标题’;

Application.Title:=’程序的标题’;

 

---- 其实我们也可以在在程序设计时指定Tapplication类的Title属性值。操作

 

的方法是在开发环境中拉下Project菜单,选择Options菜单时弹出如图1 (略)的对

 

话框。在这个对话框中的Title栏中填写程序的标题一样也可以达到这种效果。并

 

且因为一般的工程文件都是以英文命名的,所以程序运行过程中弹出的消息框中

 

的标题是英文。但在指定了这个属性之后,这个程序的所有消息窗口的标题都变

 

为Title的值。这就使得程序看起来更加完整。

 

---- 4 指明程序的主窗口

 

---- Windows系统中的界面都是窗口,但一般来讲有一个主窗口。Tapplication

 

的MainForm属性就可以返回程序的主窗口。

 

---- 5 显示消息框

 

---- Delphi有许多显示消息框的函数与过程,比较常用的是ShowMessage,它用

 

起来虽然十分方便,但是却有一个问题,那就是这个消息框的按钮是以英文显示

 

的。如果要生成一个含有中文显示的按钮就要求助于Tapplication的MessageBox

 

函数了。这个函数的原形如下:

 

---- function MessageBox(Text, Caption: Char; Flags: Longint): Integer

 

;

 

---- 在这个函数中,前两项分别是显示的提示信息和消息窗口的标题,Flags是

 

一个长整值,用来指定按钮的个数及功能。熟悉Delphi的用户可能会注意到,这

 

个函数和Delphi 3所提供的同名函数有一点不同,那不是这个版本中字符串参数

 

都以字符的形式给出,而不再要求将其转化成指针。我们在使用时要注意加以区

 

别。

 

---- Application.MessageBox('需要存盘吗?','提示信息',MB_OKCANCEL); 这

 

个语句在运行时显示的样式如图2 (略) 所示。

 

---- 最后就这个函数的返回值作一些说明,实际上这个函数返回的是一个整型的

 

数值,而这个数值被系统指定了具体的含义,比如:按下“确定”按钮时返回的

 

值是“1”,而其它按钮的值列在表 1 中。

 

---- 表 1 按钮的意义及系统中对其定义的值

 

按钮的意义 按下此按钮时函数返回的值

IDABORT 3

IDCANCEL 2

IDIGNORE 5

IDNO 7

IDOK 1

IDRETRY 4

IDYES 6

 

---- 6 控制窗口的尺寸

 

---- 一般可以用窗口手柄来调整窗口的尺寸,但是也可以用Application的事件

 

来调整。实现的方法是用以下两个过程:

 

Application.Minimized;

Application.Restore;

 

---- 前一个过程用来将程序的主窗口最小化,而后一个过程用来将最小化的窗口

 

恢复到原来的尺寸。

 

---- 7 链接联机帮助文件

 

---- Application的CurrentHelpFile属性能够指定当前程序所用的联机帮助文件

 

的文件名。这个属性经常与另一个方法联合在一起使用。举例如下:

 

 

Application.HelpFile := '联机帮助文件名';

Application.HelpJump('联机帮助文件的主题’)

 

---- 通过这一命令组合,我们就能使系统弹出一个显示某主题的联机帮助文件。

 

 

 

---- 8 在程序运行时动态地创建窗口

 

---- 一般情况下,窗口是在设计时加入到工程项目中的,但是有时也需要我们在

 

程序运行时动态地加入窗口,这就要用到Application 的CreateForm过程,举例

 

如下:

 

Form3:Tform3; //声明窗口类

Application.CreateForm(TForm3, Form3); //创建窗口

 

---- 9 结束程序

 

---- 虽然我们可以用关闭主窗口的方法来关闭一个程序,但是更好的办法是用A

 

pplication的Terminate过程。它能够起到更彻底地关闭程序的效果。

 

---- 10 Destroy 属性.

 

---- 虽然Delphi提供了这一属性,但是并不提倡使用它,如果要终结程序就要调用

 

Terminate过程,而Destroy过程一般是用来在程序发生悬挂时来退出程序时才调

 

用,有些类似Windows中的结束任务功能。它不仅能关闭程序实例本身,而且还能

 

释放程序所占用的资源,能够达到将程序彻底清除出系统的目的。
本文来自: 书部落-电子书下载(www.shubulo.com) 详细出处参考:http://www.shubulo.com/thread-38013-1-2.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在风能领域,准确预测风速对于风电场的运行与管理至关重要。Matlab作为一个强大的数学计算和数据分析平台,被广泛应用于风速预测模型的构建。本文将深入探讨基于四种风速——随机风、基本风、阵风和渐变风的组合风速预测技术。 我们来理解这四种风速型: 1. **随机风**:随机风是指风速呈现出随机性的变化,通常由大气湍流引起。在建模,通常通过统计方法如高斯分布或Weibull分布来模拟这种不确定性。 2. **基本风**:基本风速是指在无特定扰动条件下的平均风速,它是长期观测结果的平均值,通常用于结构设计和风能评估。 3. **阵风**:阵风是短时间内风速显著增强的现象,对建筑物和风力发电机造成的主要威胁之一。阵风的预测涉及到风的脉动特性分析。 4. **渐变风**:渐变风是指风速随时间和空间逐渐变化的过程,常见于风向转变或地形影响下的风场变化。 在Matlab,利用这四种风速型进行组合预测,可以提高预测的准确性。预测模型可能包括以下几个步骤: 1. **数据收集与预处理**:收集历史风速数据,包括随机风、基本风、阵风和渐变风的数据,进行异常值检测、缺失值填充以及数据标准化。 2. **特征工程**:提取风速变化的相关特征,如平均值、标准差、极值、频率分布等,这些特征可能对预测有重要影响。 3. **模型选择**:可以选择多种预测模型,如时间序列分析(ARIMA、状态空间模型等)、机器学习算法(线性回归、决策树、支持向量机、神经网络等)或深度学习模型(LSTM、GRU等)。 4. **模型训练**:利用历史数据训练选定的模型,调整模型参数以优化性能,例如通过交叉验证来避免过拟合。 5. **模型验证与评估**:使用独立的测试集验证模型预测效果,常见的评估指标有均方误差(MSE)、平均绝对误差(MAE)和决定系数(R²)。 6. **组合预测**:结合四种风速的不同模型预测结果,可以采用加权平均、集成学习(如bagging、boosting)等方式,以提升整体预测精度。 7. **实时更新与动态调整**:实际应用,模型需要不断接收新的风速数据并进行在线更新,以适应风场环境的变化。 通过以上步骤,可以构建一个综合考虑各种风速特性的预测系统,这对于风电场的功率输出预测、风电设备的维护计划以及电网调度都具有重要价值。然而,需要注意的是,每个风场的地理环境、气候条件和设备状况都有所不同,因此模型的建立应根据实际情况进行定制和优
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

martian6125

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值