📄 dlg_del.cpp
字号:
// (Version 1.00 :: 10-Mar-1999 :: Harutoshi Yoshida)
// Dlg_Del.cpp : 僀儞僾儕儊儞僥乕僔儑儞 僼傽僀儖
//
#include "stdafx.h"
#include "MSdefine.h"
#include "KSG.h"
#include "Dlg_Del.h"
#include "Dlg_Wait.h"
#include "KSG_File.h"
#include "msflexgrid.h"
#include "C_Proc.h"
#include "C_Work.h"
#include "KSG_Main.h"
#if !C_DEFINE_INC
#include "C_Define.h"
#endif
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define GRID_COL_MAX 3 // 僌儕僢僪嵟戝悢
char *Del_Grid_title[GRID_COL_MAX] = { // 僌儕僢僪偺僞僀僩儖
// ver 1.30
///*00*/ "No.",
///*01*/ "僼傽僀儖柤",
///*02*/ "攇宍僨乕僞廂廤忬嫷"
/*00*/ "No.",
/*01*/ "File柤",
/*02*/ "攇宍Data廂廤忬嫷"
};
short Del_Grid_width[GRID_COL_MAX] = { // 僌儕僢僪偺暆(暥帤悢仏俀亄俆侽)
/*00*/ 600,
/*01*/ 1800,
/*02*/ 2200
};
struct S_DEL_DAT {
char name[13]; // 僼傽僀儖柤
int stt; // 攇宍僨乕僞廂廤忬嫷
};
struct S_DEL_DAT WaveFile[MAX_CH][15]; // 昞帵梡僨乕僞
/////////////////////////////////////////////////////////////////////////////
// CDlg_Del 僟僀傾儘僌
CDlg_Del::CDlg_Del(CWnd* pParent /*=NULL*/)
: CDialog(CDlg_Del::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlg_Del)
// 儊儌 - ClassWizard 偼偙偺埵抲偵儅僢僺儞僌梡偺儅僋儘傪捛壛傑偨偼嶍彍偟傑偡丅
//}}AFX_DATA_INIT
}
void CDlg_Del::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlg_Del)
// 儊儌 - ClassWizard 偼偙偺埵抲偵儅僢僺儞僌梡偺儅僋儘傪捛壛傑偨偼嶍彍偟傑偡丅
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlg_Del, CDialog)
//{{AFX_MSG_MAP(CDlg_Del)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_BTN_MAG_REQ, OnBtnMagReq)
ON_BN_CLICKED(IDC_BTN_WAVE_REQ, OnBtnWaveReq)
ON_BN_CLICKED(IDC_BTN_DEL, OnBtnDel)
ON_BN_CLICKED(IDC_BTN_EXIT, OnBtnExit)
ON_CBN_SELCHANGE(IDC_CMB_PNT, OnSelchangeCmbPnt)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlg_Del 儊僢僙乕僕 僴儞僪儔
/*=====================================
@p << Dialog弶婜壔 >>
=====================================*/
BOOL CDlg_Del::OnInitDialog()
{
CMSFlexGrid* pGrid;
CComboBox* pCmbBx;
int i;
char buf[10];
CDialog::OnInitDialog();
pOpenDlg = this;
// 儊僯儏乕儃僞儞(倃)丗柍岠
GetSystemMenu(FALSE)->EnableMenuItem(SC_CLOSE, MF_DISABLED);
pGrid = (CMSFlexGrid*)GetDlgItem(IDC_MSFLEXGRID);
pGrid->SetCols(GRID_COL_MAX);
pGrid->SetRow(0);
for (i=0; i<GRID_COL_MAX; i++) {
pGrid->SetCol(i);
pGrid->SetCellAlignment(flexAlignCenterCenter);
pGrid->SetText(Del_Grid_title[i]);
pGrid->SetColWidth(i, Del_Grid_width[i]);
}
pGrid->SetCol(0);
for (i=1; i<15+1; i++) {
pGrid->SetRow(i);
sprintf(buf, "%d", i);
pGrid->SetText(buf);
}
pGrid->SetRow(1);
OnClickMsflexgrid();
pCmbBx = (CComboBox*)GetDlgItem(IDC_CMB_PNT);
for (i=0; i<MAX_CH; i++) {
pCmbBx->AddString(AdrEntDat[i].AdrName);
}
pCmbBx->SetCurSel(M_Cmd_Sel_Ch);
ChNoDisp();
DataDisp();
return TRUE;
}
/*=====================================
@p << Dialog Close >>
=====================================*/
void CDlg_Del::OnClose()
{
dialog_close(DSP_DEL);
CDialog::OnOK();
}
/*=====================================
@p << 俷俲儃僞儞 >>
=====================================*/
void CDlg_Del::OnOK()
{
return;
}
/*=====================================
@p << 僉儍儞僙儖儃僞儞 >>
=====================================*/
void CDlg_Del::OnCancel()
{
return;
}
/*=====================================
@p << 儊僯儏乕儃僞儞 >>
=====================================*/
void CDlg_Del::OnBtnExit()
{
DspReqStack(DSP_MNT);
}
/*=====================================
@p << 娤應揰柤徧僐儞儃儃僢僋僗曄峏 >>
=====================================*/
void CDlg_Del::OnSelchangeCmbPnt()
{
CComboBox* pCmbBx;
int n;
pCmbBx = (CComboBox*)GetDlgItem(IDC_CMB_PNT);
n = pCmbBx->GetCurSel();
if (n != M_Cmd_Sel_Ch) {
M_Cmd_Sel_Ch = n;
CDlg_Del::ChNoDisp();
CDlg_Del::DataDisp();
}
}
/*=====================================
@p << 抧揰No.昞帵 >>
=====================================*/
void CDlg_Del::ChNoDisp()
{
char buf[5];
sprintf(buf, "%d", M_Cmd_Sel_Ch+1);
SetDlgItemText(IDC_STC_NUM, buf);
}
/*=====================================
@p << 僨乕僞昞帵 >>
=====================================*/
void CDlg_Del::DataDisp()
{
CMSFlexGrid *pGrid;
int i;
char *chk[3] = {
"",
"仢",
// ver 1.30
//"嫮恔僨乕僞柍偟"
"嫮恔Data柍"
};
pGrid = (CMSFlexGrid*)GetDlgItem(IDC_MSFLEXGRID);
pGrid->ShowWindow(SW_HIDE);
for (i=0; i<15; i++) {
pGrid->SetRow(i+1);
pGrid->SetCol(1);
pGrid->SetText(WaveFile[M_Cmd_Sel_Ch][i].name);
pGrid->SetCol(2);
pGrid->SetText(chk[WaveFile[M_Cmd_Sel_Ch][i].stt]);
}
pGrid->SetRow(1);
pGrid->ShowWindow(SW_SHOW);
OnClickMsflexgrid();
}
/*=====================================
m:23-Jan-1999
@p << 庢摼攇宍僼傽僀儖柤妋擣 >>
=====================================*/
void CDlg_Del::fname_chk()
{
int f_all, fa, a, b, flg, f_cnt, d_cnt, err;
char fname[MAX_PATH];
struct S_DtbData dtb;
// 巆嵼忣曬憤悢
f_all = 15;
for (fa=0;fa<f_all;fa++){ //
WaveFile[M_Cmd_Sel_Ch][fa].stt = 2;
RecvDir[M_Cmd_Sel_Ch].G_FName[fa][12] = NULL; // 攇宍僼傽僀儖柤(1 - 15)
if (RecvDir[M_Cmd_Sel_Ch].G_FName[fa][0] == ' '){
break;
}
else{
strcpy(WaveFile[M_Cmd_Sel_Ch][fa].name, RecvDir[M_Cmd_Sel_Ch].G_FName[fa]);
}
}
// f_all = fa;
for (;fa<15;fa++){ //
WaveFile[M_Cmd_Sel_Ch][fa].stt = 0;
WaveFile[M_Cmd_Sel_Ch][fa].name[0] = NULL;
}
get_dtb_entry(); // 摨堦抧恔僨乕僞僼傽僀儖嵞専嶕
d_cnt = Dtb_ent_cnt;
for (a=0;a<d_cnt;a++){ //
err = get_dtb_name(a, fname);
if (err){
f_cnt = 0;
}
else{
f_cnt = get_dtb_cnt(fname);
}
if (f_cnt > 1000) f_cnt = 0;
for (b=0;b<f_cnt;b++){ //
err = DtbDataAccess(0, fname, 0, b, (char*)&dtb);
if (!err){ // 僄儔乕敪惗
if (dtb.EntNum == M_Cmd_Sel_Ch){ // 搊榐No.
for (fa=0;fa<f_all;fa++){ // 庢摼攇宍僼傽僀儖悢暘
flg = strcmp(dtb.FileName, WaveFile[M_Cmd_Sel_Ch][fa].name);
if (flg == 0){ // 堦抳
if (dtb.FileEnable){ // 昞帵攇宍僼傽僀儖桳傝乛柍偟仢
WaveFile[M_Cmd_Sel_Ch][fa].stt = 1; // 攇宍僨乕僞廂廤忬嫷
}
else{
WaveFile[M_Cmd_Sel_Ch][fa].stt = 0; // 攇宍僨乕僞廂廤忬嫷
}
break;
}
}
}
}
}
}
}
/*=====================================
m:23-Jan-1999
@p << 僐儅儞僪幚峴 >>
=====================================*/
void CDlg_Del::CmdExec(int cmd)
{
CDlg_Wait wDlg;
int s_ch;
if (TCP_USE){
s_ch = 1;
}
else{
s_ch = M_Cmd_Sel_Ch;
}
// 昞帵崁栚庢摼
CMSFlexGrid *pGrid;
int fa, row;
CString cbuf;
pGrid = (CMSFlexGrid*)GetDlgItem(IDC_MSFLEXGRID);
row = pGrid->GetRow();
pGrid->SetCol(1);
cbuf = pGrid->GetText();
for (fa=0;fa<15;fa++){ //
RecvDir[s_ch].G_FName[fa][0] = ' ';
}
switch (cmd){
case FRETURN: // 嫮恔僨乕僞梫媮
case DELFILE: // 僼傽僀儖嶍彍
memmove(Scw[s_ch].AddPar, cbuf, 12);
break;
case DRETURN: // 攇宍忣曬偺堦棗傪梫媮偡傞
memmove(Scw[s_ch].AddPar, " ", 12);
break;
}
Scw[s_ch].AddPar[12] = (char) 0x0d;
Scw[s_ch].AddPar[13] = (char) 0x0a;
if (Rcw[s_ch].Enable && Rcw[s_ch].ComPhs == 0){
// 29-Jan:HY
M_Cmd_Exec |= Atv_dat[s_ch];
Scw[s_ch].ReqCmd = cmd;
wDlg.DoModal();
}
CmsBit.All_Send = 0;
if (Exec_Abort == 0) {
switch (cmd) {
case FRETURN: // 嫮恔僨乕僞梫媮
case DRETURN: // 攇宍忣曬偺堦棗傪梫媮偡傞
case DELFILE: // 僼傽僀儖嶍彍
fname_chk();
break;
}
}
else{ // 拞抐
war_disp(War_msg[4]);
}
DataDisp();
}
/*=====================================
@p << 嫮恔僨乕僞梫媮儃僞儞 >>
=====================================*/
void CDlg_Del::OnBtnMagReq()
{
CmdExec(FRETURN); // 嫮恔僨乕僞梫媮
}
/*=====================================
@p << 攇宍僨乕僞梫媮儃僞儞 >>
=====================================*/
void CDlg_Del::OnBtnWaveReq()
{
CmdExec(DRETURN); // 攇宍忣曬偺堦棗傪梫媮偡傞
}
/*=====================================
@p << 嶍彍儃僞儞 >>
=====================================*/
void CDlg_Del::OnBtnDel()
{
CmdExec(DELFILE); // 巜掕偟偨攇宍忣曬丄嫮恔忣曬偺嶍彍傪梫媮偡傞
}
BEGIN_EVENTSINK_MAP(CDlg_Del, CDialog)
//{{AFX_EVENTSINK_MAP(CDlg_Del)
ON_EVENT(CDlg_Del, IDC_MSFLEXGRID, -600 /* Click */, OnClickMsflexgrid, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
/*-------------------------------------
m:23-Jan-1999
@p << Grid click >>
-------------------------------------*/
void CDlg_Del::OnClickMsflexgrid()
{
long row;
CMSFlexGrid* fxGrid;
fxGrid = (CMSFlexGrid*)this->GetDlgItem(IDC_MSFLEXGRID);
row = fxGrid->GetRow();
fxGrid->SetCol(0);
fxGrid->SetRow(row);
fxGrid->SetColSel(GRID_COL_MAX-1);
fxGrid->SetRowSel(row);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -