关于LabWindows/CVI的操作问题 怎么样可以输入一个数据,包括面板和.c 程序,

例如编写,两数的和,这两个数是可以任意输入的,用LabWindows来编的... 例如编写,两数的和,这两个数是可以任意输入的,用LabWindows来编的 展开
 我来答
朴忆辰j3
2011-05-31 · 超过28用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:52.1万
展开全部

面板见图

程序如下:

#include <cvirte.h>

#include <userint.h>

#include "计算.h"

static int panelHandle;

int i;

double x,y,val;

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

{

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

return -1; /* out of memory */

if ((panelHandle = LoadPanel (0, "计算.uir", PANEL)) < 0)

return -1;

DisplayPanel (panelHandle);

RunUserInterface ();

DiscardPanel (panelHandle);

return 0;

}

int CVICALLBACK Quit (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

switch (event)

{

case EVENT_COMMIT:

QuitUserInterface (0);

break;

}

return 0;

}

int CVICALLBACK Jisuan (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

switch (event)

{

case EVENT_COMMIT:

GetCtrlVal(panelHandle,PANEL_NUMERIC,&x);

GetCtrlVal(panelHandle,PANEL_NUMERIC_1,&y);

GetCtrlVal(panelHandle,PANEL_RINGSLIDE,&i);

switch(i)

{

case 0:

val=x+y;

break;

case 1:

val=x-y;

break;

case 2:

val=x*y;

break;

case 3:

if(y==0)

{

MessagePopup("Warning","被除数不能为“0”");

}

else

val=x/y;

break;

}

SetCtrlVal(panelHandle,PANEL_NUMERIC_2,val);

break;

}

return 0;

}

威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
扈胤Gp
2011-06-03
知道答主
回答量:21
采纳率:0%
帮助的人:11.4万
展开全部
我的方法是这样的

#include <cvirte.h>
#include <userint.h>
#include <math.h>
#include "计算两数和.h"

static int panelHandle;
double *c;

int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "计算两数和.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}

int CVICALLBACK jisuan (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
double a,b,c;

case EVENT_COMMIT:
GetCtrlVal (panelHandle, PANEL_A, &a); //获取A数值
GetCtrlVal (panelHandle, PANEL_B, &b);//获取B数值
c=(a+b);
SetCtrlVal(panelHandle, PANEL_C, c);
break;
}
return 0;
}

int CVICALLBACK QUIT (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
QuitUserInterface (0);
break;
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式