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

📄 graph.c

📁 labview程序编程技巧演示
💻 C
字号:
#include <analysis.h>
#include "toolbox.h"
#include "graph.h"

static int panelHandle;

//自定义进程处理函数
int CVICALLBACK EventFunction (int panelOrMenuBarHandle, int controlOrMenuItemID, int event, void *callbackData, int eventData1, int eventData2);

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

int CVICALLBACK QuitCallback (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			
			//关闭主回调函数
			InstallMainCallback (NULL, 0, 0);
			QuitUserInterface (0);
			break;
	}
	return 0;
}

int CVICALLBACK graph (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	double sin[1024];
	switch (event)
	{
		case EVENT_COMMIT:
			
			//产生一个正弦函数数组
			SinePattern (1024, 1.0, 0.0, 1.0, sin);
			
			//绘制Graph图
			PlotY (panelHandle, PANEL_GRAPH, sin, 1024, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);
			break;
	}
	return 0;
}

int CVICALLBACK stripchart (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			
			//为面板、控件和菜单安装主回调函数
			InstallMainCallback (EventFunction, 0, 1);
			
			//设置主回调函数的响应时间
			SetIdleEventRate (100);
			break;
	}
	return 0;
}

int CVICALLBACK digitalgraph (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	int array[12]={0,2,3,5,6,0,15,0,9,21,0,1};    
	switch (event)
	{
		case EVENT_COMMIT:
			
			//清除DigitalGraph上的原始图
		    ClearDigitalGraph (panelHandle, PANEL_DIGGRAPH);
		    
			//绘图
			PlotDigitalLines (panelHandle, PANEL_DIGGRAPH, array, 12, VAL_INTEGER,3);
			break;
	}
	return 0;
}
										
int CVICALLBACK EventFunction (int panelOrMenuBarHandle, int controlOrMenuItemID, int event, void *callbackData, int eventData1, int eventData2)
{
	double value[1];
	
	//产生一个0到100之间的随机数
	value[0] = Random (0, 100);
	
	//绘图
	PlotStripChartPoint (panelHandle, PANEL_STRIPCHART, value[0]);
	return 0;
}

⌨️ 快捷键说明

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