📄 didlg.cpp
字号:
//病人ID
m_id_Combo.GetWindowText(id);
idnum=atol(id);
if(idnum==0)
m_add_Edit.SetWindowText("请先输入病人ID");
else if(idnum>2003100||idnum<2003001)
m_add_Edit.SetWindowText("输入病人的ID超出范围");
else
{
Patient[idnum-2003001].ID=idnum;
//病人姓名
m_name_Combo.GetWindowText(name);
strcpy(Patient[idnum-2003001].name,name);
if(!strcmp(name,""))
m_add_Edit.SetWindowText("请先输入病人姓名");
else
{
//病人类型
CString time,reason;
m_time_Edit.GetWindowText(time);
m_reason_Edit.GetWindowText(reason);
typeradio=CWnd::GetCheckedRadioButton(IDC_TYPE_RADIO,IDC_ROME_RADIO);
if(typeradio==IDC_ROME_RADIO)
{
Patient[idnum-2003001].type=1;
strcpy(Patient[idnum-2003001].time,time);
strcpy(Patient[idnum-2003001].reason,reason);
}
//病人病症
if(m_x1_Check==TRUE)
{
Patient[idnum-2003001].state[0]=1;
xs[0]=1;
}
if(m_x2_Check==TRUE)
{
Patient[idnum-2003001].state[1]=1;
xs[1]=1;
}
if(m_x3_Check==TRUE)
{
Patient[idnum-2003001].state[2]=1;
xs[2]=1;
}
if(m_x4_Check==TRUE)
{
Patient[idnum-2003001].state[3]=1;
xs[3]=1;
}
if(m_x5_Check==TRUE)
{
Patient[idnum-2003001].state[4]=1;
xs[4]=1;
}
if(m_x6_Check==TRUE)
{
Patient[idnum-2003001].state[5]=1;
xs[5]=1;
}
if(m_x7_Check==TRUE)
{
Patient[idnum-2003001].state[6]=1;
xs[6]=1;
}
if(m_x8_Check==TRUE)
{
Patient[idnum-2003001].state[7]=1;
xs[7]=1;
}
if(m_x9_Check==TRUE)
{
Patient[idnum-2003001].state[8]=1;
xs[8]=1;
}
typeradio=CWnd::GetCheckedRadioButton(IDC_CHENG_RADIO,IDC_RADIO5);
if(typeradio==IDC_CHENG_RADIO)
{
Patient[idnum-2003001].state[9]=1;
xs[9]=1;
}
if(typeradio==IDC_RADIO4)
{
Patient[idnum-2003001].state[10]=1;
xs[10]=1;
}
if(typeradio==IDC_RADIO5)
{
Patient[idnum-2003001].state[11]=1;
xs[11]=1;
}
CString buf;
m_add_Edit.GetWindowText(buf);
strcpy(Patient[idnum-2003001].info,buf);
m_add_Edit.SetWindowText("新病人的资料已输入缓存");
}//end else(name)
}//end else(id)
}//缓存满end else
}
void CDiDlg::OnJjButton()
{
int i,j,ll=0;
CString id,name;
long idnum;
int typeradio;
//积分记录清零
for(i=0;i<4;i++)
score[i]=0;
k=0;
//读取屏幕控件值
CDialog::UpdateData(TRUE);
//病人ID
m_id_Combo.GetWindowText(id);
idnum=atol(id);
if(idnum==0)
m_add_Edit.SetWindowText("请先输入病人ID");
else if(idnum>2003100||idnum<2003001)
m_add_Edit.SetWindowText("输入病人的ID超出范围");
else
{
//病人姓名
m_name_Combo.GetWindowText(name);
if(!strcmp(name,""))
m_add_Edit.SetWindowText("请先输入病人姓名");
else
{
//病人病症
if(m_x1_Check==TRUE)
{
xs[0]=1;
ll++;
}
if(m_x2_Check==TRUE)
{
xs[1]=1;
ll++;
}
if(m_x3_Check==TRUE)
{
xs[2]=1;
ll++;
}
if(m_x4_Check==TRUE)
{
xs[3]=1;
ll++;
}
if(m_x5_Check==TRUE)
{
xs[4]=1;
ll++;
}
if(m_x6_Check==TRUE)
{
xs[5]=1;
ll++;
}
if(m_x7_Check==TRUE)
{
xs[6]=1;
ll++;
}
if(m_x8_Check==TRUE)
{
xs[7]=1;
ll++;
}
if(m_x9_Check==TRUE)
{
xs[8]=1;
ll++;
}
typeradio=CWnd::GetCheckedRadioButton(IDC_CHENG_RADIO,IDC_RADIO5);
if(typeradio==IDC_CHENG_RADIO)
{
xs[9]=1;
ll++;
}
if(typeradio==IDC_RADIO4)
{
xs[10]=1;
ll++;
}
if(typeradio==IDC_RADIO5)
{
xs[11]=1;
ll++;
}
//积分计算
for(i=0;i<12;i++)
for(j=0;j<4;j++)
if(xs[i])
score[j]+=pw[j]*px[i][j]/px[i][4];
char ww[4][10];
int n=0,m=0;
if(ll<2)
m_add_Edit.SetWindowText("请先选择病人的病症");
else
{
//选择诊断
for(i=0;i<4;i++)
{
score[i]=(score[i]*10/ll+5)/10;
if(score[i]>score[k])
k=i;
n+=score[i];
}
if(n!=100)
m=100-n;
for(i=0;i<3;i++)
_gcvt((double)score[i],10,ww[i]);
_gcvt((double)(score[3]+m),10,ww[3]);
//结果输出
m_w1_Edit=ww[0];
m_w2_Edit=ww[1];
m_w3_Edit=ww[2];
m_w4_Edit=ww[3];
if(score[k]<60)
m_result_Edit=w[4];
else
m_result_Edit=w[k];
GetDlgItem(IDC_CONF_BUTTON)->EnableWindow(TRUE);
}
}
}
UpdateData(FALSE);
}
void CDiDlg::OnModiButton()
{
CString id,name;
long idnum;
int typeradio;
//读取屏幕控件值
CDialog::UpdateData(TRUE);
//病人ID
m_id_Combo.GetWindowText(id);
idnum=atol(id);
if(idnum==0)
m_add_Edit.SetWindowText("请先输入病人ID");
else if(idnum>2003100||idnum<2003001)
m_add_Edit.SetWindowText("输入病人的ID超出范围");
else
{
Patient[idnum-2003001].ID=idnum;
//病人姓名
m_name_Combo.GetWindowText(name);
strcpy(Patient[idnum-2003001].name,name);
if(!strcmp(name,""))
m_add_Edit.SetWindowText("请先输入病人姓名");
else
{
//病人类型
CString time,reason;
m_time_Edit.GetWindowText(time);
m_reason_Edit.GetWindowText(reason);
typeradio=CWnd::GetCheckedRadioButton(IDC_TYPE_RADIO,IDC_ROME_RADIO);
if(typeradio==IDC_ROME_RADIO)
{
Patient[idnum-2003001].type=1;
strcpy(Patient[idnum-2003001].time,time);
strcpy(Patient[idnum-2003001].reason,reason);
}
//病人病症
if(m_x1_Check==TRUE)
{
Patient[idnum-2003001].state[0]=1;
xs[0]=1;
}
if(m_x2_Check==TRUE)
{
Patient[idnum-2003001].state[1]=1;
xs[1]=1;
}
if(m_x3_Check==TRUE)
{
Patient[idnum-2003001].state[2]=1;
xs[2]=1;
}
if(m_x4_Check==TRUE)
{
Patient[idnum-2003001].state[3]=1;
xs[3]=1;
}
if(m_x5_Check==TRUE)
{
Patient[idnum-2003001].state[4]=1;
xs[4]=1;
}
if(m_x6_Check==TRUE)
{
Patient[idnum-2003001].state[5]=1;
xs[5]=1;
}
if(m_x7_Check==TRUE)
{
Patient[idnum-2003001].state[6]=1;
xs[6]=1;
}
if(m_x8_Check==TRUE)
{
Patient[idnum-2003001].state[7]=1;
xs[7]=1;
}
if(m_x9_Check==TRUE)
{
Patient[idnum-2003001].state[8]=1;
xs[8]=1;
}
typeradio=CWnd::GetCheckedRadioButton(IDC_CHENG_RADIO,IDC_RADIO5);
if(typeradio==IDC_CHENG_RADIO)
{
Patient[idnum-2003001].state[9]=1;
xs[9]=1;
}
if(typeradio==IDC_RADIO4)
{
Patient[idnum-2003001].state[10]=1;
xs[10]=1;
}
if(typeradio==IDC_RADIO5)
{
Patient[idnum-2003001].state[11]=1;
xs[11]=1;
}
CString buf;
m_add_Edit.GetWindowText(buf);
strcpy(Patient[idnum-2003001].info,buf);
m_add_Edit.SetWindowText("病人的资料已修改");
}//end else(name)
}//end else(id)
}
void CDiDlg::OnRomeRadio()
{
CString id,time,reason;
long idnum;
UpdateData(TRUE);
m_id_Combo.GetWindowText(id);
idnum=atol(id);
if(idnum==2003020||idnum==2003040||idnum==2003080||idnum==2003100)
{
m_time_Edit.SetWindowText(Patient[idnum-2003001].time);
m_reason_Edit.SetWindowText(Patient[idnum-2003001].reason);
m_name_Combo.SetWindowText(Patient[idnum-2003001].name);
}
UpdateData(FALSE);
GetDlgItem(IDC_ROME_STATIC)->EnableWindow(TRUE);
GetDlgItem(IDC_TIME_STATIC)->EnableWindow(TRUE);
GetDlgItem(IDC_REASON_STATIC)->EnableWindow(TRUE);
GetDlgItem(IDC_TIME_EDIT)->EnableWindow(TRUE);
GetDlgItem(IDC_REASON_EDIT)->EnableWindow(TRUE);
GetDlgItem(IDC_IN_BUTTON)->EnableWindow(FALSE);
GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(TRUE);
}
void CDiDlg::OnTypeRadio()
{
GetDlgItem(IDC_ROME_STATIC)->EnableWindow(FALSE);
GetDlgItem(IDC_TIME_STATIC)->EnableWindow(FALSE);
GetDlgItem(IDC_REASON_STATIC)->EnableWindow(FALSE);
GetDlgItem(IDC_TIME_EDIT)->EnableWindow(FALSE);
GetDlgItem(IDC_REASON_EDIT)->EnableWindow(FALSE);
}
void CDiDlg::OnExitButton()
{
CDialog::OnOK();
}
void CDiDlg::OnEditchangeIdCombo()
{
CString id,time,reason;
long idnum;
UpdateData(TRUE);
m_id_Combo.GetWindowText(id);
idnum=atol(id);
if(idnum==2003020||idnum==2003040||idnum==2003080||idnum==2003100)
{
GetDlgItem(IDC_ROME_STATIC)->EnableWindow(TRUE);
GetDlgItem(IDC_TIME_STATIC)->EnableWindow(TRUE);
GetDlgItem(IDC_REASON_STATIC)->EnableWindow(TRUE);
GetDlgItem(IDC_TIME_EDIT)->EnableWindow(TRUE);
GetDlgItem(IDC_REASON_EDIT)->EnableWindow(TRUE);
GetDlgItem(IDC_IN_BUTTON)->EnableWindow(FALSE);
GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(TRUE);
m_time_Edit.SetWindowText(Patient[idnum-2003001].time);
m_reason_Edit.SetWindowText(Patient[idnum-2003001].reason);
m_name_Combo.SetWindowText(Patient[idnum-2003001].name);
GetDlgItem(IDC_ROME_RADIO)->EnableWindow(TRUE);
}
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -