/* 辅助函数-Log信息台-右键菜单-回调函数 */
void CVICALLBACK logBoxRightClickMenuCallback(int menuBarHandle, int menuItemID, 
			void *callbackData, int panelHandle){
	switch(menuItemID){
		case 3:
			SYSTEMTIME localTime;
			char dirName[MAX_PATHNAME_LEN];
			char filePath[MAX_PATHNAME_LEN]; 
			char fileName[200]; fileName[0]='\0';
			GetProjectDir(dirName);
			strcat(dirName, "\\Logs");
			GetLocalTime(&localTime);
			sprintf(fileName, "Log,%04d-%d-%d,%d_%02d_%02d.txt", 
					localTime.wYear, localTime.wMonth, localTime.wDay,
					localTime.wHour, localTime.wMinute, localTime.wSecond);
			MakePathname(dirName, fileName, filePath);
			FILE *fp = fopen(filePath, "w");
			int len=0;
			GetCtrlAttribute(panelHdl, MainPanel_MainLogBox, ATTR_STRING_TEXT_LENGTH, &len);
			char tempLog[10000];
			GetCtrlVal(panelHdl, MainPanel_MainLogBox, tempLog);
			fwrite(tempLog, sizeof(char), len, fp);
			fclose(fp);
			ResetTextBox(panelHdl, MainPanel_MainLogBox, "Logs have been saved!");
			break;
		case 4:
			ResetTextBox(panelHdl, MainPanel_MainLogBox, "");
			break;
	}
}
Esempio n. 2
0
int CVICALLBACK ConfigCMD (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			 DimAction(1);
			  WriteLog();
			  ResetTextBox (panelHandle, PANEL_TEXTBOX, "");
		
			if (ReadConfigFile(BBUCOMMON_CONFIGCMD))
			{
				if (0==InstallPopup(configHandle))
				{
					SetPanelAttribute (configHandle, ATTR_TITLE, "CheckCMD");    
					SetCtrlAttribute (configHandle, CONFIG_BOX, ATTR_ENTER_IS_NEWLINE, 1);
					SetCtrlAttribute (configHandle, CONFIG_BOX, ATTR_TEXT_BGCOLOR, VAL_OFFWHITE);
				}
			}
			else
			{
				SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Read data from cmd.txt error,please check it by manual!\r\n");
			}
					
		
			  DimAction(0);   
			break;
	}
	return 0;
}
Esempio n. 3
0
static int ReadConfigFile( int item)
{
	FILE    *hFile; 		 char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN];	 char buffer[300]; 	
	
	ResetTextBox (configHandle, CONFIG_BOX, ""); 
	GetProjectDir (dirName); 
	switch(item)
	{
		case MENUBAR_CONFIG_CONFIGIP:
			MakePathname (dirName, "bbuip.txt", pathName);
			break;
		case BBUCOMMON_CONFIGCMD:
			MakePathname (dirName, "command.txt", pathName); 
			break;
	}
	if (hFile = fopen(pathName, "r"))
    {
        while (fgets(buffer, (int)sizeof(buffer), hFile))
        {
			SetCtrlVal (configHandle, CONFIG_BOX, buffer); 
        }
	}
	else
	{
	  return 0;
	}
	if(hFile)
	{
	    fclose(hFile);  
	}
	return 1;
	

}  
Esempio n. 4
0
static int WriteOupputBox(int flag) 
{
	FILE    *hFile;  char pathName[MAX_PATHNAME_LEN]; char dirName[MAX_PATHNAME_LEN]; char buffer[300];

	
	ResetTextBox (outputHandle, OUTPUTVIEW_OUTPUTBOX, ""); 
	GetProjectDir (dirName); 
	if (0 == flag)    // mean write output.txt to box
	{
    	MakePathname (dirName, "output.txt", pathName);
	}
	if (1 == flag)     // mean write help.txt to box
	{
	   MakePathname (dirName, "help.txt", pathName); 
	}
	if (hFile = fopen(pathName, "r"))
    {
        while (fgets(buffer, (int)sizeof(buffer), hFile))
        {
			SetCtrlVal (outputHandle, OUTPUTVIEW_OUTPUTBOX, buffer); 
        }
	}
	else
	{
	  return 0;
	}
	if(hFile)
	{
	    fclose(hFile);  
	}		
	return 1;
}
/* 信息分析面板-Log清空-按钮 */
int CVICALLBACK PopLogInfoBtn (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2) {
	switch (event) {
		case EVENT_COMMIT:
			ResetTextBox(panel, PopupPanel_PopLogBox, "");
			break;
	}
	return 0;
}
Esempio n. 6
0
////////////////////////////////////////////////////////////////////selfdefined function//////////////////////////////////////
static int ExecutableProcess(char *cmd, char *checkpoint)
{
	 FILE    *hFile;
    char    buffer[300]; // long enough for single line of output from ipconfig
    char    tempFileName[L_tmpnam];
    char    command[L_tmpnam + 25];
    int     hProc;
   
    int     res=0;  int checkflag = 0; 
    
    tmpnam(tempFileName);
    sprintf(command, "cmd.exe /C %s > %s", cmd,tempFileName); 
//     sprintf(command, "cmd.exe /C %s", cmd);
 //   if (LaunchExecutableEx(command, LE_SHOWNORMAL, &hProc) >= 0)
	if (LaunchExecutableEx(command, LE_HIDE, &hProc) >= 0)   
    {
		SetLed("running...please wait...",0);
		ProcessSystemEvents ();   
		WriteLog();
		ResetTextBox (panelHandle, PANEL_TEXTBOX, "");    
        while (!ExecutableHasTerminated(hProc));
		{
        	RetireExecutableHandle(hProc);
		}
    
        if (hFile = fopen(tempFileName, "r"))
        {
            while (fgets(buffer, (int)sizeof(buffer), hFile))
            {
               
				SetCtrlVal (panelHandle, PANEL_TEXTBOX, buffer); 
				if (!checkflag)
				{
					if(NULL != strstr (buffer, checkpoint))
					{
						checkflag = 1;
						res = 1;
					}
				}
            }
            fclose(hFile);
        //    DeleteFile(tempFileName);
			remove (tempFileName);
        }
    }
	return res;
}
Esempio n. 7
0
//////////////////////////////////////////manualbar callback function/////////////////////////////////////////////////
void CVICALLBACK Config (int menuBar, int menuItem, void *callbackData,
		int panel)
{
			  DimAction(1);
			  WriteLog();
			  ResetTextBox (panelHandle, PANEL_TEXTBOX, "");
			  switch (menuItem)
			  {
			  	case MENUBAR_CONFIG_CONFIGIP:
					if (ReadConfigFile(MENUBAR_CONFIG_CONFIGIP))
					{
						if (0==InstallPopup(configHandle))
						{
							SetPanelAttribute (configHandle, ATTR_TITLE, "CheckBBUIP");
							SetCtrlAttribute (configHandle, CONFIG_BOX, ATTR_ENTER_IS_NEWLINE, 1);
							SetCtrlAttribute (configHandle, CONFIG_BOX, ATTR_TEXT_BGCOLOR, VAL_OFFWHITE);
						}
					
					}
					else
					{
						SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Read data from bbuip.txt error,please check it by manual!\r\n");        
					}
					break;
				case BBUCOMMON_CONFIGCMD:
					if (ReadConfigFile(BBUCOMMON_CONFIGCMD))
					{
						if (0==InstallPopup(configHandle))
						{
							SetPanelAttribute (configHandle, ATTR_TITLE, "CheckCMD");    
							SetCtrlAttribute (configHandle, CONFIG_BOX, ATTR_ENTER_IS_NEWLINE, 1);
							SetCtrlAttribute (configHandle, CONFIG_BOX, ATTR_TEXT_BGCOLOR, VAL_OFFWHITE);
						}
					}
					else
					{
						SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Read data from cmd.txt error,please check it by manual!\r\n");
					}
					
			  }
			  DimAction(0);   
}  
Esempio n. 8
0
int CVICALLBACK CheckUptime (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			 char buffer[20000]; char pathName[MAX_PATHNAME_LEN];		char dirName[MAX_PATHNAME_LEN];   FILE    *hFile;	  char *p = ""; int i=0; int lenth=0; char temp[20]; //char value[50];
			 int flag =0;		 int row = 0; int column = 0; int insertcolumn = 0;  int confirmresult = 0;	 
	 
			 typedef struct
				{ 
					int x;
					int y; 
				} Point;

			 confirmresult = ConfirmPopup ("Check uptime","Do you want to check uptime now?");
		 
			 if ((outputHandle = LoadPanel (0, "Remotely.uir", OUTPUTVIEW)) < 0)
				 {
				 SetCtrlVal (panelHandle, PANEL_TEXTBOX,  "Load check uptime panel error,please try again!\r\n"); 
			 	 return -1;
				 }
			 SetPanelAttribute (outputHandle, ATTR_TITLE, "CheckUptimeRecord");
			 SetCtrlAttribute (outputHandle, OUTPUTVIEW_OUTPUTBOX, ATTR_VISIBLE, 0);
			 SetCtrlAttribute (outputHandle, OUTPUTVIEW_TABLE, ATTR_VISIBLE, 1);    
			 GetProjectDir (dirName); 
			 MakePathname (dirName, "uptime.csv", pathName);
			 WriteLog();
		   	 ResetTextBox (panelHandle, PANEL_TEXTBOX, ""); 
		 
			 if (hFile = fopen(pathName, "r"))
			{
		    	while (fgets(buffer, (int)sizeof(buffer), hFile))
		    	{
					row++;
					InsertTableRows (outputHandle, OUTPUTVIEW_TABLE, -1, 1, VAL_CELL_STRING);
			
					column = 0;
					p = buffer;
					flag = 0;
					do
					{
						column++;
						if (insertcolumn == 0)
						{
							InsertTableColumns (outputHandle, OUTPUTVIEW_TABLE, -1, 1, VAL_CELL_STRING);
						}
						lenth = FindPattern (p, 0, -1, ",", 0, 0);   // strip  ","
						if (lenth >=0)
						{
							memset(temp,0,20);
							for (i=0;i<lenth;i++)
							{
								temp[i] = *p;
								p++;
							}
							p++;
							SetTableCellVal (outputHandle, OUTPUTVIEW_TABLE, MakePoint(column, row), temp);
						}
						else
						{

							lenth = FindPattern (p, 0, -1, "\n", 0, 0);	  // strip  "\n"
							if (lenth >=0)								 // if find "\n"  write last string to last column
							{
							    memset(temp,0,20);
								for (i=0;i<lenth;i++)
								{
									temp[i] = *p;
									p++;
								}
								SetTableCellVal (outputHandle, OUTPUTVIEW_TABLE, MakePoint(column, row), temp);
								flag = -1;
								insertcolumn = 1;
							}
							else		// if not find "\n", write all to last column
							{
								SetTableCellVal (outputHandle, OUTPUTVIEW_TABLE, MakePoint(column, row), p);
								flag = -1;
								insertcolumn = 1;
							}
		
						}
				
					}while( flag != -1);
					SetTableColumnAttribute (outputHandle, OUTPUTVIEW_TABLE, -1, ATTR_COLUMN_WIDTH, 80);
					memset(buffer,0,20000);
												 
		    	}
		    	fclose(hFile);
			} 
			if (confirmresult)    // if user select yes to check uptime  install popup
			 {
				InstallPopup(outputHandle);
			 }
			else				 // if user select no, discard panel due to load it at beginning of this function
			{
				if (outputHandle)
				    {
		               DiscardPanel (outputHandle);
			        }
			}
			break;
	}
	return 0;
}