当前位置:编程学习 > VB >>

VB编程问题

请详细的说下解题过程  谢谢~~

追问:这里的i 的值是否就是决定 下面那个循环要运行几次啊~
答案:該編程為Command的單擊事件。

出現了"For...Next..." 循環語句,"if ... then...End if "條件語句。

剛開啟時,a=0,然後就進入了"雙重循環" 語句。以下就是分析該語句:

For i = 1 To 2   (該語句的完整版應為"For i = 1 To 2   Step 1 " 意思為從" i = 1 "開啟,當完成For以下的語句後,即 " Next i " 之前的語句。然後就以增值1,為自己" + 1 ",然後以 " i = 2 ”,又再重複上述事件。當 " i =3 " 時由於不符合" For " 條件就跳出循環。因此該循環只進行了2次。)

在 " For i = 1 To 2 ” 裡面嵌套了" For j = 1 To 4 "這個語句。此結合語句稱為 "雙重循環語句", 而此題目中該語句意思 " 每循環一次 i ,j 就要循環 4 次。"  即當" i =1 時,j 就要執行 j = 1, j = 2, j = 3, j = 4.當i = 2 時也是這樣。所以該結合語句共循環了8 次。

而在 " For j = 1 To 4 ” 裡面嵌套了" If j Mod 2 <> 0   Then   a = a -1 "這個語句。該 If 語句意思是" 如果 j 這個數除以 2 的餘數不等於 0(或者說成 j 不能被 2 整除) 的話,就進行 " a = a -1 " 這條語句。

最後就是" a = a +1 " 這條可以說是該編程的最易忽略的一條,因為無論 j 這個數是否被2整除,都要進行 " a = a + 1 “這條。

以下就是執行語句:

剛開啟 a = 0 ,

然後進入循環 :

當 i = 1 時,j = 1 時,1不能被2整除,執行If 語句的a = a - 1 = 0 -1= -1 ,然後再執行 a=a+1=(- 1)+1= 0

                    j = 2 時,2能被2整除,執行If 語句的a = a +1 = 0 + 1 = 1 

                    j = 3 時,3不能被2整除,執行If 語句的a = a - 1 = 1 -1= 0 ,然後再執行 a=a+1= 0 + 1 = 1

                    j = 4 時,4能被2整除,執行If 語句的a = a +1 = 1 + 1 = 2 

當 i = 2時,j = 1 時,1不能被2整除,執行If 語句的a = 2 - 1 = 2 -1= 1 ,然後再執行 a=a+1= 1 + 1 = 2

                   j = 2 時,2能被2整除,執行If 語句的a = a +1 = 2 + 1 = 3 

                   j = 3 時,3不能被2整除,執行If 語句的a = a - 1 = 3 -1= 2 ,然後再執行 a=a+1= 2 + 1 = 3

                   j = 4 時,4能被2整除,執行If 語句的a = a +1 = 3 + 1 = 4

所以最後輸出 a 的值為 4 . 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1 ,  j=1 时j Mod 2 <> 0成立,a=a-1=-1(因为上面a=0);;a = a + 1=0(因为前面a=-1)这时输出a值是0

i=1 ,  j=2 时j Mod 2 <> 0不成立,a=a-1不执行;a = a + 1=1(因为上面a=0);这时输出a值是1

i=1 ,  j=3 时j Mod 2 <> 0成立,a=a-1=0(因为上面a=1);;a = a + 1=1(因为前面a=0);这时输出a值是1

i=1 ,  j=4 时j Mod 2 <> 0不成立,a=a-1不执行;a = a + 1=2(因为上面a=1);这时输出a值是2

i=2 ,  j=1 时j Mod 2 <> 0成立,a=a-1=1(因为上面a=2);a = a + 1=2(因为前面a=1)这时输出a值是2

i=2 ,  j=2 时j Mod 2 <> 0不成立,a=a-1不执行;a = a + 1=3(因为上面a=2)这时输出a值是3

i=2 ,  j=3 时j Mod 2 <> 0成立,a=a-1=2(因为上面a=3);a = a + 1=3(因为前面a=2)这时输出a值是3

i=2 ,  j=4 时j Mod 2 <> 0不成立,a=a-1不执行;a = a + 1=4(因为上面a=3)这时输出a值是4

所以最后结果就是4.

CommonDialog 控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。通过运行 Windows 帮助引擎控件还能显示帮助。

一、添加CommonDialog 控件

CommonDialog 控件是一种ActiveX控件,一般情况下,启动VB后,在工具箱中没有公用对话框控件。要使用对话框控件,首先要在工具箱中添加公用对话框控件,步骤如下:

1)“工程”----->“部件”:





2)在“部件”对话框中选择“控件”选项卡,在控件列表框中选择“Microsoft common Dialog control 6.0"



3)单击“确定”,公用对话框就被添加到工具箱中,如下图所示:



二、CommonDialog 控件提供的六种标准对话框

1、显示文件对话框

包括“打开”和“另存”对话框。

2、使用“颜色”对话框

3、使用“字体”对话框

4、使用“打印”对话框

5、使用“帮助”对话框

方法 所显示的对话框
ShowOpen 显示“打开”对话框
ShowSave 显示“另存为”对话框
ShowColor 显示“颜色”对话框
ShowFont 显示“字体”对话框
ShowPrinter 显示“打印”或“打印选项”对话框
ShowHelp 调用 Windows 帮助引擎

下面将分别进行介绍。
三、显示文件对话框

通过使用 CommonDialog 控件的 ShowOpen 和 ShowSave 方法可显示“打开”和“另存为”对话框。

两个对话框均可用以指定驱动器,目录,文件扩展名和文件名。除对话的标题不同外,另存为对话外观上与打开对话相似。





(一)、显示“打开”和“另存为”对话框的步骤:

1、在窗体上建立一个CommonDialog 控件:



2、在窗体上选择CommonDialog 控件后单击右键:



3、选择“属性”,出现“属性页”:





其中:

1)、对话框标题:是“打开”和“另存为”对话框的标题。

2)、文件名称(FileName):用户在“打开”和“另存为”对话框中所选定的文件名。

3)、过滤器(Filter):用于确定文件列表框中所显示文件的类型。该属性值可以是一组元素或用“|”符号分开的分别表示不同类型文件的多组元素组成。

4)、初始化路径(InitDir):初始返回或设置文件目录。用于为打开或另存为对话指定初始的目录。如果此属性没有指定,则使用当前目录。

(二)、实例

1、界面如下图所示:



2、属性设置:

可以在“属性页”进行设置,也可以在代码窗口进行设置。

在“属性页”进行设置:



在代码窗口进行设置:

Option Explicit

Private Sub Command1_Click()
On Error GoTo kk
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
kk:
End Sub

Private Sub Form_Load()
CommonDialog1.FileName = "*.bmp"
CommonDialog1.Filter = "Pictures(*.bmp)|*.bmp|所有文件(*.*)|*.*"
CommonDialog1.InitDir = "d:\tu"
End Sub

3、运行效果:



实例2、打开、保存文本文件。

1、界面设计:



2、代码:

Option Explicit

Private Sub Command1_Click()
Dim str1 As String
On Error GoTo kk
CD1.Filter = "(*.txt)|*.txt|(*.*)|*.*"
CD1.InitDir = "c:\windows"
CD1.FileName = "*.txt"
CD1.ShowOpen
Text1.Text = ""
Open CD1.FileName For Input As #1
Do While Not EOF(1)
Line Input #1, str1
Text1.Text = Text1.Text & str1 & Chr(13) & Chr(10)
Loop
Close #1
kk:
End Sub

Private Sub Command2_Click()
On Error GoTo kk
CD1.FileName = "无标题.txt"
CD1.DefaultExt = "Txt"
CD1.Filter = "(*.txt)|*.txt|(*.*)|*.*"
CD1.ShowSave
Open CD1.FileName For Output As #1
Print #1, Text1.Text
Close #1
kk:
End Sub


3、运行效

上一个:VB作业题。。。
下一个:怎样学好VB?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,