📄 yszmxzsbdlg.cpp
字号:
// yszmxzsbdlg.cpp : implementation file
//
#include <atlbase.h>
#include <atlctl.h>
#include "stdafx.h"
#include "xxgl.h"
#include "yszmxzsbdlg.h"
#include "strt.h"
#include "ext.h"
#include "func.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static int cur_focus;
Cyszmxzsbdlg::Cyszmxzsbdlg(CWnd* pParent /*=NULL*/)
: CDialog(Cyszmxzsbdlg::IDD, pParent)
{
//{{AFX_DATA_INIT(Cyszmxzsbdlg)
//}}AFX_DATA_INIT
g_yszm_sel_sb = 0;
out_flag = 0;
cur_focus = 0;
}
void Cyszmxzsbdlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cyszmxzsbdlg)
DDX_Control(pDX, IDC_pyjx, m_pyjx);
DDX_Control(pDX, IDC_GRID1, m_grid);
//}}AFX_DATA_MAP
CBitmap *bitmap;
CBitmap *bitmap1;
HBITMAP hbitmap;
HBITMAP hbitmap1;
bitmap = new CBitmap();
bitmap1 = new CBitmap();
bitmap->LoadBitmap(IDB_qr);
bitmap1->LoadBitmap(IDB_qx);
hbitmap = (*bitmap).operator HBITMAP();
hbitmap1 = (*bitmap1).operator HBITMAP();
CWnd *wn;
CWnd *wn1;
wn = GetDlgItem(IDOK);
wn1 = GetDlgItem(IDCANCEL);
// wn2 = GetDlgItem(IDOK3);
WPARAM wParam;
LPARAM lParam;
wParam = (WPARAM) LOWORD(BS_LEFT | BS_BITMAP); // style
lParam = MAKELPARAM(TRUE, 0); // redraw flag
wn->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap);
wn1->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap1);
if (out_flag == 0){
HTREEITEM htreeitem;
HTREEITEM h1,h2;
FILE *fpe;
char e_id_buf[50],e_code_buf[50],p_id_buf[50];
char e_name_buf[50],e_abbr_buf[50],a_id_buf[50];
char m_un_buf[50],c_pr_buf[50];
char id_buf[7][3];
int i,j,k,l,n,m;
long order;
int flag,flag1;
char buf1[50];
int parent,ret;
char buf2[10];
char buf[100];
char bb[100];
float ff;
int tt;
long ll;
fpe = fopen("c:\\xxsbgl\\sbqk.txt","rb");
i = 0;
flag = 0;
tt = 0;
m_grid.SetColWidth(0L,12000);
m_grid.SetRows(1000L);
while (flag == 0){
ret = get_a_line(fpe,g_e_id[i]);
if (ret == -1)
break;
get_a_line(fpe,g_e_code[i]);
get_a_line(fpe,g_p_id[i]);
get_a_line(fpe,g_e_name[i]);
get_a_line(fpe,g_e_abbr[i]);
get_a_line(fpe,g_a_id[i]);
get_a_line(fpe,g_m_un[i]);
get_a_line(fpe,g_c_pr[i]);
get_a_line(fpe,buf2);
g_parent[i] = atoi(buf2);
if (buf2[0] != '-'){
strcpy(bb,g_e_name[i]);
strcat(bb,"(");
strcat(bb,g_e_name[g_parent[i]]);
strcat(bb,")");
tt ++;
// m_list.AddString(bb);
}
else{
tt ++;
// m_list.AddString(g_e_name[i]);
}
g_order_of_list[i] = i;
i ++;
}
g_end_sbs = i;
g_cur_rec = 0;
fclose(fpe);
/*
fpe = fopen("c:\\xxsbgl\\sbqk.txt","rb");
ll = tt + 1;
m_grid.SetRows(ll);
flag = 0;
tt = 0;
while (flag == 0){
ret = get_a_line(fpe,g_e_id[i]);
if (ret == -1)
break;
get_a_line(fpe,g_e_code[i]);
get_a_line(fpe,g_p_id[i]);
get_a_line(fpe,g_e_name[i]);
get_a_line(fpe,g_e_abbr[i]);
get_a_line(fpe,g_a_id[i]);
get_a_line(fpe,g_m_un[i]);
get_a_line(fpe,g_c_pr[i]);
get_a_line(fpe,buf2);
g_parent[i] = atoi(buf2);
if (buf2[0] != '-'){
strcpy(bb,g_e_name[i]);
strcat(bb,"(");
strcat(bb,g_e_name[g_parent[i]]);
strcat(bb,")");
ll = tt;
m_grid.SetRow(ll);
m_grid.SetCol(0L);
m_grid.SetText(bb);
tt ++;
// m_list.AddString(bb);
}
else{
ll = tt;
m_grid.SetRow(ll);
m_grid.SetCol(0L);
m_grid.SetText(g_e_name[i]);
tt ++;
// m_list.AddString(g_e_name[i]);
}
}
fclose(fpe);
g_cur_sb_search_pos = 0;
fpe = fopen("c:\\xxsbgl\\sbqk.txt","rb");
i = 0;
flag = 0;
g_end_p = g_begin_p = 0;
while (flag == 0){
ret = get_a_line(fpe,g_e_id[i]);
if (ret == -1)
break;
get_a_line(fpe,g_e_code[i]);
get_a_line(fpe,g_p_id[i]);
get_a_line(fpe,g_e_name[i]);
get_a_line(fpe,g_e_abbr[i]);
get_a_line(fpe,g_a_id[i]);
get_a_line(fpe,g_m_un[i]);
get_a_line(fpe,g_c_pr[i]);
get_a_line(fpe,buf2);
i ++;
}
g_end_sbs = i;
fclose(fpe);
*/
g_cur_rec = 0;
if (g_yszm_xzsb_flag == 1){
g_yszm_xzsb_flag = 0;
m_pyjx.SetText("");
m_pyjx.SetSelText(g_yszm_xzsb_pass_buf);
OnChangepyjx();
}
/*
fpe = fopen("c:\\xxsbgl\\yszm.dat","rb");
if (fpe == NULL)
return;
fread(buf,1,1,fpe);
fread(buf,60,1,fpe);
SetDlgItemText(IDC_sbmc,buf);
fread(buf,20,1,fpe);
SetDlgItemText(IDC_gdbh,buf);
fread(buf,20,1,fpe);
SetDlgItemText(IDC_yqdm,buf);
fread(buf,20,1,fpe);
SetDlgItemText(IDC_scdm,buf);
fread(buf,10,1,fpe);
SetDlgItemText(IDC_rkfs,buf);
fread(buf,20,1,fpe);
SetDlgItemText(IDC_cjpp,buf);
fread(buf,40,1,fpe);
SetDlgItemText(IDC_xhgg,buf);
fread(&ff,4,1,fpe);
sprintf(buf,"%8.2f",ff);
SetDlgItemText(IDC_wpdj,buf);
fread(&ff,4,1,fpe);
sprintf(buf,"%8.2f",ff);
SetDlgItemText(IDC_wpsl,buf);
fread(&ff,4,1,fpe);
sprintf(buf,"%8.2f",ff);
SetDlgItemText(IDC_zje,buf);
fread(buf,40,1,fpe);
SetDlgItemText(IDC_ssbm,buf);
fread(buf,10,1,fpe);
SetDlgItemText(IDC_jbr,buf);
fread(buf,60,1,fpe);
SetDlgItemText(IDC_ghdw,buf);
fread(&tt,4,1,fpe);
sprintf(buf,"%d",tt);
SetDlgItemText(IDC_ygn,buf);
fread(&tt,4,1,fpe);
sprintf(buf,"%d",tt);
SetDlgItemText(IDC_ygy,buf);
fread(&tt,4,1,fpe);
sprintf(buf,"%d",tt);
SetDlgItemText(IDC_ygr,buf);
fread(&tt,4,1,fpe);
sprintf(buf,"%d",tt);
SetDlgItemText(IDC_rkn,buf);
fread(&tt,4,1,fpe);
sprintf(buf,"%d",tt);
SetDlgItemText(IDC_rky,buf);
fread(&tt,4,1,fpe);
sprintf(buf,"%d",tt);
SetDlgItemText(IDC_rkr,buf);
fclose(fpe);
if (g_gdbh_sel_flag == 1){
SetDlgItemText(IDC_ssbjm,"固定编号:");
}
*/
}
}
BEGIN_MESSAGE_MAP(Cyszmxzsbdlg, CDialog)
//{{AFX_MSG_MAP(Cyszmxzsbdlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cyszmxzsbdlg message handlers
void Cyszmxzsbdlg::OnOK()
{
int n,i;
long nl;
// if (cur_focus == 0)
// return ;
nl = m_grid.GetRows();
if (nl == 1){
g_yszm_sel_sb = g_order_of_list[0];
}
else{
nl = m_grid.GetRowSel();
if (nl < 0){
MessageBox("对不起,您没有选择设备,不能退出.",MB_OK);
CWnd *wnd;
wnd = GetDlgItem(IDC_pyjx);
wnd->SetFocus();
return ;
}
g_yszm_sel_sb = g_order_of_list[nl];
}
if (g_xzxzsb_flag == 1){
for (i=0;i<g_end_sbs;i++){
if (g_parent[i] == g_yszm_sel_sb){
if ((strstr(g_e_name[g_yszm_sel_sb],"其他") == NULL)&&
(strstr(g_e_name[g_yszm_sel_sb],"其它") == NULL)){
MessageBox("对不起,您选择的是设备类,而不是设备,不能退出.",MB_OK);
CWnd *wnd;
wnd = GetDlgItem(IDC_pyjx);
wnd->SetFocus();
return ;
}
}
}
}
out_flag = 1;
CDialog::OnOK();
}
void Cyszmxzsbdlg::OnCancel()
{
// TODO: Add extra cleanup here
out_flag = 1;
CDialog::OnCancel();
}
BEGIN_EVENTSINK_MAP(Cyszmxzsbdlg, CDialog)
//{{AFX_EVENTSINK_MAP(Cyszmxzsbdlg)
ON_EVENT(Cyszmxzsbdlg, IDC_pyjx, -603 /* KeyPress */, OnKeyPresspyjx, VTS_PI2)
ON_EVENT(Cyszmxzsbdlg, IDC_pyjx, -602 /* KeyDown */, OnKeyDownpyjx, VTS_PI2 VTS_I2)
ON_EVENT(Cyszmxzsbdlg, IDC_pyjx, 1 /* Change */, OnChangepyjx, VTS_NONE)
ON_EVENT(Cyszmxzsbdlg, IDC_GRID1, -602 /* KeyDown */, OnKeyDownGrid1, VTS_PI2 VTS_I2)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void Cyszmxzsbdlg::OnKeyPresspyjx(short FAR* KeyAscii)
{
// TODO: Add your control notification handler code here
int i;
i = 0;
}
void Cyszmxzsbdlg::OnKeyDownpyjx(short FAR* KeyCode, short Shift)
{
// TODO: Add your control notification handler code here
short key;
int cur;
long nl;
key = *KeyCode;
if (key == 40){
m_grid.SetFocus();
}
else if (key == 38){
m_grid.SetFocus();
}
else if (key == 13){
// OnOK();
}
}
void Cyszmxzsbdlg::OnChangepyjx()
{
// TODO: Add your control notification handler code here
int i,j,k,l,p,flag,sel_flag;
long nl;
CString str;
char bb[200];
char buf[40];
char buf1[50];
m_grid.SetRows(0L);
m_grid.SetRows(1000L);
switch_to_english_mode(this);
GetDlgItemText(IDC_pyjx,buf,20);
l = strlen(buf);
if (l > 0){
for (i=0;i<l;i++){
if (g_gdbh_sel_flag == 1){
if ((buf[i] < '0')||(buf[i] > '9')){
buf[i] = 0;
m_pyjx.SetText("");
m_pyjx.SetSelText(buf);
}
}
else{
if ((buf[i] >= 'A')&&(buf[i] <= 'Z')){
buf[i] -= 'A';
buf[i] += 'a';
}
if ((buf[i] < 'a')||(buf[i] > 'z')){
buf[i] = 0;
m_pyjx.SetText("");
m_pyjx.SetSelText(buf);
}
}
}
}
if (g_gdbh_sel_flag == 1){
if (strlen(buf) > 6){
buf[6] = 0;
m_pyjx.SetText("");
m_pyjx.SetSelText(buf);
}
}
else{
if (strlen(buf) > 10){
buf[10] = 0;
m_pyjx.SetText("");
m_pyjx.SetSelText(buf);
}
}
// m_list.ResetContent();
nl = 0;
i = 0;
k = 0;
GetDlgItemText(IDC_pyjx,str);
strcpy(buf,str.GetBuffer(40));
if (g_gdbh_sel_flag == 0){
for (i=0;i<l;i++){
if ((buf[i] >= 'A')&&(buf[i] <= 'Z')){
buf[i] -= 'A';
buf[i] += 'a';
}
}
}
sel_flag = 0;
for (i=0;i<g_end_sbs;i++){
if (g_gdbh_sel_flag == 1){
flag = 1;
for (j=0;j<strlen(buf);j++){
if (strstr(g_a_id[i],buf) == g_a_id[i]){
flag = 0;
break;
}
}
if (buf[0] == 0){
flag = 1;
}
if (flag == 0){
if (g_parent[i] == -1){
m_grid.SetCol(0L);
m_grid.SetRow(nl);
m_grid.SetText(g_e_name[i]);
nl ++;
// m_list.AddString(g_e_name[i]);
}
else{
strcpy(bb,g_e_name[i]);
if (strlen(g_e_name[i]) < 30){
for (j=0;j<30-strlen(g_e_name[i]);j++)
strcat(bb," ");
}
strcat(bb,g_e_name[g_parent[i]]);
p = g_parent[i];
if (g_parent[p] != -1){
if (strlen(g_e_name[p]) < 20){
for (j=0;j<20-strlen(g_e_name[p]);j++)
strcat(bb," ");
}
strcat(bb," ");
strcat(bb,g_e_name[g_parent[p]]);
p = g_parent[p];
if (g_parent[p] != -1){
if (strlen(g_e_name[p]) < 20){
for (j=0;j<20-strlen(g_e_name[p]);j++)
strcat(bb," ");
}
strcat(bb," ");
strcat(bb,g_e_name[g_parent[p]]);
}
}
m_grid.SetCol(0L);
m_grid.SetRow(nl);
m_grid.SetText(bb);
nl ++;
// m_list.AddString(bb);
}
strcpy(buf1,g_e_name[i]);
g_order_of_list[k] = i;
k ++;
g_last_sel = i;
}
}
else{
flag = 1;
for (j=0;j<strlen(buf);j++){
if (strstr(g_e_abbr[i],buf) == g_e_abbr[i]){
flag = 0;
break;
}
}
if (buf[0] == 0){
flag = 1;
}
if (flag == 0){
sel_flag = 1;
if (g_parent[i] == -1){
m_grid.SetCol(0L);
m_grid.SetRow(nl);
m_grid.SetText(g_e_name[i]);
nl ++;
// m_list.AddString(g_e_name[i]);
}
else{
strcpy(bb,g_e_name[i]);
if (strlen(g_e_name[i]) < 30){
for (j=0;j<30-strlen(g_e_name[i]);j++)
strcat(bb," ");
}
strcat(bb,g_e_name[g_parent[i]]);
p = g_parent[i];
if (g_parent[p] != -1){
if (strlen(g_e_name[p]) < 20){
for (j=0;j<20-strlen(g_e_name[p]);j++)
strcat(bb," ");
}
strcat(bb," ");
strcat(bb,g_e_name[g_parent[p]]);
p = g_parent[p];
if (g_parent[p] != -1){
if (strlen(g_e_name[p]) < 20){
for (j=0;j<20-strlen(g_e_name[p]);j++)
strcat(bb," ");
}
strcat(bb," ");
strcat(bb,g_e_name[g_parent[p]]);
}
}
m_grid.SetCol(0L);
m_grid.SetRow(nl);
m_grid.SetText(bb);
nl ++;
// m_list.AddString(bb);
}
strcpy(buf1,g_e_name[i]);
g_order_of_list[k] = i;
k ++;
g_last_sel = i;
}
}
}
if (sel_flag == 0){
for (i=0;i<g_end_sbs;i++){
if (g_gdbh_sel_flag == 0){
flag = 1;
for (j=0;j<strlen(buf);j++){
if ((strstr(g_e_name[i],"固定资产其他") != NULL)||
(strstr(g_e_name[i],"固定资产其它") != NULL)||
(strstr(g_e_name[i],"低值品其他") != NULL)||
(strstr(g_e_name[i],"低值品其它") != NULL)){
flag = 0;
break;
}
}
if (buf[0] == 0){
flag = 1;
}
if (flag == 0){
sel_flag = 1;
if (g_parent[i] == -1){
m_grid.SetCol(0L);
m_grid.SetRow(nl);
m_grid.SetText(g_e_name[i]);
nl ++;
// m_list.AddString(g_e_name[i]);
}
else{
strcpy(bb,g_e_name[i]);
if (strlen(g_e_name[i]) < 30){
for (j=0;j<30-strlen(g_e_name[i]);j++)
strcat(bb," ");
}
strcat(bb,g_e_name[g_parent[i]]);
p = g_parent[i];
if (g_parent[p] != -1){
if (strlen(g_e_name[p]) < 20){
for (j=0;j<20-strlen(g_e_name[p]);j++)
strcat(bb," ");
}
strcat(bb," ");
strcat(bb,g_e_name[g_parent[p]]);
p = g_parent[p];
if (g_parent[p] != -1){
if (strlen(g_e_name[p]) < 20){
for (j=0;j<20-strlen(g_e_name[p]);j++)
strcat(bb," ");
}
strcat(bb," ");
strcat(bb,g_e_name[g_parent[p]]);
}
}
m_grid.SetCol(0L);
m_grid.SetRow(nl);
m_grid.SetText(bb);
nl ++;
// m_list.AddString(bb);
}
strcpy(buf1,g_e_name[i]);
g_order_of_list[k] = i;
k ++;
g_last_sel = i;
}
}
}
}
m_grid.SetRows(nl);
m_grid.SetRow(0L);
}
void Cyszmxzsbdlg::OnKeyDownGrid1(short FAR* KeyCode, short Shift)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -