⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 9929.txt

📁 关于编程技术技巧的文章
💻 TXT
📖 第 1 页 / 共 4 页
字号:
================================================================

                           《编 程 技 术》

                 一份属于广大编程爱好者的电子杂志

               这是一份完全关于探讨编程的免费电子杂志
               您可以任意传播本刊,但必须保持它的完整
              本刊承诺绝不向订户发送任何形式的垃圾邮件!
================================================================
              第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 + -