📄 falcon_jxcdoc.cpp
字号:
case 2332:
AfxMessageBox("成功更新!");
break;
case 2923:
AfxMessageBox("成功删除!");
break;
case 2921:
AfxMessageBox("存储成功!");
break;
case 2210:
AfxMessageBox("存储成功!");
break;
case 2222:
m_b2222=TRUE;
AfxMessageBox("存储成功!");
break;
case 2316:
AfxMessageBox("成功更新!");
break;
case 2810:
m_b2810=true;
if(m_pMsg->ShortMessage != "")
StringSeg(m_pMsg->ShortMessage);
break;
case 2811:
m_b2811=true;
AfxMessageBox(m_pMsg->ShortMessage);
break;
case 2812:
m_b2812=true;
AfxMessageBox(m_pMsg->ShortMessage);
break;
case 2813:
m_b2813=true;
AfxMessageBox(m_pMsg->ShortMessage);
break;
case 2814:
m_b2814=true;
if(m_pMsg->ShortMessage != "")
StringSeg(m_pMsg->ShortMessage);
break;
case 2110:
m_b2110=true;
break;
case 2111:
m_b2111=true;
AfxMessageBox(m_pMsg->ShortMessage);
break;
case 2120:
m_b2120=true;
if(m_pMsg->ShortMessage != "")
StringSeg(m_pMsg->ShortMessage);
break;
case 2410:
m_b2410=true;
if(m_pMsg->ShortMessage != "")
StringSeg(m_pMsg->ShortMessage);
else
AfxMessageBox("无订货纪录!");
break;
case 2:
break;
case 3:
DisplayMsg();
break;
case 4:
DisplayMsg();
break;
case 5:
break;
case 6:
break;
case 9:
exit(0);
break;
case 9999:
m_pMsg->From = Name;
m_pMsg->To = Name;
m_pMsg->Type = 9999;
m_pMsg->ShortMessage = "Online";
m_pSocket->SendMsg(m_pMsg);
default:
// DisplayMsg();
break;
}
}
void CFALCON_JXCDoc::SendMsg(CString strMessage,int Type)
{
/* CMsgDlg m_dlgMsg;
m_dlgMsg.m_bSend = TRUE;
m_dlgMsg.m_strFrom = Name;
m_dlgMsg.m_strTo = m_pMsg->To;
if(m_dlgMsg.DoModal() == IDOK)
{
}*/
m_pMsg->To=m_pMsg->From=Name;
m_pMsg->ShortMessage = strMessage ;
m_pMsg->Type = Type;
m_pSocket->SendMsg(m_pMsg);
}
void CFALCON_JXCDoc::DisplayMsg()
{
AfxMessageBox(m_pMsg->ShortMessage);
/* CMsgDlg m_dlgMsg;
CString m_strTemp;
if(m_pMsg->From == "")
return;
if(m_pMsg->From == Name)
return;
m_strTemp = m_pMsg->From;
m_dlgMsg.m_bSend = FALSE;
if(m_pMsg->To == "")
m_dlgMsg.m_strTo = Name;
else
if (m_pMsg->To == "All")
m_dlgMsg.m_strTo = Name;
else
m_dlgMsg.m_strTo = m_pMsg->To;
m_dlgMsg.m_strMsg = m_pMsg->ShortMessage ;
m_dlgMsg.m_strFrom = m_pMsg->From ;
if(m_dlgMsg.DoModal() == IDOK)
{
m_pMsg->From = Name;
//m_pMsg->To = m_dlgMsg.m_strTo ;
m_pMsg->To = m_strTemp;
m_pMsg->ShortMessage = m_dlgMsg.m_strMsg ;
m_pMsg->Type = 3;
m_pSocket->SendMsg(m_pMsg);
}
*/
}
BOOL CFALCON_JXCDoc::ConnectToServer()
{
if (m_bOnline)
return TRUE;
m_pSocket = new CServiceSocket(this);
if (m_pSocket == NULL)
{
AfxMessageBox("Couldn't allocate memory for service socket!");
return FALSE;
}
if (!m_pSocket->Create())
{
delete m_pSocket;
m_pSocket = NULL;
AfxMessageBox("Create Socket Error!");
return FALSE;
}
m_pSocket->Name = Name;
//m_strAddress = "127.0.0.1";
//m_nPort = 6666;
while (!m_pSocket->Connect(m_strAddress, m_nPort))
{
if (AfxMessageBox("网络不通或超时,重试?",MB_YESNO) == IDNO)
{
// delete m_pSocket;
// exit(0);
m_pSocket = NULL;
return FALSE;
}
}
m_pSocket->Init();
m_pMsg->From = Name;
m_pMsg->To = "All";
m_pMsg->Type = 1;
m_pMsg->ShortMessage = "Login in....";
m_pSocket->SendMsg(m_pMsg);
m_bOnline = TRUE;
return TRUE;
}
void CFALCON_JXCDoc::offline()
{
if (!m_bOnline)
return;
m_pSocket->Close();
if (!m_pSocket)
delete m_pSocket;
m_bOnline = FALSE;
}
void CFALCON_JXCDoc::online()
{
if (!m_bOnline)
{
ConnectToServer();
m_bOnline = TRUE;
}
}
void CFALCON_JXCDoc::OnServerAddressAndPort()
{
// TODO: Add your command handler code here
CServerAddressandPortSetting sap;
if(sap.DoModal()==IDOK)
{
m_strAddress=sap.m_sServerAddress;
m_nPort=sap.m_nPort;
}
}
CString CFALCON_JXCDoc::GetHostAddress()
{
char FAR Name1[255];
gethostname(Name1,255);
// HOSTENT* hnet=gethostbyname(Name1);
CString str=Name1;
CTime time=CTime::GetCurrentTime( );
int yy,mm,dd,hh,mi,ss;
yy=time.GetYear();
mm=time.GetMonth();
dd=time.GetDay();
hh=time.GetHour();
mi=time.GetMinute();
ss=time.GetSecond();
CString str1;
str1.Format("(%d-%d-%d-%d-%d-%d)",yy,mm,dd,hh,mi,ss);
return str;
}
void CFALCON_JXCDoc::sendcloseMessage()
{
m_pMsg->From = Name;
m_pMsg->To = "All";
m_pMsg->Type = 2;
m_pMsg->ShortMessage = "Logout";
m_pSocket->SendMsg(m_pMsg);
}
void CFALCON_JXCDoc::StringSeg(CString &strSource,int nNum)
{
CString str= strSource;
/* CString strRow,strCol,strTry;
//取命令码
int i = str.Find(CHARFLAG,0);
m_strComm = str.Mid(0,i);
//行数
int j = str.Find(CHARFLAG,i+2);
strRow = str.Mid(i+2,j-i-2);
m_iRow = atoi(strRow);
//列数
int m = str.Find(CHARFLAG,j+2);
strCol = str.Mid(j+2,m-j-2);
m_iCol = atoi(strCol);
//具体字段
int n = m_strComm.GetLength()+strRow.GetLength()+strCol.GetLength()+6;*/
CString strTry = strSource;
if (m_StrArray.GetSize()!=0)
{
m_StrArray.RemoveAll();
}
m_StrArray.SetSize(nNum);
int k=0;
for (int l=0;l<nNum;l++)
{
int i = strTry.Find(CHARFLAG,k);
str = strTry.Mid(k,i-k);
m_StrArray.SetAt(l,str);
k = i+2;
}
}
void CFALCON_JXCDoc::DeleteContents()
{
// TODO: Add your specialized code here and/or call the base class
if (m_pSocket!= NULL)
{
sendcloseMessage();
}
COleServerDoc::DeleteContents();
}
// 分割数据字符串
void CFALCON_JXCDoc::StringSeg(CString &strSource)
{
CString str= strSource;
CString strRow,strCol,strTry;
//行数
int j = str.Find(CHARFLAG,0);
strRow = str.Mid(0,j);
m_iRow = atoi(strRow);
//列数
int m = str.Find(CHARFLAG,j+2);
strCol = str.Mid(j+2,m-j-2);
m_iCol = atoi(strCol);
//具体字段
int n = strRow.GetLength()+strCol.GetLength()+4;
strTry = str.Right(str.GetLength()-n);
if (m_StrArray.GetSize()!=0)
{
m_StrArray.RemoveAll();
}
m_StrArray.SetSize(m_iRow*m_iCol);
int k=0;
for (int l=0;l<m_iRow*m_iCol;l++)
{
int i = strTry.Find(CHARFLAG,k);
str = strTry.Mid(k,i-k);
m_StrArray.SetAt(l,str);
k = i+2;
}
}
BOOL CFALCON_JXCDoc::GetQuanXian(CString UserName)
{
// strInsert+=CHARFLAG;
if(ConnectToServer())
{
SendMsg(UserName,1814);//发送delete
}
else
return false;
b: if (m_b2814)
{
m_b2814 = FALSE;
if(m_pMsg->ShortMessage!="")
{
for(int i=0;i<m_StrArray.GetSize();i++)
m_sQuanXianArray[i]=(m_StrArray.GetAt(i));
return true;
}
else
{
AfxMessageBox("没有此账号!");
return false;
}
}
else
{
ProcessReadMessage();
goto b;
}
}
void CFALCON_JXCDoc::OnFileOpen()
{
CString strFilter;
strFilter = _T("所有图象文件( *.fjxc)|*.fjxc|Windows 位图(*.bmp)|*.bmp|所有文件(*.*)|*.*||");
CFileDialog dlg(TRUE, "fjxc", "*.fjxc", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, (LPCTSTR)strFilter);
if(dlg.DoModal() == IDCANCEL) return ;
CString strFileName=dlg.GetPathName();
m_pImage->Load(strFileName);
UpdateAllViews(NULL);
// m_pMainWnd->SetWindowText("方恒进销存客户端");//-FALCON SOFT
// m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -