vb程序设计实例.docx

上传人:b****6 文档编号:4509034 上传时间:2022-12-01 格式:DOCX 页数:20 大小:36.97KB
下载 相关 举报
vb程序设计实例.docx_第1页
第1页 / 共20页
vb程序设计实例.docx_第2页
第2页 / 共20页
vb程序设计实例.docx_第3页
第3页 / 共20页
vb程序设计实例.docx_第4页
第4页 / 共20页
vb程序设计实例.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

vb程序设计实例.docx

《vb程序设计实例.docx》由会员分享,可在线阅读,更多相关《vb程序设计实例.docx(20页珍藏版)》请在冰豆网上搜索。

vb程序设计实例.docx

vb程序设计实例

vb程序设计实例

2009-5-2215:

37

提问者:

淘淘的某在|悬赏分:

20|浏览次数:

1688次

编写程序,设银行定期存款的年利率为:

1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。

今有X元,5年以后使用,共有如下6中存法:

①存一次5年期;

②存一次3年期,一次2年期;

③存一次3年期,两次1年期;

④存两次2年期,一次1年期;

⑤存一次2年期,三次1年期;

⑥存五次1年期.

分别计算各种存法5年后到期的本息合计,如图所示

2009-5-2217:

06

最佳答案

PrivateSubForm_Activate()

'1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。

今有X元,5年以后使用,共有如下6中存法:

Constx1AsDouble=0.0225,x2AsDouble=0.0243,x3AsDouble=0.027,x5AsDouble=0.0288

DimxAsDouble

x=Val(InputBox(""))

Print"①存一次5年期,5年后到期的本息合计";ss(x,5,x5)

Print"②存一次3年期,一次2年期,5年后到期的本息合计";ss(ss(x,3,x3),2,x2)

Print"③存一次3年期,两次1年期,5年后到期的本息合计";ss(ss(ss(x,3,x3),1,x1),1,x1)

Print"④存两次2年期,一次1年期,5年后到期的本息合计";ss(ss(ss(x,2,x2),2,x2),1,x1)

Print"⑤存一次2年期,三次1年期,5年后到期的本息合计";ss(ss(ss(ss(x,2,x2),1,x1),1,x1),1,x1)

Print"⑥存五次1年期,5年后到期的本息合计";ss(ss(ss(ss(ss(x,1,x1),1,x1),1,x1),1,x1),1,x1)

EndSub

PrivateFunctionss(ByValaAsDouble,bAsInteger,cAsDouble)AsDouble

ss=a+a*c*b

EndFunction

PrivateSubForm_Load()

AutoRedraw=True

EndSub

 

如下

DimstrAsString

PrivateSubCommand1_Click()

str=Text1.SelText

Text1.SelText=""

Command3.Enabled=True

EndSub

PrivateSubCommand2_Click()

str=Text1.SelText

Command3.Enabled=True

EndSub

PrivateSubCommand3_Click()

Text1.SelText=str

EndSub

PrivateSubCommand4_Click()

End

EndSub

PrivateSubCommand5_Click()

Form2.Show

Form1.Hide

EndSub

PrivateSubForm_Load()

Command1.Enabled=True

Command2.Enabled=True

Command3.Enabled=False

Command4.Enabled=True

EndSub

如何让Command1~4功能键的目标转向text1内的内容

 

 

我点的时候必须把text1里面的内容去选定后才能进行操作

如何让他自己选定为text1的内容--!

上面的Command1剪切功能

         Command2复制功能

         Command3粘贴功能

         Command4退出--!

三、利用VB三维面板控件设计流动条

2000-09-1500:

00:

00·王金柱·yesky

  VB提供了一个三维面板控件,利用这个控件可设计图形效果的立体界面,从而使应用程序的界面显得更生动、美观,该控件还可以设置各种形式的背景,然后在背景上显示各种形式的字符,令人感兴趣的是,使用三维面板控件,还可设计我们经常在安装程序中看到的表示安装进程的流动条,并可显示进程百分比,改变流动条的颜色等。

  一、介绍属性

  FloodColor:

确定流动条的颜色,缺省为蓝色。

  FloodPercent:

显示当前过程如流动条进行的百分比,参数改变时显示的百分数和流动条的面积改变,设为一整型值,取值范围是0~100。

  FloodShowpct:

决定是否在三维面板控件上显示百分比,是一个逻辑值。

为True时显示,为False时不显示。

  FloodType:

表示用户对三维面板控件的使用方式。

可取值有6个,如下所示:

  0 缺省设置

  1 表示流动条方向从左到右

  2 表示流动条方向从右到左

  3 表示流动条方向从上到下

  4 表示流动条方向从下到上

  5 表示使用指定的颜色从圆心向外画圆

  二、流动条设计

  如果在Windows3?

X下,工具箱中不存在三维面板控件,可选择File菜单中的“AddFile…”进行添加,在弹出的对话框中找到Windows\System目录,然后选定Threed?

vbx文件即可,如果使用VB4.0,需在Tools菜单中选择CustomControls命令,选定Sheridan3dControls项,按OK按钮,可在工具箱中增加三维面板控件。

  启动VB3?

0,在窗体中画一水平方向的长方形三维面板控件,按F4,在属性窗口中设置其Name为P3d、Bevellnner为2-Raised、FloodType为1、FloodshowPct为True,再在窗体中画一个按钮Command1,双击该按钮,键入下面的代码:

  SubCommand1_Click()

  P3d?

floodpercent=0

  ForN%=1To100

  IfN%$#@62;100THEN

  ExitSub

  EndIf

  P3d?

FloodPercent=N%

  NextI%

  EndSub

  按F5,运行该程序,点击Command按钮,即可看到流动条效果。

四、

使用VB设计具有动感的命令图标栏

2000-09-1500:

00:

00·张嵘·VB编程乐园

p>  我们在使用Word、Excel等Windows应用程序时,经常会见到在程序界面顶端有一行“立体式”图标按钮。

当用鼠标按下某一个图标按钮时,程序就执行相应的操作。

这一行“立体式”图标按钮通常就称作命令图标栏或工具条。

命令图标栏一般提供一些最常用的命令,供用户快速地取用,并且它设计时采用了“立体式”按钮,操作时会产生凹下去和凸出来的“动感”,笔者这里就谈谈如何用VB来建立具有“动感”的命令图标栏。

  使命令图标具有“动感”是依靠对命令图标的不同状态的图像切换来获得的。

当鼠标按下时,图标显示为凹入状态的图像;当松开时,图标显示为凸出状态的图像。

通过图像切换就使命令图标具有了“动感”,具体设计步骤如下:

  1。

首先在窗体中创建一个图片框(PictureBox),将其Align属性置为1,使图片框固定在窗体上端,调节其宽度使其能安置图像或命令按钮。

  2。

在图标框内创建若干个图像框(ImageControl),设置其Autosize=True,Picture属性在程序运行中设置。

  3。

编写程序代码。

这里假设某个命令图标凸出状态的图像文件名为"zrup.bmp",凹入状态的图像文件名为"zrdown.bmp"。

窗体装入时:

Subform-load()

  Imagel.picture=Loadpicture("zrup.bmp")’命令图标凸出

Endsub

鼠标按下时:

SubImagel-mousedown(ButtonAsIntegerShiftAsInteger,XAssingle,YAssingle)

  Imagel.picture=Loadpicture("zrdown.bmp")’命令图标如下:

Endsub

鼠标松开时:

SubImagel-mouseup(ButtonAsInteger,ShiftAsInteger,XAssingle,YAssingle)        Imagel.picture=Loadpicture("zrup.bmp")’命令图标凸出

Endsub

  以上只能使命令图标具备凹下去的功能,但当在按鼠标按钮不放,并拖曳鼠标使光标移到外头,原来图标仍然处于凹下状态。

要使其自动凸起,就要编写如下代码:

SubImagel-mouseup(ButtonAsInteger,ShiftAsInteger,XAssingle,YAssingle)

  SelectCaseButton

   Case1

    IfX$#@60;=0orX$#@62;Imagel.WidthorY$#@60;=0orY$#@62;Imagel.Heightthen          Imagel.picture=Loadpicture("zrup.bmp")’凸出

    else

     Imagel.picture=Loicture("zrdown.bmp")’凹入

    Endif

  Endselect

Endsub

  通过以上三步骤就可以建立具有“动感”的命令图标,若具有多个命令图标时,可通过创建图像控制数组来实现。

BMP是常见的一种图像格式,也可以使用VB提供的丰富的不同状态的命令图标位图文件,它在VB的子目录\bitmaps\中。

窗体顶端

窗体底端

五、

实现窗体内部的左右移动

'分割区的宽度

PrivateConstSPL99vTERWIDTH=45

'最小移动宽度

PrivateConstHMIN=15

'picLeft和picRight的宽度相对于窗体的比例

PrivatePercentAsSingle

'正在拖动的标志

PrivateDragFlagAsBoolean

'每次拖动后需要重排窗体上的控件

PrivateSubRedrawMe()

DimNewWidthAsSingle

'忽略窗体缩小的情况

IfWindowState=vbMinimizedThenExitSub

NewWidth=(ScaleWidth-SPL99vTERWIDTH)*Percent

Picleft.Move0,0,NewWidth,ScaleHeight

Picright.MoveNewWidth+SPL99vTERWIDTH,0,ScaleWidth-NewWidth-SPL99vTERWIDTH,ScaleHeight

EndSub

PrivateSubForm_Load()

'PicLeft和PicRight的MousePointer=1

Percent=0.5

EndSub

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

DragFlag=True

EndSub

PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

'定义鼠标为vbSizeWE型

MousePointer=vbSizeWE

Percent=X/ScaleWidth

RedrawMe

EndSub

PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

DragFlag=False

MousePointer=0'此行语句实际没有起作用

EndSub 

六、

封面的设计

一、封面的设计是这样的,先出现一窗体,上面为你喜欢的图案。

然后出现一艘从左向右行驶着的船。

屏幕上方从两侧分别移动出“欢迎”两个字。

具体的制作方法是:

把预先选好的背景图案装入封面窗体中,窗体命名为CAI。

再分别在三个图像控件(image)中装入预先制作好的位图“欢”、“迎”和船型图案。

然后把三个image放置在初始位置(即图案刚在窗体出现时的位置),并把它们的可视属性都设置为“false”。

程序如下:

SubForm_load()

cai.Show′显示封面窗体

Dimi′定义变量

image3.visible=True′船型图像控件出现

a1:

Ifimage3.Left<6120Then

′6120为船移动到屏幕右边的坐标,此值可以随需要选取

image3.Moveimage3.Left+50

′移动此图像控件如嫌移动慢,可改变移动值

Gotoa1

EndIf

image1.visible=True′“欢”字出现

a2:

Ifimage1.Left<2120Then

′2120为“欢”字移动到屏幕中间的位置

image1.Moveimage1.Left+50′移动此图像控件

Gotoa2

EndIf

image2.visible=True′“迎”字出现

a3:

Ifimage2.Left>5420Then

′5420为“迎”字移动到屏幕中间的位置

image2.Moveimage2.Left-50′移动此图像控件

Gotoa3

EndIf

Fori=1To10000

′使窗体暂停一段时间时间长短可通过改变循环次数实现

Nexti

menul.Show′显示程序主窗体

Unloadcai′卸载封面窗体

EndSub

二、简单的“动画”

点击一3D按钮后,屏幕表现光线平行进入一玻璃管,在管中有一散射中心,有的光线射到此中心后反射到管的初始端。

程序如下:

SubCommand3Dl_Click()

Dimi,j,k,m,n′定义变量

Fori=2080To5520

′显示出三条线,直到图像中的散射中心处,颜色为黑色

Line(2080,2760)-(i,2760),RGB(0,0,0)

Line(2080,2860)-(i,2860),RGB(0,0,0)

Line(2080,2660)-(i,2660),RGB(0,0,0)

Nexti

Forj=5520To4800Step-1′反射光线第一次射到管壁上

Line(5520,2760)-(j,2760-(5520-j)*.33333333),RGB

(255,0,0)′反射光线,颜色为红色

Line(5520,2660)-(5520+(5520-j),2660),RGB(0,0,0)

Line(5520,2860)-(5520+(5520-j),2860),RGB(0,0,0)

′没有遇到散射中心的两条光线,为黑色,继续前进

Nextj

Fork=4800To3360Step-1′反射光线第二次射到管壁上

Line(4800,2520)-(k,2520+(4800-k)*.33333333),

RGB(255,0,0)′反射光线,颜色为红色

Line(6240,2660)-(6240+(4800-k),2660),RGB(0,0,0)

Line(6240,2860)-(6240+(4800-k),2860),RGB(0,0,0)

′没有遇到散射中心的两条光线,颜色为黑色

Nextk

Form=3360To2080Step-1′反射光线第三次射到管壁上

Line(3360,3000)-(m,3000-(3360-m)*.33333333),

RGB(255,0,0)′反射光线,颜色为红色

Nextm

