亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? querydlg.cpp

?? 話費語音查詢及點歌軟件.C++ 語言編寫的.一款很有意思的小軟件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// QueryDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Query.h"
#include "QueryDlg.h"
#include "CallerInfoSet.h"
#include "CallCostSet.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryDlg dialog

CQueryDlg::CQueryDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CQueryDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CQueryDlg)
	m_strStatus0 = _T("");
	m_strStatus1 = _T("");
	m_strStatus2 = _T("");
	m_strStatus3 = _T("");
	m_strStatus4 = _T("");
	m_strStatus5 = _T("");
	m_strStatus6 = _T("");
	m_strStatus7 = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_LY);
}

void CQueryDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CQueryDlg)
	DDX_Text(pDX, IDC_STATIC0, m_strStatus0);
	DDX_Text(pDX, IDC_STATIC1, m_strStatus1);
	DDX_Text(pDX, IDC_STATIC2, m_strStatus2);
	DDX_Text(pDX, IDC_STATIC3, m_strStatus3);
	DDX_Text(pDX, IDC_STATIC4, m_strStatus4);
	DDX_Text(pDX, IDC_STATIC5, m_strStatus5);
	DDX_Text(pDX, IDC_STATIC6, m_strStatus6);
	DDX_Text(pDX, IDC_STATIC7, m_strStatus7);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CQueryDlg, CDialog)
	//{{AFX_MSG_MAP(CQueryDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_DESTROY()
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryDlg message handlers

BOOL CQueryDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	CFile file;
	CFileStatus status;
	if(!CFile::GetStatus("DSN.query",status))
	{
		AfxMessageBox("數據庫連接配置文件打開失敗!\n系統無法正常工作!",MB_OK,NULL);
		return FALSE;
	}
	else
	{
		if(file.Open("DSN.query",CFile::modeRead))
		{
			char buff[100];
			DWORD b=file.GetLength();
			file.Read(buff,b);
			for(DWORD a=0;a<b;a++)
			{
				strConnection+=buff[a];
			}
			
		}
		else
			return FALSE;
	}
	//load caller info from database
	try{
		CDatabase db;
		
		db.OpenEx(strConnection);
		CCallerInfoTable m_callerinfoset;	
		m_callerinfoset.m_strSort="phonenumber";
		m_callerinfoset.m_pDatabase=&db;
	if(!m_callerinfoset.Open(AFX_DB_USE_DEFAULT_TYPE,"SELECT * FROM query"))
	{
		MessageBox("打開電話查詢表出錯!");
		CDialog::OnOK();
	}
	m_callerinfoset.MoveFirst();
	m_iCallerNumber=0;
	while(!m_callerinfoset.IsEOF())
	{
		callerinfo[m_iCallerNumber].m_callerid=m_callerinfoset.m_phonenumber;
		callerinfo[m_iCallerNumber].m_password=m_callerinfoset.m_password;
		callerinfo[m_iCallerNumber].m_callerid.TrimRight();
		callerinfo[m_iCallerNumber].m_password.TrimRight();
		m_iCallerNumber++;
		m_callerinfoset.MoveNext();
	}
	m_callerinfoset.Close();
	}
	catch(...)
	{MessageBox("Error!");}
	// now initialize the voice card object

	for(int i=0;i<8;i++)
	{
		channelstatus[i].used=0;//
		bIsRecording[i]=FALSE;//NOT RECORDING
		channelstatus[i].step=0;
		m_strRecDTMF[i].Empty();
		this->m_strDuty[i]="9";

	}
	//INITALIZATION THE MEMBER OF DJ CARD
	m_djcard.pCallerInfo=this->callerinfoofch;
	m_djcard.pChannelStatus=channelstatus;
	m_djcard.pcosttype=costtype;
	m_djcard.pDtmfChar=this->dtmfchar;
	m_djcard.pIsRecording=this->bIsRecording;
	m_djcard.pstrDuty=this->m_strDuty;
	m_djcard.pstrenddate=this->enddate;
	m_djcard.pstrRecDTMF=this->m_strRecDTMF;
	m_djcard.pstrstartdate=this->startdate;
	m_djcard.pRecordFileName=this->m_strRecordFileName;

	if(!m_djcard.InitCard())
	{
		MessageBox("Load Drive of Voice Card Falt!");
		CDialog::OnOK();
	}
	this->ScreenStatus();
	this->SetTimer(2345,100,NULL);

	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CQueryDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CQueryDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CQueryDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

