📄 9929.txt
字号:
================================================================
《编 程 技 术》
一份属于广大编程爱好者的电子杂志
这是一份完全关于探讨编程的免费电子杂志
您可以任意传播本刊,但必须保持它的完整
本刊承诺绝不向订户发送任何形式的垃圾邮件!
================================================================
第29期 99/10/17 本期发送数: 4824
================================================================
◆本期栏目◆
*刊首语*
*网友作品*
《编程机器2.1》正式版
学生小助手(helper)
定时器
*技术文档*
关于第28期《WIN95界面下的VC++串口通讯程序》的商椎
在Delphi中不使用VCL库建立窗口
“磁性”窗口
用VB实现“ICQ”式的启动欢迎画面
VB6内置的内码转换功能
*下载专区*
3个编程工具和控件下载
*有问必答*
================================================================
◆刊首语◆
Sorry!上期曾通知大家本周杂志因故暂停,不过我的外出计划又意
外取消了,那就再好不过了,本周的杂志照常发送。
本期收到一位WangXiao朋友的来信,他对第28期中的《WIN95界面下
的VC++串口通讯程序》一文提出了自己的看法并附上了他的读书笔记,
内容非常详尽和实用,特此表示感谢。本刊也十分赞同和提倡这种做法,
希望大家如对本刊的文章内容有异议,也可以来发表您的意见。
****************************************************************
****************************************************************
◆网友作品◆
003.
软件名称:《编程机器2.1》正式版
下载地址:ftp://ftp.pchome.net:169/program/Automac.zip
硬件要求:386以上
内存:1M硬盘2M空间
运行平台:DOS或WIN95/98下的MS-DOS
支持的汉字平台:UCDOS等汉字平台或WIN95/98的PDOS95
软件性质:共享软件
软件介绍:
你想学计算机编程吗?你想一下子掌握多种计算机语言的编程吗?你是不
是希望不要背那繁琐的命令就能写出程序?<<编程机器2.1>>为你解决一
切。<<编程机器2.1>>是一个全中文界面的程序自动生成软件。你只需通
过中文的菜单选择就能生成你想要的程序!它将所有的计算机命令都翻译
成了中文,让你的程序全中文化。一切就那么简单!<<编程机器2.1>>同
时支持C语言,PASCAL语言,QUICK BASIC语言,以及FOXPRO语言的编程!
拥有它你简直就成了计算机编程语言专家!还不快点下载,这可是真正的
2.1正式版哦!
004.
软件名称:学生小助手(helper)
网址:http://bluelark.yeah.net
软件作者:李海滨(复旦9718#)
Email:happyli@126.com
下载地址:http://www.china-avenue.com/lihaibin/program/helper/helper.exe
运行要求:1。vb6运行库,800x600 真彩色。
2。安装helper.exe即可。
3。在“开始|程序|lhb|"中找。
软件介绍:
本软件结合了学生在校学习的特点,为学生提供了许多常用的功能。
如文字资料分类整理,提醒学习上课休息、计算数学式子、单词循环记忆
、201卡拨号等。
1。文字资料
可以处理rtf、txt文件,支持文件拖放,关联。可以自己建立文件夹,
建立树形结构目录。给资料分门别类,还带有一课程表并可直接计算算式,
运行指定名称软件。
tg(Pi/4)+2
上面选中再右键 选“计算”即可以直接计算
http://www.netease.com
上面选中再右键 选“运行”即可以连上网页
MSPAINT.EXE
上面选中再右键 选“运行”即可运行指定程序
SetTime 10:22:16
SetDate 99-9-26
上面分别选中再右键 选“运行”即可设置时间,日期
happyli@netease.com
上面选中再右键 选“运行”即可以email给我!
2。多功能提醒
许多事情是不很容易忘记,同学的生日是不是忘掉了。。。总之现在
学生的事情也不少。本软件的提醒功能可以说是很强!可以设立任意长的
时间间隔(>1分钟),提前任何天提醒。同时可附带运行一个程序,一个
音乐文件,并可自动关闭计算机、自动换桌面图案自动报时等。
3。单词、名人名言
在“显示”菜单中,可选择显示名人名言,6级、gre单词,点击"cpu
使用”软件即变成条状象任务栏一样在屏幕的一边。鼠标移到名人名言上
面会自动躲避若再点击则恢复默认形状。
4。电话拨号、快捷等(略)
本软件的“电话”可以拨电话(针对201卡、其他也可以用只要在“电话”
栏中输入电话号码.选项/密码第一次可以自己输密码可以启动时要密码。
(在选项中设置)
欢迎提出意见以便改进!
005.
软件名称:定时器
版本:1.0 (Build 81)
作者:望月
Email:SecondMoon@21cn.com
主页:无
运行平台:Windows95/98
性质:免费软件
下载地址:http://www.my169.com/~yao/dsq.exe
定时器特点:
1、拥有三种方式能设置提醒时间,令该程序更方便易用。
2、支持定时重启、关机或定时打开其它应用程序,并可设置定时强制关
机!!!这下想不关机都不行了。
3、支持半点报时、正点报时,支持更换时钟款式(共七种),支持最上
层显示。
4、程序启动时根据系统时间自动选择电子表和电子表(夜光)两种时钟
款式。
5、最小化定时器则会在任务栏中显示时间(虽然Windows已经任务栏中
显示时间,但多一个时间显示也不是坏事)。
6、可以将定时器窗口完全隐藏,直至指定时间才出现。隐藏定时器后再
也不怕别人修改提醒时间了。建议将这个功能和强制关机功能一起使
用。
您自己开发过软件吗? 您有自己满意的作品吗? 您希望发布推广您的作品
吗? 本刊竭诚为您提供宣传空间。有意的朋友请把您的作品介绍以及下载
地址、您的网址、联系方法等相关信息发给我(具体格式请参照上面)。
本刊免费为您宣传三期。如有疑问可以与我联系。
我的信箱: yaozheng@kali.com.cn
****************************************************************
****************************************************************
◆技术文档◆
关于第28期《WIN95界面下的VC++串口通讯程序》的商椎
WangXiao < zxdyjs@public.cz.js.cn >
在WIN32下是不建议对端口进行操作的,在WIN32中所有的设备都被看
成是文件,串行口也不例外也是作为文件来进行处理的。这是我的一份关
于串口编程的读书笔记,对于使用VC进行编程的同行应该有一定的帮助。
<<Windows 95 通讯编程>> 清华 ISBM 7-302-0270-1/TP.1398
1.打开串口:
在Window 95下串行口作为文件处理,使用文件操作对串行口进行处理。
使用CreateFile()打开串口,CreateFile()将返回串口的句柄。
HANDLE CreateFile(
LPCTSTR lpFileName, // pointer to name of the file
DWORD dwDesiredAccess, // access (read-write) mode
DWORD dwShareMode, // share mode
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // pointer to security attributes
DWORD dwCreationDistribution, // how to create
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile // handle to file with attributes to copy
);
lpFileName: 指明串口制备,例:COM1,COM2
dwDesiredAccess: 指明串口存取方式,例:GENERIC_READ|GENERIC_WRITE
dwShareMode: 指明串口共享方式
lpSecurityAttributes: 指明串口的安全属性结构,NULL为缺省安全属性
dwCreateionDistribution: 必须为OPEN_EXISTIN
dwFlagAndAttributes: 对串口唯一有意义的是FILE_FLAG_OVERLAPPED
hTemplateFile: 必须为NULL
2.关闭串口:
CloseHandle(hCommDev);
3.设置缓冲区长度:
BOOL SetupComm(
HANDLE hFile, // handle of communications device
DWORD dwInQueue, // size of input buffer
DWORD dwOutQueue // size of output buffer
);
4.COMMPROP结构:
可使用GetCommProperties()取得COMMPROP结构,COMMPROP结构中记载
了系统支持的各项设置。
typedef struct _COMMPROP { // cmmp
WORD wPacketLength; // packet size, in bytes
WORD wPacketVersion; // packet version
DWORD dwServiceMask; // services implemented
DWORD dwReserved1; // reserved
DWORD dwMaxTxQueue; // max Tx bufsize, in bytes
DWORD dwMaxRxQueue; // max Rx bufsize, in bytes
DWORD dwMaxBaud; // max baud rate, in bps
DWORD dwProvSubType; // specific provider type
DWORD dwProvCapabilities; // capabilities supported
DWORD dwSettableParams; // changable parameters
DWORD dwSettableBaud; // allowable baud rates
WORD wSettableData; // allowable byte sizes
WORD wSettableStopParity; // stop bits/parity allowed
DWORD dwCurrentTxQueue; // Tx buffer size, in bytes
DWORD dwCurrentRxQueue; // Rx buffer size, in bytes
DWORD dwProvSpec1; // provider-specific data
DWORD dwProvSpec2; // provider-specific data
WCHAR wcProvChar[1]; // provider-specific data
} COMMPROP;
dwMaxBaud:
BAUD_075 75 bps
BAUD_110 110 bps
BAUD_134_5 134.5 bps
BAUD_150 150 bps
BAUD_300 300 bps
BAUD_600 600 bps
BAUD_1200 1200 bps
BAUD_1800 1800 bps
BAUD_2400 2400 bps
BAUD_4800 4800 bps
BAUD_7200 7200 bps
BAUD_9600 9600 bps
BAUD_14400 14400 bps
BAUD_19200 19200 bps
BAUD_38400 38400 bps
BAUD_56K 56K bps
BAUD_57600 57600 bps
BAUD_115200 115200 bps
BAUD_128K 128K bps
BAUD_USER Programmable baud rates available
dwProvSubType:
PST_FAX 传真设备
PST_LAT LAT协议
PST_MODEM 调制解调器设备
PST_NETWORK_BRIDGE 未指定的网桥
PST_PARALLELPORT 并口
PST_RS232 RS-232口
PST_RS422 RS-422口
PST_RS423 RS-432口
PST_RS449 RS-449口
PST_SCANNER 扫描仪设备
PST_TCPIP_TELNET TCP/IP Telnet协议
PST_UNSPECIFIED 未指定
PST_X25 X.25标准
dwProvCapabilities
PCF_16BITMODE 支持特殊的16位模式
PCF_DTRDSR 支持DTR(数据终端就绪)/DSR(数据设备就绪)
PCF_INTTIMEOUTS 支持区间超时
PCF_PARITY_CHECK 支持奇偶校验
PCF_RLSD 支持RLSD(接收线信号检测)
PCF_RTSCTS 支持RTS(请求发送)/CTS(清除发送)
PCF_SETXCHAR 支持可设置的XON/XOFF
PCF_SPECIALCHARS 支持特殊字符
PCF_TOTALTIMEOUTS 支持总(占用时间)超时
PCF_XONXOFF 支持XON/XOFF流控制
标准RS-232和WINDOW支持除PCF_16BITMODE和PCF_SPECIALCHAR外的所有功能
dwSettableParams
SP_BAUD 可配置波特率
SP_DATABITS 可配置数据位个数
SP_HANDSHAKING 可配置握手(流控制)
SP_PARITY 可配置奇偶校验模式
SP_PARITY_CHECK 可配置奇偶校验允许/禁止
SP_RLSD 可配置RLSD(接收信号检测)
SP_STOPBITS 可配置停止位个数
标准RS-232和WINDOW支持以上所有功能
wSettableData
DATABITS_5 5个数据位
DATABITS_6 6个数据位
DATABITS_7 7个数据位
DATABITS_8 8个数据位
DATABITS_16 16个数据位
DATABITS_16X 通过串行硬件线路的特殊宽度路径
WINDOWS 95支持16的所有设置
5.DCB结构:
typedef struct _DCB {// dcb
DWORD DCBlength; // sizeof(DCB)
DWORD BaudRate; // current baud rate
指定当前的波特率
DWORD fBinary: 1; // binary mode, no EOF check
指定是否允许二进制模式,
WINDOWS 95中必须为TRUE
DWORD fParity: 1; // enable parity checking
指定奇偶校验是否允许
DWORD fOutxCtsFlow:1; // CTS output flow control
指定CTS是否用于检测发送控制。
当为TRUE是CTS为OFF,发送将被挂起。
DWORD fOutxDsrFlow:1; // DSR output flow control
指定CTS是否用于检测发送控制。
当为TRUE是CTS为OFF,发送将被挂起。
DWORD fDtrControl:2; // DTR flow control type
DTR_CONTROL_DISABLE值将DTR置为OFF,
DTR_CONTROL_ENABLE值将DTR置为ON,
DTR_CONTROL_HANDSHAKE允许DTR"握手"
DWORD fDsrSensitivity:1; // DSR sensitivity
当该值为TRUE时DSR为OFF时接收的字节被忽略
DWORD fTXContinueOnXoff:1; // XOFF continues Tx
指定当接收缓冲区已满,并且驱动程序已经发
送出XoffChar字符时发送是否停止。
TRUE时,在接收缓冲区接收到缓冲区已满的字
节XoffLim且驱动程序已经发送出XoffChar字符中
止接收字节之后,发送继续进行。
FALSE时,在接收缓冲区接收到代表缓冲区已空
的字节XonChar且驱动程序已经发送出恢复发送
的XonChar之后,发送继续进行。
DWORD fOutX: 1; // XON/XOFF out flow control
TRUE时,接收到XoffChar之后便停止发送
接收到XonChar之后将重新开始
DWORD fInX: 1; // XON/XOFF in flow control
TRUE时,接收缓冲区接收到代表缓冲区满的
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -