当前位置:文档之家› 用DELPHI进行非PASCAL语言应用程序的界面设计

用DELPHI进行非PASCAL语言应用程序的界面设计

112计算机应用研究2000年用DELPHI进行非PASCAn吾言应用程序的界面设计

刘公致郭裕顺

(杭州电子工业学院。址研究所杭州3l0037)

摘要介绍了一种用DEu硼为非PAscAL语言蝙写的应用程序设计界面的方法,其中包括DEL腓Ⅱ

与谊种语言的接口、相互之间敷据的传递.用DELPm定时器实现应用程序执行过程中间状态的动态

显示及应用程序线程创建的方法.

关键词混夸语言设计界面设计Dl丑P}Ⅱ

O前言

目前开发应用程序时为其做一界面是必不可少的。做界面的工具根多,如vB、w、D咖Ⅱ等。相比较而言D丑Pm集使用方便,界面美观、功能强大、编写程序少、易于维护等优点于一身,因此程序

开发人员常优先选用它来为应用程序设计界面。

DⅡP}Ⅱ中的语言是以队scAL为基础的,但大量已有的应用程序并不是用瑚scAL写的.如用c、F(倒IRAN等,这就产生了一个问题:如何在D甩P}Ⅱ环境下为这些应用程序进行界面的开发?

这里我们舟绍用DELP}Ⅱ为一个用c语言编写的应用程序开发界面的方法。这是一个用于电路优化的程序,执行时需反复迭代计算直到误差小到一定程度时停止.执行一次需教秒至数十分钟不等的时间,要求能在界面上实现对程序执行过程的控制(启动、暂停、终止).应用程序某些参教的设置(优化方法、优化参鼓、收敛准则等),还要动态显示每扶迭代中间结果并将结果以波形画出。我们通过如下一些问题的解决,完成了这一任务。

(1)利用w耐。懈提供的动态链接库及DEL咖支持DLL这一特点,将c语言编写的应用程序做成一动态链接库,供DELP}Ⅱ调用,实现了c语言与PAscAL

语言的混合使用;

(2佣DⅡ脚定时器实现应用程序执行过程中间状态的动态显示;

(3)为了实现对应用程序的控制和计算机在执行应用程序的同时还能进行其它操作.为它创建了—线程。

下面我们介绍具体解决过程。

1C涪言与DELPm的接口

1)在DEL唧下调用非BAscA“吾言编写的应用程序,首先要用该种语言开发工具将其做成动态链接库.因为应用程序用c语言编写,所以我们用vc+"O为工具。先在源程序中将其定义为可被外部调用的函数.然后在vc++5.0中选择连成-DLL文件,即可生成DLL库.对本应用程序.相关的源程序代码如下:

收稿日期:1999年5月31日-d。c】叩%渊k州)Voidd∞Pt();

-dccl畔叫l骼p0埘voidh衄d|h(d卸ue’,d删bIe气doⅡbk’,i吐d叫bl一);

voidd帅pt()

v耐dh枷d出(d硼bb’pl吨dd曲k伽p%以d帅蜘一psp。q

iIIt’fMqdo.1b忙‘岬D

dcdspe“dlkq圳说明所定义的函数可被外部调用。此动态链接库中除了doop“)是优化程序外,另一函数虹日口sda叫)是用于传送应用程序执行状态的信息的.在定时器中调用。通过这一函数的不断访问,DELPm能及时获得应用程序的当前状态信息,从而在界面上定时刷新,达§Ⅱ动态显示的目的。上述动态链接库的名字为delod1I。

2)其次需在DELPm主程序中说明应用程序为库函数,本程序相关的源程序代码如下:

Pr口∞dI肿traⅡBda吣kpo缸机P暑o:Po抵p:poir岫”:Po“《∥:poim咄出I,

ad酬q山.d彤埘∞cbmda乜!

pm∞hdo州“k。d%I;

cx吲qckmr删鹏Ⅵoo一;

关键字cded是调用规则,说明调用的是c语言函数。“妇m皓诉编译器,应把源程序代码中对这个函

数的调用处理成在这里给出名字的外部D]jL模块的调用,这里是把对曲邶dgca(埽列州)调用处理成对外部

del0dl懒的调用。

2动态显示

要在界面上实现应用程序执行状态的信息的动态显示,一般的方法是在应用程序每循环一次时调用界

面更新程序一次或设法向windows发送重画消息。但这里应用程序用c语言编写。在DE咖环境下界面更新程序只能用BAscAL语言编写,c无法直接再调用DELPm中用BAscAL语言编写的界面更新程序,向wiIId删雌发送重画消息再触发界面更新程序也较难实现,因此我们选用D】旺H皿中的定时器来实现动态显示。定对器允许在指定间隔内触发事件,在定时器定时触发事件处理程序中写一段代码,该代码段首先要取得应用程序执彳亍状态的信息。在这里是调用上述数据传送子程序廿ansd勘a().其次是刷新界面,这里是调用界面更新程序red州)。定时器每隔—段时问触发一班,传送一次数据,然后通过—变量(胁10洌断数据与上次

 万方数据

相关主题
文本预览
相关文档 最新文档