Visual BASIC 学习笔记

纪念:

X k = ∑ n = 0 N − 1 x n ⋅ e − 2 π j k N n X_k=\sum_{n=0}^{N-1}x_n \cdot e^{-2\pi j\frac{k}{N}n} Xk=n=0N1xne2πjNkn

x n = 1 N ∑ k = 0 N − 1 X k ⋅ e 2 π j k N n x_n=\frac{1}{N}\sum_{k=0}^{N-1}X_k\cdot e^{2\pi j \frac{k}{N}n} xn=N1k=0N1Xke2πjNkn

注:以上内容与博文无关。

零、Visual BASIC 学习笔记

初学VB(其实也不算是初学了),想写一篇“小巧玲珑”的学习笔记,就是这样。博客的内容比较片面、不够完善,这主要是受笔者水平限制。本文旨在泛泛地介绍一些VB中比较实用,而且简单的功能。

一、获取程序的运行参数

Command 函数返回一个字符串,其内容为命令行调用当前程序时的参数。

Private Sub Command1_Click()
    MsgBox Command() 
End Sub

二、ListBox的使用

写个程序一目了然:

listbox
程序写成这样:

Private Sub 选中元素行号_Click() '显示被鼠标选中的行的编号
    Dim LineNum As Long
    LineNum = List1.ListIndex
    Text1.Text = "第" + Str(LineNum) + "行被选中"
End Sub

Private Sub 检查元素选中_Click() '检查某一行现在是否正被选中
    Dim LineNum As Long
    LineNum = Val(Text1.Text)
    If LineNum < List1.ListCount And LineNum >= 0 Then
        If List1.Selected(LineNum) Then
            Text1.Text = "第" + Str(LineNum) + "行被选中"
        Else
            Text1.Text = "第" + Str(LineNum) + "行未被选中"
        End If
    Else
        MsgBox "行号不合法"
    End If
End Sub

Private Sub 清空所有内容_Click() '清空列表框中的所有内容
    List1.Clear
End Sub

Private Sub 删除一行内容_Click() '删除列表框中的一行内容
    Dim LineNum As Long
    LineNum = Val(Text1.Text)
    If LineNum < List1.ListCount And LineNum >= 0 Then
        List1.RemoveItem LineNum
    Else
        MsgBox "行号不合法"
    End If
End Sub

Private Sub 添加一行内容_Click()
    List1.AddItem Text1.Text
End Sub

Private Sub 显示选中内容_Click()
    Text1.Text = List1.Text
    MsgBox "第" + Str(List1.ListIndex) + ":" + List1.List(List1.ListIndex)
End Sub

Private Sub 显示元素个数_Click()
    Text1.Text = "共计" + Str(List1.ListCount) + " 个元素"
End Sub

ListBox 中如果存有若干行内容,其中第一行内容的编号为"0",第二行内容的编号为"1",以此类推。

简单介绍一下上面用到的函数:

List1.Selected(Integer) As Boolean 判断某一行内容是否正在被选中(选中,即当前颜色为蓝色),这个函数在列表框开启了简单多选模式(MultiSelect = 1 - Simple)拓展多选模式(MultiSelect = 2 - Extended ) 时有奇效,但在 单选模式(MultiSelect = 0 - None) 下用处不大。

List1.ListIndex 返回当前被选中行的编号,如果没有任何一行被选中,其返回值为-1。(在简单多选模式(MultiSelect = 1 - Simple)拓展多选模式(MultiSelect = 2 - Extended ) 下,其含义有所不同。表示最后一次被点击的行(即虚线框圈出的行)的编号。程序开始时,虚线框会默认圈中表中编号为“0”的那一行,这时,List1.ListIndex的返回值为0,而不是-1。)

List1.ListCount 返回列表框中的元素个数

List1.Clear 清空列表框。

List1.AddItem 表示在列表框中追加元素,语法为AddItem Item As String, [Index] 。如果参数Index被省略,则会默认在列表框的末尾追加元素,否则元素Item会被插入到编号Index的位置,该行原有的内容以及该行以下的全部内容都会依次向后移动一行。(注:Index的值非法可能导致程序崩溃)

List1.RemoveItem (Index As Integer) 删除列表框中的一行内容,并将被删除的行后面的所有内容依次向前移动一行。

List1.Text 被选中的那一行中所储存的文本。

List1.List (Integer) As String 该函数用于获得列表框中某一行的内容,所以,在单选模式(MultiSelect = 0 - None) 下,List1.TextList1.List(List1.ListIndex) 可视为等价。

三、文本框的使用

Text1.MultiLine = True / False 设置文本框中是否可以写入多行内容(Tab的使用好像也与此属性有关)。

Text1.PasswordChar 如果该属性值不为空,Text1就会被视为密码输入框,输入的信息不在屏幕上显示,只显示与文本字节数相同的替代符号。

Text1.ScrollBars = 0 - None / 1 - Horizontal / 2 - Vertical / 3 - Both 用来控制是否显示滑动条(只在MultiLine = True情况下被启用)。

Text1.IMEMode = 0 - No Operation 不是很清楚这是干什么的,但是这个属性不设置成零可能会对汉字以及一些语言的输入有影响。

没事闲的写了一个及其简单的文本编辑器。

TextBox

Private Sub Form_Load()
    List1.AddItem "微软雅黑"
    List1.AddItem "Consolas"
    List1.AddItem "Fixedsys"
    List2.AddItem "小三"
    List2.AddItem "小四"
    List2.AddItem "小五"
    文件路径.Text = App.Path
End Sub

Private Sub List1_Click()
    Text1.FontName = List1.Text
End Sub

Private Sub List2_Click()
    Text1.FontSize = 15 - List2.ListIndex * 3
End Sub

Sub WriteFile(FilePath As String)
    Open FilePath For Output As #1
    Print #1, Text1.Text;
    Close #1
End Sub

Private Sub 保存_Click()
    Dim FilePath As String
    FilePath = 文件路径.Text
    If Dir(FilePath) <> "" Then
        '文件存在
        Dim Flag As Integer
        Flag = MsgBox("该文件已经存在,是否覆盖?", vbOKCancel, "文本编辑器")
        If Flag = vbOK Then
            '确认覆盖
            WriteFile (FilePath)
        End If
    Else
        If Dir(FilePath, vbDirectory) = "" Then
            WriteFile (FilePath)
        Else
            Flag = MsgBox("路径不合法!", vbOKOnly, "文本编辑器")
        End If
    End If
End Sub

未完待续…

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值