/***************************************************************************** . . Función C: PRE_ActualizaTablaRelaciones . Responsable: César Armando Cruz Mendoza . Descripcion: Cuando el usuario define un numero de velocodades, . se crean el número de renglones correspondientes en la . tabla de relaciones. Se tiene cuidado cuando el usuario . modifica a un valor menor y previamente existen ya . renglones creados. . Parámetro de entrada: ninguno . Parámetro de salida: cero . Fecha de creación: 11 de Marzo de 2014 . *****************************************************************************/ int PRE_ActualizaTablaRelaciones() { int iRenglonesActuales = 0; //numero de velocidades actuales int iRenglonesUsuario = 0; //numero de velocidades indicadas por usuario //obtiene primero el numero de renglones que pueda tener la tabla GetNumTableRows (iPanelCatTransmisiones, pCatTransm_tblRelaciones, &iRenglonesActuales); //obtiene el numero de velocidades indicadas por el usuario GetCtrlVal(iPanelCatTransmisiones, pCatTransm_numNumeroVelocidades, &iRenglonesUsuario); //vefifica si se necesita aplicar alguna validación antes de crear los //renglones en la tabla de relaciones if (iRenglonesActuales == 0) { //la tabla se encuentra vacia por lo que se procede a crear los renglones //sin validacion alguna InsertTableRows (iPanelCatTransmisiones, pCatTransm_tblRelaciones, 1, iRenglonesUsuario, VAL_USE_MASTER_CELL_TYPE); } else { //ya existen renglones en la tabla, por lo que se debe analizar si se //deben insertar o eliminar renglones en la tabla de relaciones if (iRenglonesActuales < iRenglonesUsuario) { //se ha determinado que hacen falta mas renglones en la tabla de relaciones //por lo que se procede a insertar nuevos renglones al final //de la tabla de relaciones InsertTableRows (iPanelCatTransmisiones, pCatTransm_tblRelaciones, iRenglonesActuales+1, iRenglonesUsuario-iRenglonesActuales, VAL_USE_MASTER_CELL_TYPE); } else { if (iRenglonesActuales != iRenglonesUsuario) { //se ha determinado que se deben eliminar renglones de la tabla //de relaciones DeleteTableRows (iPanelCatTransmisiones, pCatTransm_tblRelaciones, iRenglonesUsuario+1, iRenglonesActuales-iRenglonesUsuario); } } } return 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; }