BEGIN_EVENTSINK_MAP(CQueryDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CQueryDlg)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

//DEL void CQueryDlg::OnOnStatusChangeDmfax1(short ChannelNo, short CurStatus) 
//DEL {
//DEL 	// TODO: Add your control notification handler code here
//DEL 	switch(CurStatus)//other side has hook on
//DEL 	{
//DEL 	case 3:
//DEL 		if(bIsRecording[ChannelNo])//stop recording
//DEL 		{
//DEL 			this->bIsRecording[ChannelNo]=FALSE;
//DEL 			m_dmfax.StopRP(ChannelNo);
//DEL 		}
//DEL 		ResetChannel(ChannelNo);
//DEL 		break;
//DEL 	case 4:
//DEL 		if(this->m_strDuty[ChannelNo]=="4"&&bIsRecording[ChannelNo]==FALSE)//need recording
//DEL 		{
//DEL 			strFileName[ChannelNo]="c:\\voc\\recordfiles\\"+CTime::GetCurrentTime().Format("%y%m%d%H%M%S")+".voc";
//DEL 			m_dmfax.RecordFile(ChannelNo,strFileName[ChannelNo]);
//DEL 			this->bIsRecording[ChannelNo]=TRUE;
//DEL 		}
//DEL 		break;
//DEL 	default :
//DEL 		break;
//DEL 	}
//DEL 	this->ScreenStatus();
//DEL 
//DEL 
//DEL }

void CQueryDlg::OnOnReceiveDTMFDmfax1(short ChannelNo, char DTMFBuf) 
{
	// TODO: Add your control notification handler code here
	if((CString)DTMFBuf!="#")
	{
		this->m_strRecDTMF[ChannelNo]+=DTMFBuf;
		return;
	}
	else
		if(!bIsRecording[ChannelNo])// be sure this channel is not recording
		{
			//m_dmfax.StopRP(ChannelNo);//stop play file;
			if(this->m_strRecDTMF[ChannelNo]=="*")//play song
				this->channelstatus[ChannelNo].step=3;
		}
	 BOOL bcheck=FALSE;
     int i=0;
	 int j=0;
	 if(this->m_strRecDTMF[ChannelNo].IsEmpty())
	 {
		 this->m_djcard.PlayFile(ChannelNo,"sorry.voc");
		 return;
	 }
	switch(channelstatus[ChannelNo].step)
	{
	case 1 ://in put caller id
		if(m_strRecDTMF[ChannelNo].GetAt(0)!='1')
			callerinfoofch[ChannelNo].m_callerid="1"+m_strRecDTMF[ChannelNo].Mid(1);
		else	
			callerinfoofch[ChannelNo].m_callerid=m_strRecDTMF[ChannelNo];
		m_strRecDTMF[ChannelNo].Empty();
		channelstatus[ChannelNo].step++;
		m_djcard.PlayFile(ChannelNo,"password.voc");
		break;

	case 2 ://input password
		callerinfoofch[ChannelNo].m_password=m_strRecDTMF[ChannelNo];
		m_strRecDTMF[ChannelNo].Empty();
		channelstatus[ChannelNo].step++;
		//now check the password
		for ( i;i<=m_iCallerNumber;i++)
		{
			if(callerinfoofch[ChannelNo].m_callerid==callerinfo[i].m_callerid)
				if(callerinfoofch[ChannelNo].m_password==callerinfo[i].m_password)
				{
					bcheck=TRUE;
					m_djcard.PlayFile(ChannelNo,"dutytype.voc");
				}
		}
		if(!bcheck)//password error ,hook on
		{
//			callerinfoofch[ChannelNo].m_callerid.Empty();
//			callerinfoofch[ChannelNo].m_password.Empty();
			channelstatus[ChannelNo].step--;
//			channelstatus[ChannelNo].used=0;
//			m_strRecDTMF[ChannelNo].Empty();
			m_djcard.PlayFile(ChannelNo,"errorpassword.voc");
//			m_dmfax.SetChProCtrl(ChannelNo,0);//hook on

//			ResetChannel(ChannelNo);
		}
		break;

	case 3 ://set the duty
		if((m_strRecDTMF[ChannelNo].GetLength()!=1)&&(m_strRecDTMF[ChannelNo]!="*9*"))
			this->ResetChannel(ChannelNo);
	
		if(m_strRecDTMF[ChannelNo]=="1"||m_strRecDTMF[ChannelNo]=="*9*")//call cost query
		{
			m_strDuty[ChannelNo]=m_strRecDTMF[ChannelNo];
			m_strRecDTMF[ChannelNo].Empty();
			channelstatus[ChannelNo].step++;
			m_djcard.PlayFile(ChannelNo,"costtype.voc");
			break;
		}
		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区**美女毛片| 国产老妇另类xxxxx| 精彩视频一区二区| www.66久久| 日韩欧美高清dvd碟片| 国产精品久久福利| 蜜桃视频在线观看一区二区| 色悠久久久久综合欧美99| 精品成人一区二区三区| 亚洲不卡一区二区三区| 99re在线精品| 国产人妖乱国产精品人妖| 麻豆国产精品官网| 欧美图区在线视频| 亚洲免费伊人电影| 99视频精品全部免费在线| 精品国产一区二区三区久久久蜜月 | 一本一道波多野结衣一区二区| 久久众筹精品私拍模特| 蓝色福利精品导航| 538prom精品视频线放| 亚洲国产欧美日韩另类综合 | 久久久精品影视| 久久成人精品无人区| 91精品午夜视频| 天天av天天翘天天综合网色鬼国产 | 国产精品白丝在线| 国产麻豆精品在线观看| 日韩欧美成人一区二区| 精品一区二区精品| 91久久免费观看| 国产精品久久精品日日| av日韩在线网站| 自拍视频在线观看一区二区| 丰满白嫩尤物一区二区| 国产肉丝袜一区二区| 久久99精品国产麻豆不卡| 日韩一区二区在线播放| 九九精品一区二区| 精品久久人人做人人爰| 韩国三级在线一区| 久久久国产精品不卡| 国产乱码精品一区二区三| 欧美精品一区男女天堂| 国产精品一区二区视频| 日韩一区日韩二区| 欧美视频日韩视频在线观看| 青娱乐精品在线视频| 欧美成人vr18sexvr| 国产精品正在播放| 亚洲天堂成人网| 欧美肥妇bbw| 久久99久久久欧美国产| 中文字幕不卡三区| 在线免费精品视频| 欧美aaaaaa午夜精品| 国产色一区二区| 91丨九色porny丨蝌蚪| 五月婷婷综合在线| 久久在线观看免费| 91麻豆高清视频| 日韩—二三区免费观看av| 久久蜜桃av一区二区天堂| 91一区在线观看| 蜜桃传媒麻豆第一区在线观看| 国产欧美精品一区| 精品视频一区三区九区| 国产激情一区二区三区四区| 亚洲精品高清在线观看| 精品国一区二区三区| 一本久久综合亚洲鲁鲁五月天| 日本中文字幕一区二区视频| 国产精品污污网站在线观看| 欧美日韩免费一区二区三区视频| 韩国v欧美v日本v亚洲v| 一区二区三区四区五区视频在线观看| 日韩午夜av电影| 色成人在线视频| 国产乱子轮精品视频| 亚洲影院久久精品| 国产日韩欧美制服另类| 91精品欧美综合在线观看最新 | 久久综合一区二区| 在线精品国精品国产尤物884a| 九色综合狠狠综合久久| 亚洲在线观看免费视频| 亚洲国产精品黑人久久久| 91精品国产高清一区二区三区 | 国产中文字幕精品| 亚洲国产精品一区二区www| 欧美经典三级视频一区二区三区| 日韩一区二区在线免费观看| 欧洲一区在线电影| 91一区一区三区| 懂色av一区二区三区蜜臀| 青青青伊人色综合久久| 亚洲18色成人| 亚洲精品成人a在线观看| 中文字幕乱码亚洲精品一区| 2021国产精品久久精品| 日韩视频国产视频| 在线播放亚洲一区| 欧美日韩情趣电影| 欧美探花视频资源| 91黄色免费看| 在线亚洲精品福利网址导航| jlzzjlzz欧美大全| 成人免费视频视频在线观看免费| 国产麻豆精品在线观看| 国产伦精品一区二区三区免费迷 | 粉嫩在线一区二区三区视频| 国内精品视频666| 久久爱www久久做| 美女www一区二区| 蜜桃精品在线观看| 九九九精品视频| 国产成人精品免费在线| 成人一级视频在线观看| 成人三级伦理片| 色欲综合视频天天天| 色综合久久久久综合体桃花网| 色婷婷av一区二区三区大白胸 | 国产一区二区女| 国产成人啪免费观看软件| 国产99久久久国产精品潘金| 国产91丝袜在线播放九色| 91丝袜国产在线播放| 91在线视频网址| 欧美丝袜丝交足nylons图片| 7777精品伊人久久久大香线蕉经典版下载 | 欧洲精品一区二区三区在线观看| 在线欧美日韩国产| 91精品黄色片免费大全| 久久综合av免费| 成人免费在线视频| 亚洲第一久久影院| 九一九一国产精品| 成人avav影音| 欧美亚洲精品一区| 精品久久久久久久久久久久久久久| 26uuu精品一区二区| 亚洲欧洲成人自拍| 午夜私人影院久久久久| 激情综合色丁香一区二区| aaa亚洲精品| 欧美精品日韩一区| 欧美国产亚洲另类动漫| 亚洲高清免费视频| 国产真实乱子伦精品视频| 91网上在线视频| 精品久久人人做人人爽| 亚洲色图视频免费播放| 免费观看一级特黄欧美大片| 国产精品白丝jk黑袜喷水| 日本精品一区二区三区高清| 日韩免费高清视频| 日韩毛片精品高清免费| 久久爱www久久做| 91视频国产观看| www国产成人免费观看视频 深夜成人网| 国产精品五月天| 久久精品久久99精品久久| 99re8在线精品视频免费播放| 日韩欧美一级二级| 亚洲精品高清视频在线观看| 国产一区二区三区最好精华液| 在线免费精品视频| 国产精品久久久久久久岛一牛影视| 日本亚洲最大的色成网站www| 91在线看国产| 久久日韩粉嫩一区二区三区| 亚洲 欧美综合在线网络| 成人美女视频在线观看| 日韩三级免费观看| 亚洲国产精品视频| 一本色道久久综合亚洲91 | 丁香婷婷综合色啪| 欧美一二三四在线| 亚洲一二三四区不卡| 成人国产精品免费观看动漫| 精品国产99国产精品| 天天色综合成人网| 欧美色综合影院| 亚洲久草在线视频| 99精品国产一区二区三区不卡| 国产色综合久久| 国产成人午夜视频| 精品国产凹凸成av人网站| 国产精品99久久久久久久女警| 4438成人网| 丝袜a∨在线一区二区三区不卡| 91福利在线导航| 最新国产成人在线观看| av电影一区二区| 亚洲女子a中天字幕| 91在线精品一区二区| 亚洲欧美另类小说视频| 日本精品一级二级| 天堂av在线一区| 欧美一区二区三区性视频|