📄 9928.txt
字号:
================================================================
《编 程 技 术》
一份属于广大编程爱好者的电子杂志
这是一份完全关于探讨编程的免费电子杂志
您可以任意传播本刊,但必须保持它的完整
本刊承诺绝不向订户发送任何形式的垃圾邮件!
================================================================
第28期 99/10/07 本期发送数: 4574
================================================================
◆本期栏目◆
*刊首语*
*网友作品*
《编程机器2.1》正式版
学生小助手(helper)
定时器
*技术文档*
在VB中利用API实现窗体的平滑显示
VB中的时间处理问题
Delphi中对象解除技巧
在Delphi中利用Tbatch组件完成数据批处理
Visual Foxpro 3.0 应用程序封面、背景及封底的制作
为FoxPro中的弹出式菜单增加自学习功能
在PowerBuilder中利用动态链接库控制鼠标的移动
WIN95界面下的VC++串口通讯程序
*下载专区*
4个编程工具和控件下载
*有问必答*
================================================================
◆刊首语◆
有一个通知:由于今年国庆假期调换,故10月3日和10月10日的杂志合并
只发一期。另外一周后本人可能有事外出,如无意外,10月17日杂志也将
暂停一期,望大家多多谅解,来日定当补偿!
****************************************************************
****************************************************************
◆网友作品◆
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
****************************************************************
****************************************************************
◆技术文档◆
在VB中利用API实现窗体的平滑显示
福州 潘晓臻
Win98的一个新功能是窗体能够平滑显示,那我们是否能编程来实现这
种功能呢?答案是肯定的。首先讲述一下原理,其实我并没有让窗体本身
平滑地显示,而是在窗体显示之前在窗体的位置上画一系列的矩形,利用
视觉暂留让人以为是窗体在从小变大。
下面就用VB来实现这种功能。
建立两个窗体form1和form2,在form1上添加如下控件:由五个optionbutton
控件组成的控件数组,index为0-4,caption属性分别为“从中间扩散”、
“右上到左下”、“左上到右下”、“右下到左上”和“左上到右下”,
一个commandbutton,caption属性为“显示窗体”, 添加一个模块,其中
代码如下:
Option Explicit
'声明所用的API函数、常量和变量
Public Declare Function GetDC Lib “user32” (ByVal hwnd As Long) As Long
Public Declare Function Rectangle Lib “gdi32” (ByVal hdc As Long, _
ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2_
As Long) As Long
Public Declare Function SelectObject Lib “gdi32” (ByVal hdc As Long, _
ByVal hObject As Long) As Long
Public Declare Function DeleteObject Lib “gdi32”(ByVal hObject As _
Long) As Long
Public Declare Function ReleaseDC Lib “user32” (ByVal hwnd As Long,_
ByVal hdc As Long) As Long
Public Declare Sub Sleep Lib “kernel32” (ByVal dwMilliseconds As Long)
Public Declare Function CreateSolidBrush Lib “gdi32” (ByVal crColor As_
Long) As Long
Public Declare Function GetBkColor Lib “gdi32” (ByVal hdc As Long) As Long
Public hbrush As Long, hdc5 As Long
Public dx As Long, dy As Long
Public rx1 As Long, rx2 As Long, ry1 As Long, ry2 As Long
Public i As Long, j As Long, bcolor As Long
Public ind As Integer
Public DispCnt As Long
Public Sub showform(win As Form, ind)
DispCnt = 60 '画几个矩形后显示窗体
'下面这段代码用来获得窗体颜色,不用me.backcolor的原因是窗体颜
色不一定是系统调色板的颜色,如果用me.backcolor的话颜色可能会不准。
hdc5 = GetDC(0)
bcolor = GetBkColor(win.hdc)
hbrush = CreateSolidBrush(bcolor)'设定刷子颜色
Call SelectObject(hdc5, hbrush)
dx = win.Width \ (DispCnt)
dy = win.Height \ (DispCnt)
j = 1
Select Case ind
Case 1
dx = dx \ 2; dy = dy \ 2
For i = DispCnt To 1 Step -1
rx1 = (win.Left + dx * (i - 1)) \ Screen.TwipsPerPixelX
ry1 = (win.Top + dy * (i - 1)) \ Screen.TwipsPerPixelY
rx2 = rx1 + dx * 2 * j \ Screen.TwipsPerPixelX
ry2 = rx1 + dy * 2 * j \ Screen.TwipsPerPixelY
j = j + 1
Call Rectangle(hdc5, rx1, ry1, rx2, ry2)
Sleep (1); Next i
Case 2
For i = DispCnt To 1 Step -1
rx1 = (win.Left + win.Width - dx * j) \ Screen.TwipsPerPixelX
ry1 = win.Top \ Screen.TwipsPerPixelY
rx2 = (win.Left + win.Width) \ Screen.TwipsPerPixelX
ry2 = (win.Top + dy * j) \ Screen.TwipsPerPixelY
j = j + 1
Call Rectangle(hdc5, rx1, ry1, rx2, ry2)
Sleep (1); Next i
Case 3
For i = DispCnt To 1 Step -1
rx1 = win.Left \ Screen.TwipsPerPixelX
ry1 = win.Top \ Screen.TwipsPerPixelY
rx2 = rx1 + dx * j \ Screen.TwipsPerPixelX
ry2 = rx1 + dy * j \ Screen.TwipsPerPixelY
j = j + 1
Call Rectangle(hdc5, rx1, ry1, rx2, ry2)
Sleep (1); Next i
Case 4
For i = DispCnt To 1 Step -1
rx1 = (win.Left + dx * (i - 1)) \ Screen.TwipsPerPixelX
ry1 = (win.Top + dy * (i - 1)) \ Screen.TwipsPerPixelY
rx2 = (win.Left + win.Width) \ Screen.TwipsPerPixelX
ry2 = (win.Top + win.Height) \ Screen.TwipsPerPixelY
j = j + 1
Call Rectangle(hdc5, rx1, ry1, rx2, ry2)
Sleep (1); Next i
Case 5
For i = DispCnt To 1 Step -1
rx1 = (win.Left) \ Screen.TwipsPerPixelX
ry1 = (win.Top + win.Height - dy * j) \ Screen.TwipsPerPixelY
rx2 = (win.Left + dx * j) \ Screen.TwipsPerPixelX
ry2 = (win.Top + win.Height) \ Screen.TwipsPerPixelY
j = j + 1
Call Rectangle(hdc5, rx1, ry1, rx2, ry2)
Sleep (1); Next i
End Select
Call ReleaseDC(0, hdc5)'释放设备描述表
Call DeleteObject(hbrush)'删除刷子
End Sub
在form1中输入如下代码
Private Sub Command1_Click()'显示窗体
Unload Form2
Load Form2
Form2.Show
End Sub
Private Sub Form_Load()
ind = 1'初始化参数
End Sub
Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0
ind = 1
Case 1
ind = 2
Case 2
ind = 3
Case 3
ind = 4
Case 4
ind = 5
Case 5
ind = 6
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -