📄 geninfo.cpp
字号:
// GenInfo.cpp : implementation file
//
#include "stdafx.h"
#include "bxt.h"
#include "GenInfo.h"
#include "bxtdlg.h"
#include "direct.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// GenInfo dialog
GenInfo::GenInfo(CWnd* pParent /*=NULL*/)
: CDialog(GenInfo::IDD, pParent)
{
//{{AFX_DATA_INIT(GenInfo)
m_name = _T("");
m_sex = _T("");
m_id = _T("");
m_bedid = _T("");
m_hospid = _T("");
m_checkstyle = _T("");
m_checkpos = _T("");
m_telphone = _T("");
m_address = _T("");
m_postcode = _T("");
m_age = 0;
m_class = _T("");
m_hospital = _T("");
m_device = _T("");
m_time = _T("");
m_date = _T("");
//}}AFX_DATA_INIT
m_isnew = false;
////////////////////////////////////////////////////////////////////////
FILE *fp = fopen("c:\\bxx\\bxx.inf","r");
char textline[510];
if (!fp)
{
m_hospital = "未知医院";
m_device = "未知设备";
}
else
{
fgets(textline,200,fp);
m_hospital = textline;
m_hospital.TrimLeft();
m_hospital.TrimRight();
fgets(textline,200,fp);
m_device = textline;
m_device.TrimLeft();
m_device.TrimRight();
fclose(fp);
}
}
void GenInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(GenInfo)
DDX_Control(pDX, IDC_COMBO1, m_classlist);
DDX_Control(pDX, IDC_EDIT2, m_editsex);
DDX_Text(pDX, IDC_EDIT1, m_name);
DDX_Text(pDX, IDC_EDIT2, m_sex);
DDX_Text(pDX, IDC_EDIT5, m_id);
DDX_Text(pDX, IDC_EDIT6, m_bedid);
DDX_Text(pDX, IDC_EDIT7, m_hospid);
DDX_Text(pDX, IDC_EDIT8, m_checkstyle);
DDX_Text(pDX, IDC_EDIT9, m_checkpos);
DDX_Text(pDX, IDC_EDIT10, m_telphone);
DDX_Text(pDX, IDC_EDIT11, m_address);
DDX_Text(pDX, IDC_EDIT12, m_postcode);
DDX_Text(pDX, IDC_EDIT3, m_age);
DDX_CBString(pDX, IDC_COMBO1, m_class);
DDX_Text(pDX, IDC_EDIT13, m_hospital);
DDX_Text(pDX, IDC_EDIT14, m_device);
DDX_Text(pDX, IDC_EDIT16, m_time);
DDX_Text(pDX, IDC_EDIT15, m_date);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(GenInfo, CDialog)
//{{AFX_MSG_MAP(GenInfo)
ON_BN_CLICKED(IDC_BUTTONNEW, OnButtonnew)
ON_BN_CLICKED(IDC_BUTTONSAVE, OnButtonsave)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// GenInfo message handlers
void GenInfo::OnButtonnew()
{
NewRecord();
((CBxtDlg *)AfxGetMainWnd())->report->NewRecord();
((CBxtDlg *)AfxGetMainWnd())->rec->CapturedNum = 1;
}
CString GenInfo::GetNewSerialno()
{
HENV henv;
HDBC hdbc;
HSTMT hstmt;
SQLAllocEnv(&henv);
SQLAllocConnect(henv,&hdbc);
SQLConnect(hdbc,(unsigned char *)"BXX",SQL_NTS,NULL,0,NULL,0);
SQLAllocStmt(hdbc,&hstmt);
RETCODE rt;
SDWORD cbValue;
char szBuffer[6];
strcpy(szBuffer,"");
int i;
CString serialno;
SQLFreeStmt(hstmt,SQL_CLOSE);
rt = SQLExecDirect(hstmt, (unsigned char *)"select NUMBERS from SERIAL", SQL_NTS);
if (rt > SQL_ERROR)
{
rt = SQLFetch(hstmt);
rt = SQLGetData(hstmt,1,SQL_C_CHAR,szBuffer,sizeof(szBuffer),&cbValue);
if (rt > SQL_ERROR) i = atoi(szBuffer);
if (++i > 99999) i = 1;
itoa(i,szBuffer,10);
char ts[100];
sprintf(ts,"UPDATE SERIAL set NUMBERS='%s'",szBuffer);
SQLFreeStmt(hstmt,SQL_CLOSE);
rt = SQLExecDirect(hstmt, (unsigned char *)ts, SQL_NTS);
CTime ct = CTime::GetCurrentTime();
sprintf(ts,"%d%.2d%.2d%.5d",ct.GetYear(),ct.GetMonth(),ct.GetDay(),i);
serialno = _T(ts);
}
else
{
serialno = "";
}
SQLFreeStmt(hstmt,SQL_DROP);
SQLDisconnect(hdbc);
SQLFreeConnect(hdbc);
SQLFreeEnv(henv);
return serialno;
}
void GenInfo::OnOK()
{
// CDialog::OnOK();
}
void GenInfo::OnCancel()
{
// CDialog::OnCancel();
}
BOOL GenInfo::OnInitDialog()
{
CDialog::OnInitDialog();
FILE *fp = fopen("c:\\bxx\\classlist.inf","rt");
char textline[510];
CString theline;
m_classlist.ResetContent();
if (fp)
{
while (fgets(textline,200,fp))
{
theline = textline;
theline.TrimLeft();
theline.TrimRight();
if (!theline.IsEmpty())
m_classlist.AddString(theline);
}
fclose(fp);
}
NewRecord();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void GenInfo::OnButtonsave()
{
SaveInfo();
}
bool GenInfo::SaveInfo()
{
UpdateData(true);
if(m_id.GetLength()<1)
{
//AfxMessageBox("必须提供超声号!");
return false;
}
HENV henv;
HDBC hdbc;
HSTMT hstmt;
SQLAllocEnv(&henv);
SQLAllocConnect(henv,&hdbc);
SQLConnect(hdbc,(unsigned char *)"BXX",SQL_NTS,NULL,0,NULL,0);
SQLAllocStmt(hdbc,&hstmt);
RETCODE rt;
CString sql;
CString m_check;
char numbuf[10];
m_check = "临床诊断";
if (m_isnew)
{
char buf[30];
CTime ct = CTime::GetCurrentTime();
sprintf(buf,"%4d年%02d月%02d日",ct.GetYear(),ct.GetMonth(),ct.GetDay());
m_date = buf;
sprintf(buf,"%02d时%02d分%02d秒",ct.GetHour(),ct.GetMinute(),ct.GetSecond());
m_time = buf;
//char idbuf[12];
//sprintf(idbuf,"%",atol(m_id.GetBuffer(10)));
//m_id = _T(idbuf);
while(m_id.GetLength()<10)
m_id = "0" + m_id;
UpdateData(false);
m_checkdate = m_date + " ";
m_checkdate += m_time;
if(m_postcode.GetLength()<1) m_postcode="0";
sql = "INSERT INTO REPORT ";
sql += "(ID,NAME,SEX,CLASS,CHECK,ADDRESS,";
sql += "POSTCODE,TELPHONE,CHECKDATE,DEVICE,HOSPITAL,";
sql += "HOSPID,BEDID,CHECKSTYLE,CHECKPOS,AGE) ";
sql += "VALUES (";
sql += "'"; sql += m_id; sql += "',";
sql += "'"; sql += m_name; sql += "',";
sql += "'"; sql += m_sex; sql += "',";
sql += "'"; sql += m_class; sql += "',";
sql += "'"; sql += m_check; sql += "',";
sql += "'"; sql += m_address; sql += "',";
sql += ""; sql += m_postcode; sql += ",";
sql += "'"; sql += m_telphone; sql += "',";
sql += "'"; sql += m_checkdate; sql += "',";
// sql += "'"; sql += m_docter; sql += "',";
sql += "'"; sql += m_device; sql += "',";
sql += "'"; sql += m_hospital; sql += "',";
// sql += "'"; sql += m_report; sql += "',";
// sql += "'"; sql += m_result; sql += "',";
// sql += "'"; sql += m_illname; sql += "',";
sql += "'"; sql += m_hospid; sql += "',";
sql += "'"; sql += m_bedid; sql += "',";
sql += "'"; sql += m_checkstyle; sql += "',";
sql += "'"; sql += m_checkpos; sql += "',";
sql += itoa(m_age,numbuf,10);
sql += ")";
}
else
{
sql = "UPDATE REPORT SET ";
sql += "NAME='"; sql += m_name; sql += "',";
sql += "SEX='"; sql += m_sex; sql += "',";
sql += "CLASS='"; sql += m_class; sql += "',";
sql += "CHECK='"; sql += m_check; sql += "',";
sql += "ADDRESS='"; sql += m_address; sql += "',";
sql += "POSTCODE="; sql += m_postcode; sql += ",";
sql += "TELPHONE='"; sql += m_telphone; sql += "',";
// sql += "CHECKDATE='"; sql += m_checkdate; sql += "',";
// sql += "DOCTER='"; sql += m_docter; sql += "',";
// sql += "DEVICE='"; sql += m_device; sql += "',";
// sql += "HOSPITAL='"; sql += m_hospital; sql += "',";
// sql += "REPORT='"; sql += m_report; sql += "',";
// sql += "RESULT='"; sql += m_result; sql += "',";
// sql += "ILLNAME='"; sql += m_illname; sql += "',";
sql += "HOSPID='"; sql += m_hospid; sql += "',";
sql += "BEDID='"; sql += m_bedid; sql += "',";
sql += "CHECKSTYLE='"; sql += m_checkstyle; sql += "',";
sql += "CHECKPOS='"; sql += m_checkpos; sql += "',";
sql += "AGE="; sql += itoa(m_age,numbuf,10); sql += " ";
sql += "WHERE ID='";
sql += m_id;
sql += "'";
}
SQLFreeStmt(hstmt,SQL_CLOSE);
unsigned char mySQL[2000];
strcpy((char *)mySQL,sql);
// AfxMessageBox((char *)mySQL);
rt = SQLExecDirect(hstmt, mySQL, SQL_NTS);
SQLFreeStmt(hstmt,SQL_DROP);
SQLDisconnect(hdbc);
SQLFreeConnect(hdbc);
SQLFreeEnv(henv);
m_isnew = false;
CString path;
path = ((CBxtDlg *)AfxGetMainWnd())->m_imagepath;
path += m_id;
_mkdir(path.GetBuffer(path.GetLength()));
((CBxtDlg *)AfxGetMainWnd())->m_workingpath = path;
char id[20];
strcpy(id,m_id);
((CBxtDlg *)AfxGetMainWnd())->m_currentid = m_id;
return true;
}
void GenInfo::NewRecord()
{
m_id = "";//GetNewSerialno();
m_name = "";
m_sex = "男";
m_age = 0;
m_class = "";
m_bedid = "";
m_hospid = "";
m_checkstyle= "";
m_checkpos = "";
m_telphone = "";
m_address = "";
m_postcode = "0";
m_date = "";
m_time = "";
UpdateData(false);
m_isnew = true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -