⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample3_1.c

📁 经典LabWindows CVI方面的教材《LabWindows CVI开发入门和进阶》一书第3章中的例题源码
💻 C
字号:
#include <analysis.h>#include <ansi_c.h>#include <cvirte.h>		/* Needed if linking in external compiler; harmless otherwise */#include <userint.h>#include "sample3_1.h"static int panelHandle;int main (int argc, char *argv[]){	if (InitCVIRTE (0, argv, 0) == 0)		/* Needed if linking in external compiler; harmless otherwise */		return -1;	/* out of memory */	if ((panelHandle = LoadPanel (0, "sample3_1.uir", PANEL)) < 0)		return -1;	DisplayPanel (panelHandle);	RunUserInterface ();	return 0;}int CVICALLBACK Display (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	int noise_type ,i,j;	/*0 rand noise;1 white noise;2 gause noise*/	double mean,stdev,max,min;	double data_noise[100];	char buf[20]  ;	switch (event)		{		case EVENT_COMMIT:			GetCtrlVal (panelHandle,PANEL_RINGSLIDE, &noise_type);			switch(noise_type)			{				case 0:				/* Random  noise data */	          	for (i=0;i<100;i++)	               	data_noise[i] = rand()/32767.0 ;				break;				case 1:				/* white niose data*/				WhiteNoise (100, 1.0, 5, data_noise);				break;				case 2:				/*gause noise data*/				GaussNoise (100, 1.0, 5, data_noise);							break;			}			PlotY (panelHandle, PANEL_GRAPH, data_noise, 100, VAL_DOUBLE, VAL_THIN_LINE,				   VAL_SOLID_SQUARE, VAL_SOLID, 1, VAL_RED);			//calculate mean &stdev	 			StdDev (data_noise, 100, &mean, &stdev);  			//calculate min &max			MaxMin1D (data_noise, 100, &max, &i, &min, &j);       			//format string to display			sprintf(buf,"%6.2f",mean);			//display			SetCtrlVal (panelHandle, PANEL_MEAN, buf);			sprintf(buf,"%6.2f",stdev); 			SetCtrlVal (panelHandle, PANEL_STDEV, buf);			sprintf(buf,"%6.2f",min); 			SetCtrlVal (panelHandle, PANEL_MIN, buf);			sprintf(buf,"%6.2f",max); 			SetCtrlVal (panelHandle, PANEL_MAX,buf );  			break;		case EVENT_RIGHT_CLICK:			MessagePopup("help","press this button to display chart"); 			break;		}	return 0;}int CVICALLBACK ring (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:			break;		case EVENT_RIGHT_CLICK:			MessagePopup("help","press this button to select noise type");			break;		}	return 0;}int CVICALLBACK Clear (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT: 			DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW);   			SetCtrlVal (panelHandle, PANEL_MEAN, "");			SetCtrlVal (panelHandle, PANEL_STDEV, "");			SetCtrlVal (panelHandle, PANEL_MIN, "");			SetCtrlVal (panelHandle, PANEL_MAX,"" );  			break;		case EVENT_RIGHT_CLICK:			MessagePopup("help","press this button to clear chart");			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;		case EVENT_RIGHT_CLICK:			MessagePopup("help","press this button to quit");			break;		}	return 0;}int CVICALLBACK panel (int panel, int event, void *callbackData,		int eventData1, int eventData2){	switch (event)		{		case EVENT_LEFT_CLICK:			break;		case EVENT_LEFT_DOUBLE_CLICK:			MessagePopup("help","This is sample3_1 main Windows");   			break;		case EVENT_RIGHT_CLICK:			break;		case EVENT_GOT_FOCUS:			break;		case EVENT_LOST_FOCUS: 			break;		case EVENT_CLOSE: 			break;		}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -