按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
图 11…18 对话框界面
为对话框添加完控件后,需要设置各控件 ID,并为其添加变量。各控件的 ID 及其对应
的变量如表 11…14 所示。
·324 ·
…………………………………………………………Page 336……………………………………………………………
第 11 章 网络编程
表 11…14 各控件 ID 及对应变量
控件 ID 变量
MSm 控件 IDC_MSM CMSm m_m
接收数据 Edit IDC_RECEIVEDATA CString m_Receive
发送数据 Edit IDC_SENDDATA CString m_Send
选择串口下拉列表 IDC_BOLIST int m_Port (初始化为0 )
打开串口按钮 IDC_OPENPORT 无
关闭串口按钮 IDC_CLOSTPORT 无
发送按钮 IDC_SEND 无
在文件“MSmDlg。h ”的头部加入语句#include 〃msm1。h〃 ,然后为对话框类加入
成员函数 void Initm() ,来初始化 MSm 控件,其代码如下:
void CMSmDlg::Initm()
{
//设置串口
m_m。SetmPort(m_Port+1);
// 设置数据读取格式为二进制方式
m_m。SetInputMode(1);
// 设置传输参数
m_m。SetSettings(〃9600;n;8;1〃);
//缓冲区内有一个字符就可以接收
m_m。SetRThreshold(1);
// 指定接收缓冲区大小
m_m。SetInBufferSize(1024);
//指定发送缓冲区大小
m_m。SetOutBufferSize(1024);
// 清空接收缓冲区
m_m。SetInBufferCount(0);
// 打开串口
if(!m_m。GetPortOpen())
{
m_m。SetPortOpen(TRUE);
}
}
当选择下拉列表中的端口时,会激发 CBN_SELCHANGE 消息,为其添加响应函数,代
码如下:
void CMSmDlg::OnSelchangebolist()
{
// TODO: Add your control notification handler code here
CString m_str;
//得到下拉列表内容
GetDlgItemText(IDC_BOLIST; m_str);
·325 ·
…………………………………………………………Page 337……………………………………………………………
Visual C++ 6。0 程序设计从入门到精通
//得到串口号
m_Port = atoi(LPCTSTR(m_str))…1;
}
为“打开串口”按钮添加响应函数,代码如下:
void CMSmDlg::OnOpenport()
{
// TODO: Add your control notification handler code here
Initm();
}
为“关闭串口”按钮添加响应函数,代码如下:
void CMSmDlg::OnClostport()
{
// TODO: Add your control notification handler code here
if( m_m。GetPortOpen() )
{
// 关闭串口
m_m。SetPortOpen(0);
}
}
为“发送”按钮添加响应函数,代码如下:
void CMSmDlg::OnSend()
{
// TODO: Add your control notification handler code here
//得到发送 Edit 控件的数据
UpdateData(TRUE);
int Count=m_Send。GetLength();
//将发送数据传给 m_Array
CByteArray m_Array;
m_Array。RemoveAll();
m_Array。SetSize(Count);
for(int i=0;i 0)
{
//得到接收数据
m_input = m_m。GetInput();
str = (char*)(unsigned char*)m_input。parray…》pvData;
}
//清除字符串中的不必要字符
i = 0;
str1 = str;
while(i 《 k)
{
i++;
str1++;
}
*str1 =’0’;
str2 = (const char*)str;
//得到最终数据
m_Receive += (LPCTSTR)str2;
default:
break;
}
// 显示数据
UpdateData(FALSE);
}
至此,程序设计完成。运行两个程序,分别选择串口 1 和串口 2 ,然后收发数据,如图
·327 ·
…………………………………………………………Page 339……………………………………………………………
Visual C++ 6。0 程序设计从入门到精通
11…19 和图 11…20 所示。
图 11…19 串口发送数据 图 11…20 串口接收数据
11。6 本章小结
本章介绍了网络编程的基本知识及基本步骤,并且详细介绍了 WinSock 类。接着利用所
讲知识编程实现了一个网络聊天系统,最后利用 MSm 控件实现了简单的串口通信。相
信通过本章的学习,读者可以编写简单的网络应用程序,并会利用 MSm 控件进行简单
的串口数据传输。
·328 ·
…………………………………………………………Page 340……………………………………………………………
第 12 章 数据库开发
第 12 章 数据库开发
随着计算机技术的飞速发展,数据库的应用也越来越广泛。如今,数据库技术已经成为
计算机技术中的核心技术之一。本章首先简单介绍数据库的基本概念及用 Visual C++ 6。0 进
行数据库开发的几种相关技术,然后介绍 Access 数据库的建立和一些基本的 SQL 语句,最
后通过一个具体的实例来详细说明 ADO 技术在数据库开发中的应用。本章主要包括以下几
方面的内容:
o 数据库的基本概念及数据库的相关技术;
o Access 数据库的建立;
o 基本的 SQL 语句;
o 如何利用 ADO 技术进行数据库开发。
12。1 概述
数据库技术产生于 20 世纪 60 年代中期,是数据管理的最新技术,是计算机科学的重要
分支,它的出现极大的促进了计算机应用向各行业的渗透。本节将对数据库的概念,数据库
的相关技术以及如何开发数据库应用程序作一简单介绍。
12。1。1 数据库的基本概念
所谓数据库(Database ,简称 DB ),就是长期存储在计算机内的、有组织的、可共享的
数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高
的数据独立性和易扩展性,并可为各种用户共享。
有了数据和数据库,还要进行数据库的管理,不仅可以科学地组织这些数据并将其存储
在数据库中,而且还能高效地处理