labwindows随机数生成c语言,LabWindows/CVI虚拟仪器设计技术基本控件使用之:回调函数...

ing标题:文件名

OKBUTTONCommand Button标题:显示(__S) 回调函数:OkCallback

QUITBUTTONCommand Button标题:退出(__Q) 回调函数:QuitCallback

(2)程序源代码

?//头文件声明,系统自动添加

#include

#include

#include

#include "回调函数.h"

//全局静态变量

static int panelHandle;

//主函数

int main (int argc, char *argv[])

{

//初始化LabWindows/CVI 运行时库引擎

if (InitCVIRTE (0, argv, 0) == 0)

//如果返回值为0, 则初始化失败,返回–1

return –1;

//装载面板,返回面板句柄

if ((panelHandle = LoadPanel (0, " 回调函数.uir", PANEL)) < 0)

//如果装载面板失败,则返回–1

return –1;

//获得*argv[] 中的字符串,即为文件名

SetCtrlVal (panelHandle, PANEL_STRING, argv[0]);

//显示面板

DisplayPanel (panelHandle);

//运行用户界面

RunUserInterface ();

//删除面板句柄

DiscardPanel (panelHandle);

//主函数执行成功,返回0

return 0;

}

//面板回调函数

int CVICALLBACK PanelCB (int panel, int event, void *callbackData,

int eventData1, int eventData2)

{

switch (event)

{

//面板响应事件

case EVENT_CLOSE:

// 调用退出按钮的EVENT_COMMIT 事件

? QuitCallback (panelHandle, PANEL_QUITBUTTON, EVENT_COMMIT, 0, 0, 0);

break;

}

//函数返回值,0 表示成功

return 0;

}

//退出按钮

int CVICALLBACK QuitCallback (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

if (event == EVENT_COMMIT)

{

//退出用户界面

QuitUserInterface (0);

}

return 0;

}

//显示按钮

int CVICALLBACK OkCallback (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

//定义局部变量

int i;

double datapoints[100];

switch (event)

{

case EVENT_COMMIT:

// 产生100 个随机数,放入数组datapoints 中

for (i = 0; i < 100; i++)

{

datapoints[i] = rand() / 32767.0 * 100.0;

}

// 清除以前Graph 中绘制的波形

DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW);

// 在Graph 中绘制波形

PlotY (panelHandle, PANEL_GRAPH, datapoints, 100, VAL_DOUBLE, VAL_THIN_LINE,

VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);

break;

}

return 0;

}

3:程序注释

① main 函数

每一个C 程序都必须从一个main 函数开始,在调用其他函数流程后再次回到main 函数,并且在main 函数中结束整个程序的运行。实际上,main 函数可以放在程序的任何地方:有些程序员喜欢把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的。

在C语言中,main 函数可以有三个参数,即:argc,argv 和env 。

argc :整数类型,表示传给main 函数的命令行参数个数,一般为1。

*argv[] :二维字符串数组。在LabWindows/CVI 中,argv[0] 为程序运行时的文件名,与编译设置有关,在菜单Build→Configuration 下有两个选项,即:Release 和Debug。当选择Release 时,argv[0] 为当前工程名加上".exe";当选择Debug 时,argv[0] 为当前工程名加上"_dbg.exe"。argv[argc] 为NULL 。

*env:二维字符串数组,为环境变量。在LabWindows/CVI 中,env[]一般为空字符串且省略不写。

LabWindows/CVI 启动时总是把这三个参数传递给main 函数,参数的传递顺序为:argc 、argv 、env,可以在用户程序中加以说明也可以不说明,如果说明了部分或全部参数,它们就成为main 主函数的局部变量。main 主函数的声明方式主要有以下几种:

main (void)

main (int argc, char *argv[])

main (int argc, char *argv[], char *env[])

② InitCVIRTE 函数

初始化LabWindows/CVI 运行时(库)引擎。在使用外部编译器Visual C++ 、Borland C++ Builder 时调用,如果不使用外部编译器,不会影响程序正常运行。函数原型为:

int InitCVIRTE (void *HInstance, char *Argv[],

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值