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

📄 cb_freal.cpp

📁 LINUX系统下基于ARM处理器的使用GPRS方式通过SOCKET数据包进行煤矿瓦斯监控的程序.这是在黑龙江省现场运行的程序源代码.
💻 CPP
字号:
#include "CB_Freal.h"
#include "CB_String.h"
#include "CB_Unit.h"
#include "CB_Socket.h"
#include "Afx.h" 
#include <time.h>
#include "CB_User.h"
#include "CB_F4.h"
#include "CB_F1.h"
#include "CB_Point.h"
#include "CB_Colliery.h"

//##ModelId=409361760313
int CB_Freal::instance(char *str, char *fileName)
{
  
  REALDATA real_src;
  strToStrt(str,&real_src);
  if(isSocketEnable())
  {
    char m_sendData[255];
	CB_Unit::clearBuf(m_sendData,255);
	getSendData(&real_src,m_sendData);
    CB_Socket cSocket;
    cSocket.initiaze();
	char *rtn = NULL;
    cSocket.send(m_sendData,rtn);
    printf("pSend:%s\n",m_sendData); 
    printf("rtn:%s\n",rtn); 
  }      
  Stop:
  return 0;
}



//##ModelId=40CABB0500B1
int CB_Freal::strToStrt(char *str, REALDATA *real_src)
{
  CB_String string;
  string.split(str,',');
  char *pResult ;
  pResult = string.getNext();
  CB_Unit::trim(pResult);
  strcpy(real_src->index_colliery,pResult);
  pResult = string.getNext();
  CB_Unit::trim(pResult);
  char index_end[10];
  CB_Unit::clearBuf(index_end,10);
  int len = strlen(pResult);
  if(len <4){
     for(int i=0;i<4-len;i++){
       index_end[i]='0'; 
     }
  }
  strcat(index_end,pResult);  
  CB_Unit::trim(index_end);
  strcpy(real_src->index_point,index_end);
  pResult = string.getNext();
  CB_Unit::trim(pResult);
  strcpy(real_src->value,pResult);
  pResult = string.getNext();
  CB_Unit::trim(pResult);
  strcpy(real_src->estate,pResult);
  time_t timep;
  struct tm *t;
  time(&timep);
  t = localtime(&timep);
  int year = t->tm_year;
  year += 1900;
  int month = t->tm_mon +1;
  int day = t->tm_mday;
  int hour = t->tm_hour;
  int minute = t->tm_min;
  int sec = t->tm_sec;
  sprintf(pResult,"%02d",year);
  memmove(pResult,pResult+2,2);
  pResult[2] = '\0';
  strcpy(real_src->time_produce,pResult);
  strcat(real_src->time_produce,":");
  sprintf(pResult,"%02d",month);
  strcat(real_src->time_produce,pResult);
  strcat(real_src->time_produce,":");
  sprintf(pResult,"%02d",day);
  strcat(real_src->time_produce,pResult);
  strcat(real_src->time_produce,":");
  sprintf(pResult,"%02d",hour);
  strcat(real_src->time_produce,pResult);
  strcat(real_src->time_produce,":");
  sprintf(pResult,"%02d",minute);
  strcat(real_src->time_produce,pResult);
  strcat(real_src->time_produce,":");
  sprintf(pResult,"%02d",sec);
  strcat(real_src->time_produce,pResult);
  strcpy(real_src->state,"0");
  strcpy(real_src->affirm,"0");
}

//##ModelId=40DA80DE00F2
int CB_Freal::dispose_new(REALDATA *real, FILE *pFile)
{
  int len = sizeof(REALDATA);
  strcpy(real->state,"1");
  strcpy(real->affirm,"0");
  fwrite(real,len,1,pFile);
  return 0;
}

//##ModelId=40DA80DE0156
int CB_Freal::dispose_update(REALDATA *real_src, REALDATA *real_dest, FILE *pFile)
{
   int len = sizeof(REALDATA);
   CB_Unit::trim(real_src->value);
   CB_Unit::trim(real_dest->value);	
   CB_Unit::trim(real_src->estate);
   CB_Unit::trim(real_dest->estate);	  
   strcpy(real_src->affirm,"0"); 
   fseek(pFile,-len,SEEK_CUR);
   fwrite(real_src,len,1,pFile);
   return 0; 
}


//##ModelId=40DA80DE01D8
void CB_Freal::setSysParam(CB_SysParam *sysParam)
{
  m_sysParam = sysParam; 
}

//##ModelId=40DA80DE0214
CB_SysParam *CB_Freal::getSysParam()
{
  return m_sysParam;
}

//##ModelId=40E0C4B902F7
int CB_Freal::getSendData(REALDATA *realdata, char *m_sendData)
{
  char *p; 
  strcpy(m_sendData,"6S+0");
  strcat(m_sendData,"+");
  POINT *point;
  CB_Point cPoint;
  p = realdata->index_point;
  CB_Unit::trim(p);
  point = cPoint.getPoint(p);
  if(point == NULL){
   return -1;
  }
  strcat(m_sendData,point->count);   
  strcat(m_sendData,"+");
  p = realdata->time_produce;
  strcat(m_sendData,p);
  strcat(m_sendData,"+");
  p = realdata->estate;
  strcat(m_sendData,p);
  strcat(m_sendData,"+");
  p = realdata->value;
  strcat(m_sendData,p);
  strcat(m_sendData,"+");
  p = realdata->value;
  strcat(m_sendData,p);
  strcat(m_sendData,"+");
  p = realdata->value;
  strcat(m_sendData,p);
  strcat(m_sendData,"+");
  strcat(m_sendData,"0");
  strcat(m_sendData,"+");
  COLLIERY *colliery;
  CB_Colliery cColl;
  p = realdata->index_colliery;
  CB_Unit::trim(p);
  colliery = cColl.getColliery(p);
  if(colliery == NULL)
   return -1;
  strcat(m_sendData,colliery->name);
  strcat(m_sendData,"+");
  p =m_user->getPerson()->office;
  strcat(m_sendData,p);
  strcat(m_sendData,"+");
  p =m_user->getPerson()->area;
  strcat(m_sendData,p);
  strcat(m_sendData,"+");
  p = m_user->getPerson()->name;
  strcat(m_sendData,p);
  strcat(m_sendData,"+10+");
  strcat(m_sendData,"E");

  return 0;
}

//##ModelId=40E0C5EF0144
void CB_Freal::setUser(CB_User *user)
{
  m_user = user;
}

⌨️ 快捷键说明

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