精华内容
下载资源
问答
  • VB程序托盘控件 源码实例,VB自定义一个添加程序到Windows托盘图标的控件,编译控件源码后生成Tray.ocx,源码包中附有一个调用本托盘程序的示例,在TrayDEMO文件夹内,在Class1.cls文件中实现了托盘的主要操作:将...
  • VB程序设计及应用

    热门讨论 2012-11-26 14:07:12
    中文名: VB程序设计及应用 作者: 李淑华图书分类: 软件 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 7-04-014767-X发行时间: 2004年04月 地区: 大陆 语言: 简体中文 简介: 内容简介: 本书是新...
  • 除了界面外, 计算机程序往往分为 三个部分,输入 处理 输出。 visual Basic的输入输出有着丰富的形式。 我们主要介绍窗体的输入输出操作。 我们主要学习知识 数据输出 Print 函数 与Print 有关的函数 其他...

    第五章 数据的输入与输出

    概要
    除了界面外, 计算机程序往往分为 三个部分,输入 处理 输出。
    visual Basic的输入输出有着丰富的形式。 我们主要介绍窗体的输入输出操作。

    我们主要学习知识

    1. 数据输出 Print 函数
    2. 与Print 有关的函数
    3. 其他方法属性
    4. 数据输入InputBox函数
    5. MsgBox函数和MsgBox语句
    6. 字形属性
      在这里插入图片描述

    print方法

    Print方法可以在窗体上显示文本字符串和表达式的值,并且可以在其他图形对象或者打印机上输出信息
      格式如下:[对象名.]Print[表达式]
    说明:

    1. 对象名称 可以是 Form PictureBox 图片框Printer 打印机 Debug 立即窗口
      省略对象名,则在当前窗口显示
    2. 表达式值 是一个或者多个表达式。
      可以是数值表达式。对于数值表达式来说,打印他的值
      省略表达式,则输入一个空行
    3. 输出多个表达式或者字符串的时候。 歌表达式用 , ; 空格分开
      .

      if 用逗号分开,按标准输入格式显示数据项
      在这里插入图片描述
      其他一些特性 介绍一下主要的特性
      表达式先计算后输出
      执行一次print自动会换行
      省略对象名,输入当前窗体
      ;和空格隔开数据项则 紧凑输出格式数据
      没有表达式则输出 空行

    与Print方法有关的函数

    目的: 为了让信息以指定格式输出
    就是下列函数
      Tab、spc、space$、format¥

    1. Tab函数
      a. Tab(n)
      Tab函数将 参数n 移动到指定的位置,从这个位置开始输出信息。要输出的信息放在Tab函数后面,并用分号隔开
      Print Tab(25);800
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      Tab函数从左端开始计数

    2. Spc函数
      用Spc函数可以跳过n个空格

      说明
      在这里插入图片描述

    3. Spc(n)函数与数据项用;隔开
      n是整型也就是说 0—32767的整数

    4. 空格函数
      Space ( n ) 返 回 n 个 空 格 使 用 方 法 稍 有 不 同 , 这 个 可 以 不 用 和 P r i n t 函 数 一 起 用 , 我 们 可 以 这 样 a (n) 返回n个空格 使用方法稍有不同,这个可以不用和Print函数一起用, 我们可以这样 a (n)n使Printa = “a”+Space(4)+“b”
      print a$

      在这里插入图片描述

    5. 格式输出
      可以使数值或者日期按指定的格式输出
      Format$ (数值表达式,格式字符串)
      按 格式字符串 指定的格式 来输出 数值字符串 的值。
      如果不指定 格式字符串的话,就和Str ( ) 差 不 多 了 只 不 过 S t r ()差不多了只不过Str ()Str()把整数转换时会预留一个空格
      格式字符串 是一个字符串常量 或者 变量
      它由专门的格式说明符组成,这些字符显示数据项的显示格式,并指定显示区段的长度。 当格式字符串为常量时,必须放在引号中。

      来学习一下格式说明符

    字符作用使用方法
    #数字,不在前面或者后面补0#:#的个数决定了显示区段的长度要显示的位数大于指定的区位长度,则该数字靠左端显示,多位不需要补0
    0数字,在前面或者后面补0与#功能相同,只不过多余的位置需要补0
    .小数点显示小数点,与# 0 结合使用,可以放在显示区段的任何位置。根据格式字符串的位置,小数多余部分四舍五入来处理
    千位分隔符逗号起到分位的作用,逗号可以放在小数点左边的任何位置,但是不能放在头部,也不能紧靠小数点
    %百分比符号放在格式字符串的尾部,用来输出百分号
    $美元符号用作格式字符串的首部,在所显示的字符串千加上一个$符号
    -、+负,正符号放在 格式字符串的 头部
    E+ 、E-指数符号用指数形式显示数值

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    其他方法和属性

    清楚方法
    .cls
    清楚由Print方法显示的文本或者在图片框中的图形,并把光标移到对象的左边 省略对象清楚当前窗体内的显示内容

    Picturel.Cls 清楚图片框的图形或者文本
    Cls 清楚当前窗体内显示的内容
    窗体的背景 是用 Picture 属性装入的, 不能使用Cls方法删除
    ,只能LoadPicture方法删除
    MOVE方法
    移动 窗体的控件,并且可以改变其大小,其中“对象”可以是窗体以及除了 TIMER计时器 和Menu 菜单以外的所有控件
    ·格式`
    省略对象则移动窗口

    例子
    画出来
    在这里插入图片描述
    代码

    对象.Move 左边距离,上边距离 ,宽度,高度
    Private Sub Form_Click()
     Move 800,800,3990,2600
     Text1.Move 200,200,1500,1000
     Picture1.Move 1800,200,1500,1000
     Picture.Print "Picture1"
    
    End Sub
    

    运行结果
    点击后
    在这里插入图片描述
    TextHeight TextWidth
    1 用处 辅助设置坐标
    返回一个文本字符串的高度和宽度
    单位 dwip

    对象.TextHeight
    对象.TextWidth
      例子
     Private Sub Form_Click() 
    Show
    CurrentY = TextHeight("Microsoft") * 6
    CurrentX = 0
    Print "姓名"; Tab(8); "年龄"; Tab(16); "职务"; Tab(24); "单位"; Tab(32); "籍贯"
    
    Print "Microsoft Visual Basic 6.0"
    Print
    Test$ = "Microsoft"
    Print Test$
    Print TextHeight(Test$), TextWidth(Test$)
    FontSize = 18
    Print
    Print Test$
    Print TextHeight(Test$), TextWidth(Test$)
    End Sub
    
    

    运行结果
    在这里插入图片描述
    ScaleWidth
    ScaleHeight
    表示对象的高度和宽度
    和TextWidth和TextHeight结合可以使字符串居中显示
    Height
    Width
    Left
    Top属性可以放回设置窗体 控件 高度 宽度 左边的距离 与上面的距离

    数据输入------InputBox 函数

    为了入数据,vb提供了InputBox函数,他可以产生一个对话框
    InputBox(prompt,title,default,xpos,ypos,helpfile,context)
    该函数有七个参数

    1. promt 是一个字符串 ,长度不可以超过1024个字符,他是在对话框内显示的信息,用来提示用户输入,在对话框内显示prompt可以自动换行,
      chr ( 13 ) + c h r (13) +chr (13)+chr(10)
    2. title 字符串 它是对话框的标题,显示在对话框的标题区
    3. default 字符串 用来显示缓冲区的默认信息
    4. xpos ypos 对话框与屏幕左边的距离
    5. helpfile context 帮助

    例子1

    Private Sub Form_Click()
     c1$ = Chr$(13) + Chr$(10)
     msg1$ = "输入顾客的名字"
     msg2$ = "输入后按回车键"
     msg3$ = "或单击确定按钮"
     msg$ = msg1$ + c1$ + msg2$ + c1$ + msg3$
     custname$ = InputBox(msg$, "InputBox Function demo", 张伟)
     Print "你是" & custname$
    End Sub
    
    
    

    运行结果
    在这里插入图片描述
    注意4点内容
    1. 默认放回String 如果要想进行数值运算 记住使用 内置函数 Val()
    2. 取消 则返回 空字符串
    3. 要有多个值我们需要多次调用
    4. 输入的值必须赋给变量否则不可保留
    5. 直接确定则返回默认值

    MsgBox 函数和MsgBox语句

    windows中 操作有误,屏幕上会显示一对话框,让用户自己选择,选择确地操作
    MsgBox类似,他可以向用户传递信息,并可通过用户在对话框上的选择接受用户所做的类型。
    我们先介绍
    MsgBox语句
    MsgBox “工程成功”
    在这里插入图片描述
    返回一个额这个东西
    他有以下特点
    1. 无返回值
    2. Modal widnow 模态窗口(必须先对它作出回应)
    MsgBox函数
    MsgBox()
    有点复杂不想记忆
    到时候有题目在说吧

    字形

    FontName
    字体
    Fontsize

    ##其他属性
    都是布尔类型
    FontBold

    FontItalic
    字形
    FontStrikethru
    删除线
    FontUnderline
    下划线

    FontTransParent
    重叠显示
    True 的话可以重叠
    False 被背景被前景覆盖
    除了MsgBox函数没有仔细看第5章就讲完了
    总结一下
    在这里插入图片描述

    展开全文
  • Private Sub Command1_Click() Cls Dim n%, i%, j% n = Val(Text1.Text) For i = 1 To n For j = 1 To n
  • 这里使用的是《vb程序设计教程(第四版)——龚沛曾》: 实验3(主要考察分支选择结构。1—7考察select和if语句,8用到choose函数,9—11以控件option和check为主) 3.1: Option Expl...

    这里只是个人对书中题目的解答,并不代表最优代码。仅供参考。有哪里错误或者不足的地方还望指出,Thanks♪(・ω・)ノ 

    以及 不要脸地 求探讨求点赞。嘿嘿

    这里使用的是《vb程序设计教程(第四版)——龚沛曾》: 

    实验3(主要考察分支选择结构。1—7考察select和if语句,8用到choose函数,9—11以控件option和check为主)

    3.1 :

    Option Explicit'这里习惯使用 Option Explicit 来做外部全局定义
    Dim x!, y!',只在一个过程中使用的变量,读者在任何地方定义都是可以的
    
    Private Sub Form_click()
        x = InputBox("说吧,你购买物品的原价是多少?")
        Select Case x
            Case Is < 1000
                y = x
            Case Is < 2000
                y = 0.9 * x
            Case Is < 3000
                y = 0.8 * x
            Case Else
                y = 0.7 * x
        End Select
        MsgBox "给你打个折,算你" & y & "元"
    End Sub
    

    select和if语句都可以实现,有兴趣的读者用if语句尝试一下叭。

    3.2 :

    Option Explicit
    Dim x!, y!
    '对我比较懒(你看我题目都懒得打),所以拿上面的代码来用了。
    Private Sub Form_click()
        x = InputBox("说吧,你花了多少时间上网?")
        Select Case x
            Case Is < 10
                y = 30
            Case Is < 50
                y = 30 + 2.5 * (x - 10)
            Case Else
                y = 30 + 2.5 * (50 - 10) + 2 * (x - 50)
        End Select
        If y > 150 Then y = 150
        MsgBox "那么你要给我" & y & "元网费"
    End Sub

    3.3:

    Option Explicit
    Dim x%, y%, z%
    Dim swit% '定义一个中间变量用来储存数据
    
    Private Sub Command1_Click()
        x = InputBox("告诉我你的第一个数字x:")
        y = InputBox("第二个数字y:")
        z = InputBox("还差一个数字z:")
        Print Spc(10); "x"; Spc(4); "y"; Space(4); "z"
        Print "排序前: "; x; Tab(15); y; Tab(20); z
        'space和spc函数效果是一样的,不同的是spc函数只能在print方法中使用
        If x < y Then
            swit = y
            y = x
            x = swit
        End If
        'if语句有两种书写方式:上面的块形式需要使用end if来结束语句
        If z > x Then swit = z: z = x: x = swit
        '这种形式就不需要end if,但语句之间需要冒号隔开
        If z > y Then swit = z: z = y: y = swit
        Print "排序后: "; x; Tab(15); y; Tab(20); z
        '题目对输出的格式有要求的时候(上下行对齐)这里喜欢用tab
        '至于具体的tab后面应该跟多少,就自己测试吧,这里也没有太好的方法
    End Sub
    

    3.4:

    控件的建立这里不贴图了。直接上代码:

    Private Sub Command1_Click()
        Select Case Trim(Text3.Text)
            Case "-"
                Text4.Text = Val(Text1.Text) - Val(Text2.Text)
            Case "+"
                Text4.Text = Val(Text1.Text) + Val(Text2.Text)
            Case "*"
                Text4.Text = Val(Text1.Text) * Val(Text2.Text)
            Case "/"
                Text4.Text = Val(Text1.Text) / Val(Text2.Text)
        End Select
    End Sub
    
    Private Sub Command2_Click()
        End
    End Sub
    

    3.5:

    Option Explicit
    Dim m As Integer, n%, x%, y%
    '两种定义变量类型的方式是一样的
    
    Private Sub Form_Load()
        Form1.Show
    'show方法加载form1,使print方法可以在load事件使用
    'ps:题设控件太麻烦了,就不能简简单单没有伤害吗???我决定不采纳你的建议
    again:
        n = InputBox("你数数笼里几只脚?:")
        m = InputBox("你再数数有几个头?:")
        If n < 2 * m Then
            MsgBox "兄嘚,脚得是头数的两倍吧?你再数数?"
            GoTo again
        ElseIf m < 0 Then
            MsgBox "头能是负数吗?再输一遍:"
            GoTo again
        End If
        y = n \ 2 - m '这里用/应该也可以,既然都是整数那我用整除了啊
        x = m - y
        Print "所以你有" & x & "只鸡"; "还有"; y; "只兔子=(:з」∠)_" '皮这一下非常开心
    End Sub
    

    啥……有朋友告诉我做这个的时候还没学goto语句?那我再做一个老老实实照书上来不用goto的可以吧?还不快给我点赞

    哝,三个label,一个放提示“输入总头数”“输入总脚数”balabala,剩下俩作为输出的容器,这里是label2和label3.读者可以根据自身情况调整。总感觉这个代码有点毛病。到底哪里有毛病呢……

    Private Sub Text2_lostfocus()
        Dim m%, n%, y%, x%
        n = Val(Text2.Text)
        m = Val(Text1.Text)
        If n < 2 * m Then
            MsgBox "兄嘚,脚得是头数的两倍吧?你再数数?"
            Text2.Text = ""
            Text2.SetFocus
        End If
        If m < 0 Then
            MsgBox "头能是负数吗?再输一遍:"
            Text2.Text = ""
            Text1.SetFocus
        Else
        y = n / 2 - m
        x = m - y
        Label2.Caption = y
        Label3.Caption = x
        End If
    End Sub

    3.6:

    一样不做控件展示了。这里接受x1和x2数据的分别是label2和label3

    Dim a!, b!, c!, d!, p!, q!
    
    Private Sub Command1_Click()
        a = Val(Text1.Text)
        b = Val(Text2.Text)
        c = Val(Text3.Text)
        d = b * b - 4 * a * c
        If d >= 0 Then
            p = -b / (2 * a) '除号优先级高于*,必须加括号
            q = Sqr(d) / (2 * a)
            X1 = p + q
            X2 = p - q
            Label2.Caption = X1
            Label3.Caption = X2
        Else
            megbox "你给的数据我处理不来,换个实根好吗?"
            Text1.Text = ""
            Text2.Text = ""
            Text3.Text = ""
            Text1.SetFocus
        End If
    End Sub
    
    Private Sub Command2_Click()
        End
    End Sub

    3.7:

    Option Explicit
    Dim n As Integer
    
    Private Sub Command1_Click()
        Text1.Text = ""
        Text1.SetFocus
        Cls '清除窗体上输出的东西
    End Sub
    
    Private Sub text1_keypress(keyascii As Integer)
        Dim c As String
        c = Chr(keyascii)
        If c <> "=" Then
            If c = "(" Then
                n = n + 1
            ElseIf c = ")" Then
                n = n - 1
            End If
        Else
            If n < 0 Then
                Print "左括号少于右括号"; n; "个,按重置按钮,重新输入"
            ElseIf n > 0 Then
                Print "左括号多于右括号"; n; "个,按重置按钮,重新输入"
            ElseIf n = 0 Then
                Print "括号匹配"
            End If
        End If
    End Sub
    

    3.8: 

    Option Explicit
    Dim a, c
    
    Private Sub Form_click()
        Cls '清空上一次输入,以便一次运行多次测试
        a = InputBox("给我一个1~7的数字:", "判断星期")
        Select Case a
            Case 1
            c = "Monday"
            Case 2
            c = "tuesday"
            Case 3
            c = "Wednesday"
            Case 4
            c = "Thursday"
            Case 5
            c = "Friday"
            Case 6
            c = "Saturday"
            Case 7
            c = "Sunday"
        End Select
        Print c
    End Sub
    
    Private Sub form_load()
        Form1.Show
        a = InputBox("给我一个1~7的数字:", "判断星期")
        c = Choose(a, "Monday", "tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
        Print "你输入的是" & c '不同的输出方法判断使用的是select还是choose
    End Sub

    3.9:

    Option Explicit
    
    
    Private Sub Command1_Click()
    '函数的设置
        If Option1.Value Then
            Label3.Caption = Sin(Val(Text1.Text))
        ElseIf Option2.Value Then
            Label3.Caption = Exp(Val(Text1.Text))
        ElseIf Option3.Value Then
            Label3.Caption = Sqr(Val(Text1.Text))
        End If
            
    '字形的设置
        If Check1.Value Then
            Label3.FontBold = True
        Else
            Label3.FontBold = False
        End If
        If Check2.Value Then
            Label3.FontItalic = True
        Else
            Label3.FontItalic = False
        End If
        If Check3.Value Then
            Label3.FontUnderline = True
        Else
            Label3.FontUnderline = False
        End If
        
    End Sub

    3.10:

    Private Sub Command1_Click()
        If Option1.Value Then
            If Option3.Value Then
                Label1.Caption = "从上海到南京,高铁价格:140"
            ElseIf Option4.Value Then
                Label1.Caption = "从上海到南京,动车价格:93"
            ElseIf Option5.Value Then
                Label1.Caption = "从上海到南京,快车价格:47"
            End If
        ElseIf Option2.Value Then
            If Option3.Value Then
                Label1.Caption = "从上海到北京,高铁价格:555"
            ElseIf Option4.Value Then
                Label1.Caption = "从上海到北京,动车价格:410"
            ElseIf Option5.Value Then
                Label1.Caption = "从上海到北京,快车价格:179"
            End If
        End If
    End Sub
    

    3-11:

    Private Sub Command1_Click()
        Dim xb$, xl$, zy$, ah$
        If Option1.Value Then
            xb = "男"
        ElseIf Option2.Value Then
            xb = "女"
        End If
    '上面的elseif不可用else,否则未选择性别的时候也会输出性别女
    '使用option选择的时候都要注意这一点
        If Option3.Value Then
            xl = "大专"
        ElseIf Option4.Value Then
            xl = "本科"
        ElseIf Option5.Value Then
            xl = "研究生"
        End If
        If Option6.Value Then
            zy = "教师"
        ElseIf Option7.Value Then
            zy = "医生"
        ElseIf Option8.Value Then
            zy = "公务员"
        End If
        ah = ""
        If Check1 Then
            ah = ah + " 旅游"
        End If
        If Check4 Then
            ah = ah + " 集邮"
        End If
        If Check3 Then
            ah = ah + " 体育"
        End If
        If Check2 Then
            ah = ah + " 音乐"
        End If
    '结果显示,这里用回车符vbLf/chr(10)和换行符vbCr/chr(13)换行
    '用续行符“_”增加代码可读性,使用的时候注意续航符前面带空格
        Label2.Caption = "简历" & Chr(10) & _
        "姓名:" & Text1.Text & Chr(10) & _
        "年龄:" & Text2.Text & Chr(10) & _
        "性别:" & xb & Chr(13) & _
        "学历:" & xl & vbLf & _
        "职业:" & zy & vbCr & _
        "爱好:" & ah
    End Sub
    
    Private Sub Command2_Click()
        Label2.Caption = ""
    End Sub

     

    换行符vbLf/Chr(10)、回车符vbCr/Chr(13)以及二者的结合体vbCrLf的输出效果其实是一样的。那么它俩有什么区别呢?

    实验4 (主要考察循环的运用,其中8/9/10考察滚动条、11考察ActiveX控件中的进度条。其中9和11较复杂)

    4.1:

    '在load事件里使用打印方法print前,记得设置窗体的Autoredraw属性为True或者在print前加一句form1.show哦

    'click和load事件里分别用两个方法输出图形
    Dim i As Integer
    Private Sub Form_Load()
        For i = 1 To 9
            Print Tab(20 - 2 * i); String(2 * i - 1, "☺")
        Next
    End Sub
    Private Sub Form_Click()
        Dim s As String
        s = "☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"
        For i = 1 To 9
            Print Tab(20 - 2 * i); Mid(s, 20 - 2 * i)
        Next
    End Sub
    

    4.2:

    Private Sub Form_click()
        Dim i As Integer
        For i = 1 To 9
        Print Tab(i); String(20 - 2 * i, Chr(i + 64))
        Next
    End Sub

    4.3:

    Private Sub Form_click()
        Dim s As Integer, i As Integer, n As Integer, sum As Integer
        s = 0
        For n = 1 To 30
            For i = 1 To n
                s = s + i
            Next
        Next
        Print "前30项和为" & s
        n = 0
        sum = 0
        Do Until sum > 5000
            n = n + 1
            For i = 1 To n
                sum = sum + i
            Next
        Loop
        Print "前31项和" & sum
    End Sub
    

    4.4:

    Private Sub Command1_Click()
        Dim i As Integer, n As Integer, s As String
        n = Len(Text1.Text)
        s = ""
        For i = n To 1 Step -1
            s = s + Mid(Text1.Text, i, 1)
        Next
        Text2.Text = s
    End Sub
    
    Private Sub Command2_Click()
        Text1.Text = ""
        Text2.Text = ""
    End Sub
    
    Private Sub Command3_Click()
        End
    End Sub

    4.5:

    '老规矩,题目的控件我就不建立了
    Private Sub Form_click()
        Dim i As Single, s As Single, t As Single
        s = 0
        i = 1
        t = 1
        Do While t <= 10 ^ 5'注意朕这里用的是十的五次方
            t = i + t - 1
            s = s + 1 / t
            i = i + 1
        Loop
        Print "Do While结构"; s; Tab(25); i - 1; "项"'tab控制输出格式,让你的输出好看一点
        s = 0
        i = 1
        t = 1
        For i = 1 To 100000'如题,把循环终点设成一个比较大的数字
            t = i + t - 1
            s = s + 1 / t
            If t > 10 ^ 5 Then Exit For
        Next
        Print "For结构"; s; Tab(25); i; "项"
    End Sub

    4.6: 

    Private Sub form_click()
        Dim i As Integer, j As Integer, k As Integer, n As Single
        Dim t As Integer '定义一个计数君
        t = 0
        For n = 100 To 999
            i = n Mod 10 '提取个位数
            k = n \ 10 Mod 10 '提取十位数,整除号“\”的优先级大于MOD
            j = n \ 100 '提取百位数
            If i ^ 3 + k ^ 3 + j ^ 3 = n Then
                Print n;
                t = t + 1
                If t Mod 5 = 0 Then Print
            End If
        Next n
    End Sub
    

    4.7:这里变量建议定义为双精度#,防止溢出

    Private Sub Form_click()
        Dim n#, i#, s#
        s = 2
        For n = 1 To 1000
            s = s * (2 * n) ^ 2 / ((2 * n - 1) * (2 * n + 1))
            If n = 50 Or n = 1000 Then Print "n="; n; "时"; "s="; s
        Next
    End Sub
    

    4.8: 控件:两个label俩滚动条,变量定义同上题

    Option Explicit
    Dim a As Integer, n As Integer, sum#
    Dim temp# '定义一个加数
    Dim i As Integer, j As Integer '定义两个循环用变量
    Private Sub Form_Load() '在load事件中对滚动条初始化
        HScroll1.Max = 9
        HScroll1.Min = 1
        HScroll2.Max = 10
        HScroll2.Min = 5
    End Sub
    
    Private Sub form_click() '纵向输出
        Cls
        temp = 0
        sum = 0
        For i = 1 To n
            temp = temp * 10 + a
            sum = sum + temp
            For j = 1 To 8 '输出各个加数
                If j = i Then
                    Print Tab(15 - j); temp
                End If
            Next j
        Next i
        Print "------------------"
        Print Tab(15 - n); sum '输出和
    End Sub
    
    Private Sub HScroll1_Change()
        a = HScroll1.Value
        Label1.Caption = "a=" & a
        Call Calculate
    End Sub
    
    Private Sub HScroll2_Change()
        n = HScroll2.Value
        Label2.Caption = "n=" & n
        Call Calculate
    End Sub
    
    Public Sub Calculate() '横向输出
        Cls
        Print "sum=";
        temp = 0
        sum = 0
        For i = 1 To n
            temp = temp * 10 + a
            sum = sum + temp
            Print temp; '输出各个加数
            If i <> n Then Print "+";
        Next i
        Print "=" & sum
    End Sub
    

    4.9:很简单的题目,一个label一个hscroll搞定

    Private Sub Form_Load()
        HScroll1.Max = 72
        HScroll1.Min = 8
    End Sub
    
    Private Sub HScroll1_Change()
        Label1.FontSize = HScroll1.Value
    End Sub

    4.10: 

    三个控件:image1、hscroll1和vscroll1

    由于我们调整的是image控件的大小,注意设置image的stretch属性为true(以让图片大小自动适应image)

    btw,大小的调整是以image左上角那个点为基准

    Private Sub Form_Load()
        Image1.Picture = LoadPicture(App.Path + "/黑子.jpg")'mong用一个之前工程的图片好了
        HScroll1.Max = 4215 '根据自己希望达到的最大图片设置数值
        VScroll1.Max = 2535 '这里可以把image调到最大后去属性窗口找一下对应的数值
    End Sub
    
    Private Sub HScroll1_Change()
        Image1.Width = HScroll1.Value
    End Sub
    
    Private Sub VScroll1_Change()
        Image1.Height = VScroll1.Value
    End Sub
    

    4.11:

    review一下ActiveX控件怎么添加呢。以这题用到的progressbar为例子:

    Private Sub countdown() '来一个“倒计时”的过程
        Dim minus As Integer, second As Integer
        Dim a As Integer '一个用来定位的家伙
        a = InStr(Text1.Text, ":") - 1 '在a之前的是分钟数
        
        If a > 0 Then '给分钟数和秒数赋值
            minus = Val(Left(Text1.Text, a))
        End If
        If a > 0 Then
            second = Val(Right(Text1.Text, 2))
        Else
            second = Val(Text1.Text)
        End If
        
        Text1.Text = 60 * minus + second
        ProgressBar1.Max = Text1.Text
    End Sub
    
    Private Sub Form_click() '题目没有要求,不过做一个暂停的过程有助于debug
        Timer1.Enabled = False
    End Sub
    
    Private Sub text1_keypress(keyascii As Integer)
        If keyascii = 13 Then '开始计时
                Timer1.Enabled = True
                Timer1.Interval = 1000
                Call countdown
        End If
    
    End Sub
    
    Private Sub Timer1_Timer()
        If Text1.Text <= 1 Then Timer1.Enabled = False '停止计时
        Text1.Text = Val(Text1.Text) - 1
        ProgressBar1.Value = Text1.Text
    End Sub
    

    4.11这题有意思。做成这样是我理解太复杂了吗? 

    4.12:

    Dim a As Single, x As Single
    Dim t As Single '???????????????x[i]
    Const E = 10 ^ -5
    Private Sub Form_click()
        x = 1
        For a = 1 To 1000
            t = x
            x = 2 / 3 * x + a / (3 * x * x)
            If x <> t And Abs(x - t) < E Then Exit For
            '?????????????x<>t??????????????????????????
            If a = 3 Or a = 27 Then
                Print "x=" & x
                Print "???????a?????η?????????" & a ^ (1 / 3)
            End If
        Next a
    End Sub

    4.13:

    ps:终于开始有一点情景的题目了O(∩_∩)O       果然最后出现了反转啊。富翁这个名词这是已经被黑化了吗?2333全员仇富

    Private Sub Form_click()
        Dim a As Single '陌生人给富翁的钱
        Dim sum As Single '富翁总共给陌生人的钱
        Dim t As Single '单天富翁要给出的钱
        Dim i As Integer '定义一个计数君
        a = 10 * 30
        Print "陌生人给富翁:" & a & "万元"
        t = 0.01
        sum = 0
        For i = 1 To 30
            sum = sum + t '注意这里的sum是以“元”为单位的
            t = 2 * t
        Next
        sum = sum / 10000 '化sum以万元为单位
        Print "富翁给陌生人:" & sum & "万元"
    End Sub
    

    4.14:

    Private Sub Form_click()
        Dim x As Integer, y As Integer, z As Integer
        Print "课程考试安排的几种可能情况:"
        Print " x  y  z"
        For x = 1 To 6
            For y = 1 To 6
                For z = 5 To 6
                    If x < y And y < z Then
                        Print x; y; z
                    End If
                Next z
            Next y
        Next x
    End Sub
    

     

    展开全文
  • vb 程序

    2012-04-10 21:16:22
    计算机实验报告       专业:11级教育学   班级:一班   姓名:白明昊   学号:11110141027   日期:2011.4.10 ...充分认识vb的语言及其能够处理的数据类型。

     

     计算机实验报告

     

     

     

    专业:11级教育学

     

    班级:一班

     

    姓名:白明昊

     

    学号:11110141027

     

    日期:2011.4.10

     

     

     

     

     

     

     

     

     

    实验一:显示各位数

    一、实验目的:

    充分认识vb的语言及其能够处理的数据类型。

    二、     实验内容:

    1.  做三位数的显示,在窗体中放置三个标签,并在其属性值中分别输入“个位”,“十位”“百位”,并放置三个文本框,用于显示各位数,一个命令按钮,将其属性值设置为“显示”点击显示个位,十位,百位。

    2.  编写程序代码:

    双击命令按钮,输入:

    Dim star as string

    Star=text1.text

    Text2.text=left(stra,1)

    Text3.text=mid(stra,2,1)

    Text4.text=right(stra,1)

    三、     心得体会;

    对于初学者来说,VB确实不太简单,很多时候搞不清楚专业术语的意思。但是我们要充分利用网络资源,熟读课本,深入了解,弄清程序语言,更好的编程。

    四、     遇到的问题和解决方法;

    对专业术语不理解,通过熟读课本,网络查找,完成编写程序。

    五、     没有解决的问题

      不够熟练,还需继续练习。

     

     

    实验二:大小写的转换

    一、实验目的:

    1.明确赋值语句的意义,弄清赋值表达式与判断相等关系表达式的区别。

    2.熟悉数据的输入与输出的办法,学习使用输入框和消息框。

    二、实验内容:

      字母大小写转换。程序运行时单击“转大写”按钮,文本中英文全部转化为大写,单击“转小写”按钮,转为小写,单击“复原”按钮,复原为初始状态。

    三、     实验步骤:

    1.  在窗体中放置三个命令按钮,在属性值中分别输入“转大写”“转小写”“还原,”在放置一个标签,在属性值中输入“请输入英文字母”,并在后面输入一个文本框

    2.  编写代码:

    (1)在通用声明段中输入;dim x as string

    (2)在代码窗口中选择form控件的load事件,代码如下:x=text1.text

    (3)在代码窗口中选择command1控件的click事件,代码如下:text1.text=UCase(x)

    (4)在代码窗口中选择command1控件的click事件,代码如下:text1.text=LCase

    (5)在代码窗口中选择command1控件的click事件,代码如下:text1.text=x

    四问题寄解决的方法:

      因“UCase(x) LCase”中大小写输错,导致程序不能正常运行。改正后可正常运行。

     

     

    实验三:生成随机数

    实验目的:

    1.  了解vb数据类型的基本概念

    2.  掌握变量的定义方法

    3.  掌握运算符和表达式用法

    一.          实验内容:

    生成指定范围内的随机整数。用intrnd函数生成指定范围的随机整数,用randomize函数初始化随机数发生器,用val函数将数字字符串转换为数值。

    二.         实验步骤:

    1.   在窗体上放置三个文本框并在其后输入三个文本框,分别用于输入随机数的下界和上界,并在属性值中输入“请输入随机数的下界”“请输入随机数的下界”“显示生成的整数”。放置一个命令按钮,并在属性值中输入“生成随机数”。

    2.   编写程序代码

       双击窗体中的命令按钮在代码窗口编写click事件过程,代码如下:

    Dim M as Integer

    Dim N as Integer

    M=Val(text1.text)

    N=val(text2.text)

    Text3.text=m+int(rnd*(n-m=1))

    End sub

    三.         心得体会:

    vb是要注意细心,在输入程序代码时要要看清,例如是“,”还是“.”运行过程不是很顺利,编写的程序由于粗心经常出现丢落字母等问题。要仔细编写。

    四.         问题及解决方法;

    问题:输入代码后不能正常运行,出现“编译码错误”

    解决方法:核对输入的代码,发现把“.“输成了“,“,改正后可正常运行

     

     

    实验四:随机生成图形

    一、         实验目的

    让程序随机不定时间生成随机种类的图形并生成多个

    二、         实验内容

    Private Sub Command1_Click()

    Timer1.Enabled = True

    End Sub

     

    Private Sub Timer1_Timer()

    Randomize

        Cls

        Dim MaxX As Long

        Dim MaxY As Long

        MaxX = Form1.ScaleWidth

        MaxY = Form1.ScaleHeight

        For I = 1 To Int(Rnd * 50 + 1)

            x = Int(Rnd * (MaxX - 500))

            y = Int(Rnd * (MaxY - 500))

           Shape1.Shape = Int(Rnd * 5 + 1)

        Next

    End Sub

    三、         心得体会

    Vb程序设计理论对我们这些初学者来说还是一个广大的高深的领域,一些语言还需要我们的不断学习和把握。我们只有不断地深入了解弄清这些程序语言,才能更好地编写程序,领悟其中的精髓。

    四、         遇到的问题及解决问题的方法

    不太了解过多的程序语言,无法编写完整的程序理论。

    通过百度查询不了解的知识,使得程序编写完成。

    五、         没有解决的问题

    不能完成多个图形的生成,只随机产生了一个

     

              

    实验五:能动的图形

    一、         实验目的

    生成能动的图形

    二、         实验内容

    VB绘制图形并使其运动

    绘制圆形并运动的程序代码

    Dim g As Boolean

    Dim x As Long

    Private Sub Command1_Click()

    Timer1.Enabled = True

    End Sub

    Private Sub Form_Load()

    g = True

    x = Shape1.Left

    End Sub

    Private Sub Timer1_Timer()

    If g Then

    x = x - 300

    Else

    x = x + 300

    End If

    If x < 0 Or x > (Me.ScaleWidth - Shape1.Width) Then

    g = Not g

    End If

    Shape1.Move x

    End Sub

    在窗体中使用了一个按钮、一个计时器,并且用shape控件绘制了一个圆。

    三、         心得体会

    每个小问题都需要自己不断地探索研究,通过思考查阅知识解决问题才是学习之道。

    四、         遇到的问题及解决的方法

     

    展开全文
  • 1、面向对象的程序设计语言 2、事件驱动的编程机制 3、可视化的集成开发环境 4、强大的数据库访问功能 5、网络功能 6、联机帮助功能 1.1.2 Visual Basic 版本介绍 1、学习版 (Express Edition)...

    第1章 基本概念

    1.1 Visual Basic 简介

    1.1.1 Visual Basic 的特点

    1、面向对象的程序设计语言

    2、事件驱动的编程机制

    3、可视化的集成开发环境

    4、强大的数据库访问功能

    5、网络功能

    6、联机帮助功能

    1.1.2 Visual Basic 版本介绍

    1、学习版 (Express Edition)

    2、专业版 (Professional Edition)

    3、企业版 (Enterprise Edition)

    1.2 Visual Basic 集成开发环境

    1.2.1 窗口介绍

    1、主窗口

    2、工具箱窗口

    3、窗体设计窗口

    4、工程资源管理器窗口

    5、属性窗口

    6、代码窗口

    7、窗体布局窗口

    8、对象浏览器窗口

    1.2.2 工作模式

    1、设计模式

    2、运行模式

    3、中断模式

    1.3 窗体和基本控件

    1.3.1 窗体(Form)

    1、主要属性

        (1) Name
        (2) Caption、Font
        (3) Enable
        (4) Visual
        (5) Top、Left
        (6) Heigh、Width
        (7) BackColor、ForeColor
    

    2、主要事件

        (1) Click、DblClick
        (2) Activate、Load、UnLoad
    

    3、主要方法

        (1) Print、Cls
        (2) Show、Hide
        (3) Move
    

    1.3.2 标签(Label)

    1、基本属性

    2、其它属性

        (1) Alignment
        (2) Autosize
        (3) BackStyle
    

    3、常用事件

         Click、DblClick
    

    4、常用方法

         Move
    

    1.3.3 命令按钮(Command)

    1、基本属性

    2、其它属性

        (1) Default、Cancel
        (2) Picture
        (3) Value
        (4) Style
    

    3、常用事件

         Click
    

    4、常用方法

        (1) Move
        (2) SetFocus
    

    1.3.4 文本框(TestBox)

    1、基本属性

    2、其它属性

        (1) Text
        (2) MultiLine、ScrollBars
        (3) PassWordChar
        (4) Locked
    

    3、常用事件

        (1) Change
        (2) KeyPress
        (3) GotFocus、LostFocus
    

    4、常用方法

         SetFocus
    
    展开全文
  • VB程序语言1

    2016-04-14 16:24:52
    Private Sub Command1_Click() Cls Font.Size = 70 Dim arr(5) As Integer For i = 1 To 5 arr(i) = i Next For Each t In arr Print t Next End Sub
  • .NET

    千次阅读 多人点赞 2019-07-17 11:15:41
    文章目录.NET.NET Framework.NET和C#是什么关系跨语言和跨平台是什么跨语言跨平台.NET技术栈的分析.NET Core.NET StandardCLSCTSCLR,.NET虚拟机类库基础类库BCL框架类库FCL.NET程序执行图.NET官方开源项目链接 ...
  • Dim a As Integer Private Sub Command1_Click() Timer1.Enabled = True...Cls Timer1.Enabled = False End Sub Private Sub Timer1_Timer() Line (1000, 1000)-(2500, 2500), QBColor(Int(Rnd * 16)), BF End Sub
  • 一个小小的vb程序

    2016-04-07 17:34:32
    从这道题就可以看的出来 一个程序猿的悲惨的生活
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠一章的内容就完全掌握C#语言是不可能的,如需进一步学习C#语言...
  • vb 程序设计

    2012-04-10 21:04:44
    计算机实验报告       专业:11级教育学   班级:一班   姓名:吕春锋   学号:11110141029   日期:2011.4.10 ...充分认识vb的语言及其能够处理的数据类型。
  • VB程序设计实验报告

    千次阅读 2012-03-28 07:07:23
    VB程序设计实验报告 一:试验目的: 1 利用vb程序设计语言制作随机图形 2 利用vb程序设计语言制作动画 二:实验内容: 1先进行界面分布和相应的属性设置 2编写代码如下: 1,Private Sub Command1_Click() ...
  • VB程序语言3

    2016-04-14 16:46:36
    Option Explicit Dim i As Integer, sum As Integer Private Sub Command1_Click() Cls Font.Size = 70 Static i As Integer i = i + 1 Print i End Sub
  • 不脱离vb集成开发环境,由集成开发环境负责对应用程序的解释执行,并提供调试程序的方法。 编译方式:生成exe文件在windows环境下直接运行的方式。 Commandbutton: 一个窗体上只能有一个按钮的...
  • 窗体模块是大多数Vb程序的基础,一般程序代码都放在窗体模块中。 在窗体模块中声名的变量,在另一个窗体模块中使用时之前要加窗体名,如form1。 ②标准模块(.bas文件) 标准模块是为了避免重复,将多个窗体都...
  • VB程序中使用脚本支持

    千次阅读 2009-11-16 10:53:00
    需要注意是类模块要生成对象:Public objScript As New clsFunction,这个知识在一般程序开发下很少接触; 然后就是vbScript(脚本)和Visual Basic的区别,前者是后者的子集,语法上不能混乱 最常见的错误是:...
  • cls含义及使用方法

    千次阅读 2021-01-19 20:34:41
    一、cls含义 python中cls代表的是类的本身,相对应的self则是类的一个实例对象。 二、cls用法 cls可以在静态方法中使用,并通过cls()方法来实例化一个对象。 class Person(object): def __init__(self, name, age):...
  • VB中 vbp vbw frm frx log bas 等扩展名大全

    千次阅读 热门讨论 2019-03-31 11:57:32
    我们在VB中保存工程时会自动生成很多文件,其中最常见的文件后缀名有 vbp、vbw 和 frm,各位小伙伴有没有好奇他们都是什么意思呢?今天小编给大家发送福利啦,给大家分别介绍一下这些神奇の扩展名! 一、基本...
  • VB 程序大揭秘

    千次阅读 2005-11-23 16:43:00
    VB 程序大揭秘(转载)用... http://cnprogram.myrice.com/article/vb/vb396.html 程联盟--技术文章 VB 程序大揭秘 1.Visual Basic程序概况 我用W32Dasm(Ver 8.93)解开一个比较复杂的VB程序,其中用到了许多API 函数比如...
  • Picture1.Cls Select Case Index Case 0 sp = Not sp Case 1 cz = Not cz Case 2 End end select If sp And cz Then Picture1.PaintPicture pic, w, h, w * - 1 , h * -...
  • 心脏线程序(VB6.0代码编写) \'注释:画抛物线 \'清除picture1内的图形 Picture1.Cls \'Scale方法设定用户坐标系,坐标原点在Picture1中心 Picture1.ScaleMode = 0 Picture1.ScaleMode = 3...
  • 如何优化VB程序

    千次阅读 2009-12-18 14:54:00
    如何去优化你的VB程序帮助 1、如何去优化你的VB程序Visual Basic 作为一种高级编程语言,它也有着不可避免的缺点---开发出的应用程序运行速度慢。如果我们能够程序做一些优化,那么情况将会大大改善。要优化程序...
  • 过了很久,哈里实在是记不得当时的全部逻辑了,直接上源码吧QAQ 1、MF.frm(主窗体内的代码如下) Private 执棋颜色 As Integer, 摁住的棋子 As Long, 在移动棋子 As Boolean, 交换棋子颜色中 As Boolean, 需同意色 ...
  • VB6的IDE调试虽方便,但是缺陷也很多,代码位于同一进程,容易因异常导致IDE崩溃、无法多线程调试、窗口子类化后进入中断模式...而本文主要讲VB6与VC混编模式(exe+dll)的源代码调试技巧之一:用vs调试vb6的程序技巧。
  • 汽车动力性计算 VB源代码 部分代码 Private Sub Command2_Click() '加速度曲线 Label17.Caption = "" Picture1.Cls Picture1.Scale (-12, 3)-(125, -0.3) Picture1.Line (0, 0)-(0, 2.8) Picture1.Line (0, 0)-...
  • 心脏线程序(VB6.0源代码编写) '注释:画抛物线 '清除picture1内的图形 Picture1.Cls 'Scale方法设定用户坐标系,坐标原点在Picture1中心 Picture1.ScaleMode = 0 Picture1.ScaleMode = 3 Picture1.Scale (-20,...
  • VB6.0编写开发模块的一个例子,这个模块的解释和class1一样,大家如果看懂了class1,就懂这个模块了。这个模块只不过是class1的一个复制品,不过这里实现的是form2。OwnerInterface.RequestOperation OwnerClass, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,449
精华内容 1,779
关键字:

vb程序cls