📄 9914.txt
字号:
Private Sub Form_Load()
Form1.Show
DoEvents
Randomize
Amounty = 325
For J = 1 To Amounty
Snow(J, 0) = Int(Rnd * Form1.Width)
Snow(J, 1) = Int(Rnd * Form1.Height)
Snow(J, 2) = 10 + (Rnd * 20)
Next J
Do While Not (DoEvents = 0)
For LS = 1 To 10
For I = 1 To Amounty
OldX = Snow(I, 0): OldY = Snow(I, 1)
Snow(I, 1) = Snow(I, 1) + Snow(I, 2)
If Snow(I, 1) > Form1.Height Then
Snow(I, 1) = 0: Snow(I, 2) = 5 + (Rnd * 30)
Snow(I, 0) = Int(Rnd * Form1.Width)
OldX = 0: OldY = 0
End If
Coloury = 8 * (Snow(I, 2) - 10): Coloury = 60 + Coloury
PSet (OldX, OldY), QBColor(0)
PSet (Snow(I, 0), Snow(I, 1)), RGB(Coloury, Coloury, Coloury)
Next I
Next LS
Loop
End
End Sub
编写窗体的鼠标按下代码:
Private Sub Form_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
unload me
End Sub
运行上面的小程序,就可以看到漫天的雪花在缓缓落下,地面上还会有积雪!
鼠标单击可结束程序。
***********************************************************
自己编程实现对CIH病毒的预防
(北京 愚夫)
席卷全球的CIH病毒以其巨大的破坏性,使人谈“C”色变。由于该病毒直接威
胁到大家爱“鸡”的“人身”(硬件)安全,于是乎有钱的纷纷“出血”购买以前
不屑一顾的正版杀毒软件,而没钱的也不敢再相信D版,老老实实地跳过每月的26
日,或者干脆停机不用,本人就是属于后者的“停机一族”。可是由于我向来是
“只记星期不记日”,以致数次都是与“死亡”擦肩而过。于是就用Delphi写了下
面的小程序,以便提醒我更改日期,保护我爱“鸡”的生命安全。
1.启动Delphi,新建一个工程,命名为cih.dpr。在空白窗体上添加三个StaticText
标签、一个Label标签和一个按钮(Button)。它们的属性如下表:
对于文本标签可以改变其Font属性,使其色彩醒目。
2.添加一个TTimer控件,用以起到文字闪烁效果(此项可选)。其属性如下:
控件 Name Enabled Interval
Timer1 Timer1 False 500
以下是程序实现部分:
unit Unit1;
interface
uses Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
laDate: TLabel;
Timer1: TTimer;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
btExit: TButton;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
CIH_PREDATE=25; //定义为CIH病毒发作日期的前一天
var
Form1: TForm1;
CanSee :Boolean; //“Warning”是否可见
CanCloseForm :Boolean; //程序是否可以中止
implementation
{$R *.DFM}
procedure Form1.FormCreate(Sender: TObject);
var
Today :string;
Day :string[2];
begin
Today :=DateTimeToStr(Date); //获取当前日期
Day :=Copy(Today,Length(Today)-1,2); //提取当前日期中的天数
if StrToInt(Day)=CIH_DATE then
begin
CanCloseForm :=False;
CanSee :=True;
Timer1.Enabled :=True;
laDate.Caption :=Today;
end
else
CanCloseForm :=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if CanSee then
begin
StaticText3.Visible :=False;
CanSee :=False;
end else
begin
StaticText3.Visible :=True;
CanSee :=True;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
if CanCloseForm then Close; //不是25日,则中止程序运行
end;
procedure TForm1.btExitClick(Sender: TObject);
begin Close;
end;
end.
此程序经过编译之后,生成名为cih.exe的可执行文件。手工将它加入Windows
“开始”菜单的启动组,每次开机时程序就自动执行,只要到了每月的25日,就会
提醒你更改日期,否则结束运行,并不驻留内存和占用系统资源。有兴趣的朋友也
可以再添加一个按钮,直接更改日期,笔者在此就不详细讨论了。欢迎您来信与我
交流,我的Email地址是:zhangzhen@263.net。
控件 Name Caption Left Top Width Height
Form1 Form1 当心CIH病毒!!! 缺省 缺省 383 254
StaticText1 StaticText1 今天是: 80 88 缺省 缺省
StaticText2 StaticText2 当心 CIH 病毒!!! 40 120 缺省 缺省
StaticText3 StaticText3 Warning!!! 48 8 缺省 缺省
Label1 laDate CIH(任意) 192 82 缺省 缺省
Button1 btExit 退出 200 184 缺省 缺省
***********************************************************
在VFP中如何自动生成统计图
(四川 周鸣扬)
一张漂亮的统计图能更加直观地反映数据的内在联系,利用VFP的图形向导,
我们能够轻易地制作出统计图。但是,在应用程序中我们是不可能让用户自己设
计统计图的。如何让VFP自动生成统计图呢?
一、VFP对统计图的管理
使用过图形向导的用户都知道,在最后的一步,VFP会提示你将图形保存到
TABLE中,这是为什么?原来,VFP将作图的各种数据都放入一TABLE中,在这TABLE
中,只有一个通用型字段OLEGRAPH。通过OLEGRAPH字段,利用OLE技术,系统自
动调用MS-GRAPH进行作图。
二、相关的函数
在VFP中,使用DO(_GenGraph)with parameter1, parameter2, .....parameter9
函数完成相关的绘图操作。其中,九个参数中大致含义如下(为节约篇幅起见,
这里只介绍其主要的参数):
parameter1:指明绘图操作是否为自动执行,如是,该参数的取值为“AutoGraph”。
Parameter2: 指明统计图形的类型:圆饼图、直方图等,分别用数值表示。
Parameter4:设定统计图的标题。
Parameter8: 设定存放统计图数据的TABLE(表)。
Parameter9: 指明统计图的摆设方式:T表示将统计图放在FORM中。
三、设计实例:
假设有一数据库CZ.DBF,今欲根据上述资料作一统计图。其内容如下:
季度 产值
一季度 1200
二季度 3500
三季度 2300
四季度 4600
1.建立一TABLE(表)GRAPH1.dbf,里面只能有一字段OLEGRAPH,类型为通用字段。
2.新建一表单FORM1,将CZ.DBF和GRAPH1.DBF引入该表单的数据环境,并将GRAPH1.DBF
的EXCLUSIVE设为真值T。
3.在FORM1中添加一OLEBOUNDCONTROL对象,设定其CONTROLSOURCE为GRAPH1.OLEGRAPH。
同时加入一按钮,设定其标题为“绘图”。
4.为了保持图形的动态更新(不受GRAPH1中的“老”数据影响),在FORM的ACTIVE
事件中加入如下代码:
set safe off
sele graph1
zap
set safe on
5.在“绘图”对象的CLICK事件中,加入下述代码:
wait ‘正在绘图,请稍候’window nowait
sele cz
sele 季度,产值 from cz into cursor tmp
do (_gengraph ) with ‘autograph',;
11,1,‘订单统计图’,1,1,1,‘graph1',.t.
use in tmp
thisform.oleboundcontrol1.refresh
wait ‘绘图完毕!’window nowait
***********************************************************
<疑难杂症>
021. mailto: yaozheng@kali.com.cn?subject=021
在VC中对实时视频流进行压缩时,如何得到该视频流?如何压缩?
注:我想利用Windows内已注册的MPEG或H.263压缩格式压缩
dfrelay@dongfang-china.com
022. mailto: yaozheng@kali.com.cn?subject=022
有几个问题请教:
1。在用SQL语句时,如何把字段值为 NULL 的值作为0来看待?因为当
多个字段求和时,若其中一个字段的值为空,则该计算结果为空。但
在TTABLE 中用动态计算时,无此问题。
2。在局域网(NT/NOVELL)中,如何判断是否当前工作站(WIN9X)是
否已和服务器连接? 如为连接,如何调用出登陆窗口?
jiuyi@163.net
023. mailto: yaozheng@kali.com.cn?subject=023
那里能找到mpeg-1压缩视频的解码源程序,谢谢
zheng_rui@21cn.com
024. mailto: yaozheng@kali.com.cn?subject=024
VC中通用对话框SAVE AS对话框中如何获取文件属性下拉列表框的
选取内容?谢了!
E-mail: rushzhang@188.net
025. mailto: yaozheng@kali.com.cn?subject=025
在下请教两个问题:
1. 在 DELPHI 4.0 中用 reportsmith 报表工具制作报表时存在如下
问题:即不管打印内容的多少,打印结束后,打印机总会走不少空白
纸,这样会造成很多不方便与浪费,请问有没有什么好方法可以控制
打印机在打印内容结束后不进行走纸,也就是说有多少内容就走多少
纸。(对针式打印机而言)
2. 用 reportsmith 报表工具制作出的报表能否转存为一个文本文件
或者是一个 EXCEL 文件,总之只要可以在 EXCEL 中编辑的格式即可!
谢谢!盼望您的回复!dannalee@163.net
026. mailto: yaozheng@kali.com.cn?subject=026
在VB下可用API函数发声,那么在VFP3.0下如何用API函数发声呢?
另外如何用API函数测得WAV设备已被占用?谢谢!
jhju@163.net
027. mailto: yaozheng@kali.com.cn?subject=027
想用VB或DEPHI编程,其中要用到数据库,但不知如何统计,好象没有
类似FOXPRO中SUM,COUNT等命令,不知在SQL中是否有?如何用?
Shyue@188.NET
如果您有什么疑难问题,就请把问题发往yaozheng@kali.com.cn
主题为“提问”,我会把问题放在杂志上的,希望编程高手们能
不吝赐教,也希望这个栏目能成为大家交流的场所。
***********************************************************
***********************************************************
<编者的话>
本刊已加入【CHINA-EZL】中国电子杂志联盟
联盟主页地址 http://china-ezl.yeah.net
如果您觉得这份刊物还不错的话,欢迎把它介绍给您的朋友.
不知道您看了这期刊物有什么想法或者是意见,欢迎向我提出来.
本人感激不尽,我的联系方法如下:
E-mail:yaozheng@kali.com.cn
本刊主页: http://yaozheng.soim.com
http://person.zj.cninfo.net/~yao
<<编程技术>>订阅方法:
请到本刊主页进行订退工作 http://person.zj.cninfo.net/~yao
投稿:向yaozheng@kali.com.cn发封邮件 主题:投稿
提问:向yaozheng@kali.com.cn发封邮件 主题:提问
**************************THE END**************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -