sample2_2.c

来自「CVI例程」· C语言 代码 · 共 130 行

C
130
字号
#include <userint.h>#include <analysis.h>#include <ansi_c.h>#include "sample2_2.h"int handle;		 //panel handlevoid GenerateWave (int ,double[],double); int trace_color=0/*black*/, shape=0/*sin*/;  //color ,shapdouble datapoints[100];  //wave data pointdouble wavepeak=60; 		 //wave peakvoid DisplayChart(void);      int main(int argc, char *argv[]){    if (InitCVIRTE (0, argv, 0) == 0)   /* Initialize CVI libraries */        return (-1);    /* out of memory */    //Load main panel        if ((handle = LoadPanel (0, "sample2_2.uir", PANEL)) < 0)        return -1;    //Display main panel    DisplayPanel (handle);    //init shape ,peak,color	//set wave shape 	SetCtrlVal (handle, PANEL_WFM, shape);                                     //set wave peak                                                         	SetCtrlVal (handle, PANEL_NUMERICSLIDE, wavepeak);             		    //set wave color                                                            SetCtrlVal (handle, PANEL_COLOR, trace_color);                                 //go into the message loop,waiting user interface event    RunUserInterface ();            return 0;       }//call back function of  get wave buttonint CVICALLBACK Display(int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    if (event == EVENT_COMMIT)    		DisplayChart();           return(0);}	 //call back function of quit buttonint CVICALLBACK Quit(int panel, int control, int event, void *callbackData, int eventData1, int eventData2){    switch(event)    {    case EVENT_COMMIT:        QuitUserInterface(0);    break;    }    return(0);}//call back function of peak numeric controlint CVICALLBACK NumericPeak (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:			    //get wave peak                                                         			GetCtrlVal (handle, PANEL_NUMERICSLIDE, &wavepeak);             					DisplayChart(); 			break;		}	return 0;}//call back function of color selection controlint CVICALLBACK Getcolor (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:		    //get wave color                                                        		    GetCtrlVal (handle, PANEL_COLOR, &trace_color);                         			DisplayChart();			break;		}	return 0;}//call back of  wave shap selection  ring sliderint CVICALLBACK GetWFM (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:			//get wave shape 			GetCtrlVal (handle, PANEL_WFM, &shape); 			DisplayChart()   ;			break;		}	return 0;}//call back function of clear waveint CVICALLBACK ClearWave (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)		{		case EVENT_COMMIT:  			 //clear old wave    		DeleteGraphPlot (handle, PANEL_GRAPH, -1, 1);      		break;		}	return 0;}void DisplayChart(){switch (shape) {                                                		                case 0 :                                                    		                    GenerateWave (1,datapoints,wavepeak);                   		                    break;                                                  		                case 1 :                                                    		                    GenerateWave (2,datapoints,wavepeak);                   		                    break;                                                  		                case 2 :                                                    		                    GenerateWave (3,datapoints,wavepeak);                   		                    break;                                                  		                case 3 :                                                    		                    GenerateWave (4,datapoints,wavepeak);                   		                    break;                                                  		                }                                                           		    //clear old wave                                                		    DeleteGraphPlot (handle, PANEL_GRAPH, -1, 1);                   		            //plot new wave                                                 		    PlotY (handle, PANEL_GRAPH, datapoints, 100, VAL_DOUBLE,        		               VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, trace_color);}

⌨️ 快捷键说明

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