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

📄 sample4_4.c

📁 CVI教程,用于信号采集系统的多任务开发软件.学习简单,功能实用.
💻 C
字号:
#include <ansi_c.h>#include <cvirte.h>		/* Needed if linking in external compiler; harmless otherwise */#include <userint.h>#include "sample4_4.h"static int panelHandle;char pass1[15],pass2[15];char maskKey;int getPassword(char *buf,int eventData1,int *peventData2) ;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, "sample4_4.uir", PANEL)) < 0)		return -1;	DisplayPanel (panelHandle);	GetCtrlVal (panelHandle, PANEL_RING, &maskKey);  	RunUserInterface ();	return 0;}//callback of text box for confirm password int CVICALLBACK password2 (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_KEYPRESS:			return getPassword(pass2,eventData1,&eventData2);  	}	return 0;}//callback of text box for password     int CVICALLBACK password1 (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_KEYPRESS:			return getPassword(pass1,eventData1,&eventData2);    }                                                                                 	return 0; }int CVICALLBACK Exit (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			QuitUserInterface (0);			break;	}	return 0;}int CVICALLBACK mask (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	switch (event)	{		case EVENT_COMMIT:			GetCtrlVal (panelHandle, PANEL_RING, &maskKey); 			break;	}	return 0;}//callback of confirm buttonint CVICALLBACK Compare (int panel, int control, int event,		void *callbackData, int eventData1, int eventData2){	char buf1[100],*buf2;	char temp1[]={"your input is right"},temp2[]={"your input is wrong"};	int flagError=0;		switch (event)	{		case EVENT_COMMIT:  			if(strcmp(pass1,pass2)==0)			{			buf2=temp1;			flagError=0;			}			else			{			buf2=temp2;			flagError=1;			}			sprintf(buf1,"The password you input is %s,\nthe confirm password is %s,\n%s",pass1,pass2,buf2);			MessagePopup("Message Box",buf1);			if(flagError==0)			   QuitUserInterface (0);     			else			{			   pass1[0]='\0';			   pass2[0]='\0';			   SetCtrlVal (panelHandle, PANEL_STRING1, "");			   SetCtrlVal (panelHandle, PANEL_STRING2, "");   			}			break;	}	return 0;}//set text box mask function  int getPassword(char *buf,int eventData1,int *peventData2){    char asciiCode;    int virtualKey;         /* cursor keys, function keys, esc, enter, etc.. are virtual keys */    int swallowEvent = 0;   /* 0 means DO NOT swallow (ignore) the event, only mouse and key event can be swallowed */    int len;     char temp[2]={""};    asciiCode = eventData1 & VAL_ASCII_KEY_MASK;    /* key masks are defined in userint.h */    virtualKey = eventData1 & VAL_VKEY_MASK;        /*  if the key was an ascii key and the menukey (ctrl on the PC) was not pressed */    if (asciiCode != 0 && (eventData1 & VAL_MENUKEY_MODIFIER) == 0)    {       	//set the max length of password    	len=strlen(buf);     	if(len>10)        	return 1; //swallow the event        temp[0]=asciiCode;	        strcat(buf,temp);                                                               (**(int **)peventData2) = maskKey;       }                                                                                     else                                                                                  if (virtualKey > 0)  /* check for and swallow cursor key events */                    {                                                                                         switch (virtualKey)                                                                   {                                                                                         case VAL_UP_ARROW_VKEY:                                                               case VAL_DOWN_ARROW_VKEY:                                                             case VAL_LEFT_ARROW_VKEY:                                                             case VAL_RIGHT_ARROW_VKEY:                                                            case VAL_HOME_VKEY:                                                                   case VAL_END_VKEY:                                                                   		 swallowEvent = 1;                                                                	 break;                                                                           case VAL_BACKSPACE_VKEY:                                                                        len=strlen(buf);                                                                      if(len>0)                                                                             	buf[len-1]='\0';                 break;                                                                       }                                                                                 }                                                                                 	 return swallowEvent; }

⌨️ 快捷键说明

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