EndSub

三、封底

封底的设计是:

先出现全黑的屏幕,然后从上至下逐渐拉出白底红字的“再见”的字样。

先按要求在画板中做一个BMP图,上面写着“再见”。

然后在一名为BYE的窗体中加入一个全屏大的Picturel,将BMP图装入。

程序如下:

SubForm_Load()

Dimi′定义变量

bye.Show′封底出现

Unloadmenu1′卸载主菜单

al:

Ifpicture1.Height<7130Then′7130为图的高度

picturel.Height=picture1.Height+50′下拉屏幕

GoToal

EndIf

Fori=1To20000′使窗体暂停一段时间

Nexti

End′结束所有操作

EndSub

利用VisualBasic让命令行软件全面转向Windows

众所周知,Windows以其优美的图形界面,方便快捷的操作环境,已成为当今的主流操作系统,但由于其程序编写过于复杂,有很多用户常用的工具和小程序仍然只能运行于DOS环境下,造成Windows和DOS的频繁切换、使工作缺乏连续性和效率低下。

有什么方法可以解决这一问题呢?

等待ForWindows版本的面市,但仍会造成重复投资。

据笔者观察发现,常用工具中有一部分为命令行软件,这些软件完全可以利用VB改编成ForWindows版本的。

首先由于VB的简单易用,使Windows的界面设计变得异常简单直观。

所以可轻而易举的将命令选项、开关等转化为对应的图形界面(如复选钮等)。

其次由于VB为用户提供了Shell函数,也使得命令调用非常简单。

通过Shell其实你只做了个界面,核心还是DOS下的原来工具。

其函数格式如下:

Shell(命令字符串<,窗口类型>)

命令字符串即具体执行的命令(如字符串“arjea:

user.arjc:

\user”)有关字符串的操作可查阅有关书籍。

至于窗口型类型缺省即可。

最后只须注意,在Shell执行函数之前,有必要对命令行中有可能引发错误的参数进行检测,如在执行前检查用户给的源文件是否存在等,以保证达到预期结果。

笔者用VB改编的ArjforWindows版本,其结果出乎想象。

希望大家能自己动手全面转向Windows。

 

七、

利用VB产生屏幕变暗的效果

想利用VB编程实现屏幕变暗的效果(像关闭Win95时的效果),只要按下面的步骤来做:

1.在Form1中加入两个CommandButton和一个PictureBox.

2.在Form1的代码窗口中添加以下代码:

PrivateTypeRECT

LeftAsLong

TopAsLong

RightAsLong

BottomAsLong

EndType

PrivateDeclareFunctionGetDCLib"user32"(ByValhwndAsLong)AsLong

PrivateDeclareFunctionReleaseDCLib"user32"(ByValhwndAsLong,ByValhdcAsLong)AsLong

PrivateDeclareFunctionCreatePatternBrushLib"gdi32"(ByValhBitmapAsLong)AsLong

PrivateDeclareFunctionPatBltLib"gdi32"(ByValhdcAsLong,ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValdwRopAsLong)AsLong

PrivateDeclareFunctionDeleteObjectLib"gdi32"(ByValhObjectAsLong)AsLong

PrivateDeclareFunctionCreateBitmapLib"gdi32"(ByValnWidthAsLong,ByValnHeightAsLong,ByValnPlanesAsLong,ByValnBitCountAsLong,lpBitsAsAny)AsLong

PrivateDeclareFunctionSelectObjectLib"gdi32"(ByValhdcAsLong,ByValhObjectAsLong)AsLong

PrivateDeclareFunctionInvalidateRectLib"user32"(ByValhwndAsLong,ByVallpRectAsLong,ByValbEraseAsLong)AsLong

Privatebybits(1To16)AsByte

PrivatehBitmapAsLong,hBrushAsLong

PrivatehDesktopWndAsLong

PrivateSubCommand1_Click()

DimropAsLong,resAsLong

Dimhdc5AsLong,width5AsLong,height5AsLong

hdc5=GetDC(0)

width5=Screen.Width\Screen.TwipsPerPixelX

height5=Screen.Height\Screen.TwipsPerPixelY

rop=&HA000C9

CallSelectObject(hdc5,hBrush)

res=PatBlt(hdc5,0,0,width5,height5,rop)

CallDeleteObject(hBrush)

res=ReleaseDC(0,hdc5)

EndSub

PrivateSubCommand2_Click()

DimaaAsLong

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1