精华内容
下载资源
问答
  • VB 删除数组中指定元素实例

    热门讨论 2010-06-07 14:13:35
    VB 删除数组中指定元素实例 VB 删除数组中指定元素实例
  • VB编程:数组中删除数组元素-27

    千次阅读 2016-11-26 11:34:18
    程序代码: Dim a() Private Sub Form_Load()  ReDim Preserve a(1 To 5)  For i = 1 To 5    a(i) = i  Next i  For i = 1 To 5    Text1.Text = Text1.Text & "a(" &am...
    运行效果:
    VB编程:数组中删除数组元素-27

    程序代码:
    Dim a()
    Private Sub Form_Load()
        ReDim Preserve a(1 To 5)
        For i = 1 To 5
            a(i) = i
        Next i
        For i = 1 To 5
            Text1.Text = Text1.Text & "a(" & i & ")=" & a(i) & ";   "
        Next i
        For i = 2 To 4
            a(i) = a(i + 1)
        Next i
        ReDim Preserve a(1 To 4)
        For i = 1 To 4
            Text2.Text = Text2.Text & "a(" & i & ")=" & a(i) & ";   "
        Next i
    End Sub

    总结:
        1、插入数组元素和删除数组元素都使用循环交换,插入数组元素是原数组元素往后移动,删除数组元素是将原数组的元素往前移动。
        2、插入数组元素,需要先将数组长度加长再增加数组元素;删除数组元素,可以先删除数组元素,再建数组长度缩短。

    展开全文
  • VB6实现动态多行增加和删除控件 Option Explicit Dim S1GlngMaxCharactor As Long Dim ChoiceRemove As Long '选择角色移除对象 Private Sub CmdAdd() Dim i As Long, n As Long Dim MaxCharactor As Long ...

               VB6实现动态增加和删除控件数组中的控件

    2021-6-3修改一个BUG

    控件的添加:

    1From1名称改为FrmWork

    2.添加Picture控件名称改为PicCharacterContainer

    3.添加Picture控件名称改为PicShow放入PicCharacterContainer中,设置成控件数组

    4.添加Text控件名称改为TxtShow放入PicCharacterContainer中,设置成控件数组

    操作:在PicCharacterContainer中鼠标左键添加控件,鼠标右键去除控件(可以点选指定控件)。

     

    代码: 

    Option Explicit
    Dim S1GlngMaxCharactor As Long
    Dim ChoiceRemove As Long '选择角色移除对象
    Private Sub CmdAdd()
    Dim i As Long, n As Long
    Dim MaxCharactor As Long
    MaxCharactor = 100 '最大控件数
    For i = 1 To MaxCharactor
        If fChkControls(FrmWork, "PicShow", i) = True Then '控件存在
        n = n + 1
        End If
    Next i
    S1GlngMaxCharactor = n + 1
    For i = 1 To MaxCharactor
        If fChkControls(FrmWork, "PicShow", i) = False Then '控件不存在
            AddCharactor i '增加Picture控件
            AddCharactorNotice i '增加Text控件
            PublicNewArrangeAdd S1GlngMaxCharactor, "PicShow", FrmWork, FrmWork.PicShow '在缺失位置增加控件
            PublicNewArrangeAdd S1GlngMaxCharactor, "TxtShow", FrmWork, FrmWork.TxtShow '在缺失位置增加控件
            AlignBoxes '对齐控件
            TxtShow(i).Text = i '显示控件数组编号
            Exit For
        End If
    Next i
    End Sub
    Private Sub CmdRemove()
    Dim n As Long, i As Long
    If ChoiceRemove <> 0 Then
    Unload PicShow(ChoiceRemove)
    Unload TxtShow(ChoiceRemove)
    ChoiceRemove = 0
    Else
        If S1GlngMaxCharactor >= 1 Then
                    For i = 1 To 100
                        If fChkControls(FrmWork, "PicShow", i) = True Then '存在 '2020-8-22修改为True
                        n = i '找到未删除最大编号
                        End If
                    Next i
                    If n = 0 Then
                        S1GlngMaxCharactor = S1GlngMaxCharactor - 1
                        MsgBox "最初控件不能移除"
                        Exit Sub
                    End If
        Unload PicShow(n)
        Unload TxtShow(n)
        S1GlngMaxCharactor = S1GlngMaxCharactor - 1
        Else
        MsgBox "最初控件不能移除"
        End If
    End If
    End Sub
    Private Sub PicCharacterContainer_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        CmdAdd
    End If
    If Button = 2 Then
        CmdRemove
    End If
    End Sub
    Rem 判断控件是否存在
    Function fChkControls(frmObject As Form, strControlsName As String, ByVal lngIndex As Long) As Boolean
    On Error GoTo Err
        Dim strContrName As String
        If lngIndex >= 0 Then
            strContrName = frmObject.Controls(strControlsName)(lngIndex).Name
        Else
            strContrName = frmObject.Controls(strControlsName).Name
        End If
        fChkControls = True
        Exit Function
    Err:
        fChkControls = False
    End Function
    Rem 增加控件
    Public Sub AddCharactor(ByVal n As Long)
    Dim RowNum As Long
    Dim Row As Long, Line As Long
    Load FrmWork.PicShow(n)
    Set FrmWork.PicShow(n).Container = FrmWork.PicCharacterContainer
    RowNum = Int(FrmWork.PicCharacterContainer.Width / FrmWork.PicShow(0).Width)  '一排容纳多少控件
    If n - 1 >= 0 Then
        Line = Int(n / RowNum) + 1               '控件所处行号
        Row = (n + 1) - (Line - 1) * RowNum '控件所处列号
        FrmWork.PicShow(n).Left = FrmWork.PicShow(0).Left + (Row - 1) * FrmWork.PicShow(n).Width
        FrmWork.PicShow(n).Top = FrmWork.PicShow(0).Top + (Line - 1) * (FrmWork.PicShow(n).Height + FrmWork.TxtShow(0).Height)
        FrmWork.PicShow(n).Visible = True
    End If
    End Sub
    Rem 增加文字控件
    Public Sub AddCharactorNotice(ByVal n As Long)
    Load FrmWork.TxtShow(n)
    Set FrmWork.TxtShow(n).Container = FrmWork.PicCharacterContainer
    If n - 1 >= 0 Then
        FrmWork.TxtShow(n).Left = FrmWork.PicShow(n).Left
        FrmWork.TxtShow(n).Top = FrmWork.PicShow(n).Top
        FrmWork.TxtShow(n).Visible = True
    End If
    End Sub
    Rem MaxNumber         最大数量
    Rem ControlBoxName 控件名称
    Rem From                     工作界面
    Rem ControlBox           控件:例子From.PicShow
    Public Sub PublicNewArrangeAdd(ByVal MaxNumber As Long, ByVal ControlBoxName As String, _
    ByRef From As Object, ByRef ControlBox As Object)
    Dim i As Long, l As Long, A As Variant, B As Variant
    For l = 1 To MaxNumber
        For i = 1 To MaxNumber
            If fChkControls(From, ControlBoxName, i) = True And fChkControls(From, ControlBoxName, i + l) = True Then
               If ControlBox(i).Left > ControlBox(i + l).Left Then
                If ControlBox(i).Top = ControlBox(i + l).Top Then '2021-6-2增加,作用是同行才交换位置
                A = ControlBox(i + l).Left
                B = ControlBox(i).Left
                ControlBox(i + l).Left = B
                ControlBox(i).Left = A
                End If
               End If
            End If
        Next i
    Next l
    End Sub
    Public Sub AlignBoxes()
    Dim i As Long
    On Error Resume Next '防止控件没有出错
    For i = 1 To S1GlngMaxCharactor
        FrmWork.TxtShow(i).Left = FrmWork.PicShow(i).Left
        FrmWork.TxtShow(i).Top = FrmWork.PicShow(i).Top + FrmWork.PicShow(i).Height
    Next i
    End Sub
    Private Sub PicShow_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 2 Then
        ChoiceRemove = Index
        CmdRemove
    End If
    If Button = 1 Then
        CmdAdd
    End If
    End Sub
    

     

    展开全文
  • VB学习记录——数组

    万次阅读 多人点赞 2019-07-06 13:05:49
    1.定义一个数组,其实就是让系统在内存分配一个连续的区域,用来存储数组的元素。其格式为:Dim 数组名字 (下界 To 上界) As 类型。 Dim MarkVB(1 To 30) As Integer '定义一个一维数组 上界30 下界是1 共30个...

    数组知识初步总结

    1.定义一个数组,其实就是让系统在内存中分配一个连续的区域,用来存储数组的元素。其格式为:Dim 数组名字  (下界 To 上界) As  类型。

    Dim MarkVB(1 To 30) As Integer '定义一个一维数组  上界30  下界是1  共30个元素。 也可以Dim MarkVB(29) As integer,此定义下表从0开始,元素也是30个。   加上Option Base 1  ,Dim MarkVB(30) As integer这个语句也是30个元素,下标从1开始。数组大小=上界-下界+1。

    2.动态数组 ,不能定义数组的维数和个数。Dim  Mark()  As Integer  使用的时候重新声明     redim Mark(n)即可。使用关键字Pereserve可以保存之前的数组内容。

    3. ReDim 语句的下标可以是常量,也可以是有确定值的变量,程序书写时可以多次使用ReDim来改变数组的大小,但是每次使用Redim语句都会造成数组之前数据的丢失,使用Preserve选项对数组进行重新说明时,将会保留数组中原来的数据,但是该参数只能改变最后一维的大小。

    4.数组输入函数 Array(),此函数只能对一维数组进行赋初值,并且这个数组必须为Variant变体型,不能声明数组的大小和类型。Dim  Mark() ,Mark=Array(1,2,3)  ,此时可以利用Ubound()函数确定数组的上界,比如Ubound(Mark)=2,利用For循环可以输出数组元素。

    5.Val()是一个类型转换函数 ,可以把字符串转换成相应的整数,Val("-3")=-3   VAL("vb5.0")=0  VAL("12 bC")=12  VAL与CSTR功能相反,CSTR将数值表达式的值换成字符串        CSTR(125)="125"

    6. 选择法排序

    思想:求取数组最值下标,并交换位置。

    步骤: 1. 每一轮在未排序的数组中,找出最值和第一个元素进行交换,这样就确定了一个元素的位置

                 2. 未排序的数组范围缩小一个,继续采取上述步骤进行新的排序

    注意一下  n个数据只要进行N-1轮排序即可  附上一个代码

     7.冒泡法排序

    思想:冒泡排序 每一次将相邻的两个数字进行比较,比如10个数字。每一次比较相邻的两个,让比较大的数值往下走,第一轮比较9次就可以将最大的数字排到最后面,10个数字需要进行9趟比较,第i趟比较的次数为10-i.

    注意点:冒泡排序是可以提前结束的,如果在某一趟的排序比较中,没有发现变量的下沉,那么说明数字已经是有序排列,则此时可以终结排序。设置一个标志变量 ,放在内循环中,用来检测排序是否完成 。程序如下

    8. 插入数据,在有序数组中插入一个数据

    基本思想:首先寻找插入的位置,其次将插入位置之后的元素一次向后移位 。  

    注意事项及代码 如下

    9.删除数据

    10. Asc()函数用来返回字符的ASCII码   并且只返回第一个字符  Asc("abc")  =97   

    Ucase()函数:UCase(string),返回 Variant(String)其中包含转成大写的字符串。必要的 string参数为任何有效的字符串表达式。如果 string 包含 Null,将返回Null。只有小写的字母会转成大写,原本大写或非字母之字符保持不变。例:Dim MyWord= UCase("Hello World")' 返回"HELLO WORLD"。

    展开全文
  • VB 删除数组中的重复元素

    千次阅读 2013-02-14 19:43:27
    VB 删除数组中的重复元素,当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。并且返回结果数组。以下这个函数只支持一维数组。 Function Array_unique(Arr As Variant) As Variant Arr = QuickSort...

    VB 删除数组中的重复元素,当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。并且返回结果数组。
    以下这个函数只支持一维数组。

    Function Array_unique(Arr As Variant) As Variant
        Arr = QuickSort(Arr)
        Dim k As Integer, i As Integer

        For i = 0 To UBound(Arr)
            If Arr(k) <> Arr(i) Then
                Arr(k + 1) = Arr(i)
                k = k + 1
            End If

        Next
        Dim NewArr() As Variant
        ReDim NewArr(k)
        For i = 0 To k
            NewArr(i) = Arr(i)
        Next

        Array_unique = NewArr
    End Function

    Function QuickSort(Arr)
        Dim i, j
        Dim bound, t
        bound = UBound(Arr)

        For i = 0 To bound - 1
            For j = i + 1 To bound
                If Arr(i) > Arr(j) Then
                    t = Arr(i)
                    Arr(i) = Arr(j)
                    Arr(j) = t
                End If
            Next
        Next
        QuickSort = Arr
    End Function

    Sub Test()
        s = Array_unique(Array(3, "新兴网络", 3, 3, 1, "新兴网络", 7, 3, 3, 3, 9, 3, 3))
        Debug.Print Join(s, "|")

    End Sub

    摘自:网络整理
     
       

    VB相关


    VB 释放资源文件到指定目录函数

    VB 读取资源文件里面的字符串

    VB中资源文件.res的使用方法详解

    VB6.0中创建和使用文本资源文件

    VB WindowsMediaPlayer 播放

    vbWindowsMediaPlayer的常用属性和方法

    VB Environ系统环境变量函数大全

    VB 去除文本框粘贴功能

    VB LISTBOX

    VB 删除数组中的重复元素

    VB数组快速排序算法

    关于三个概念:ActiveXOLECOM

    VB 获得磁盘的文件系统

    VB中用API实现文件拖放

    加密算法-MD5算法

    VB中使用MD5算法

    VB 全局热键HOOK (不占系统资源版本)

    VB 小技巧自定义TextBox文本框右键菜单

    VB 写下载者代码

    VB 一行代码的诀窍

    VBS教程-wscript对象

    vb枚举进程

    VB中如何让线程或进程在指定的CPU上运行

    VB判断指定的WORD文档是否被打开

    VB如何读取快捷方式的目标路径

    VBAPI控制输入法状态

    为系统加载右键注册控件选项【VB 注册控件】

    VB如何根据窗口标题获得进程名称

    VB快速查找大型文件中包含的字符串

    VB实现可执行文件运行时自删除

    VB 打开txt,bat,jpg 任意后缀程序

    VB 写文件关联程序

    VB 自启动建立右键菜单

    VB 判断IP能否ping

    VB FTP操作类(可上传、下载、创建文件夹等等)

    VB部分文件汇总B

    Vb 求素数最经典的方法也是最快的方法

    vb用数组方式快速导出MSFlexGrid表格数据到Excel表格中

    VBMsFlexGrid控件的使用细则

    点击MSFlexGrid数据控件的标题进行数据排序

    VB 获取鼠标坐标

    VBNEW的用法(申请内存空间)

    VB CreateObject函数

    VB中的New CreateObject的区别

    VB ListBox 添加不重复的值

    VB 单击ListView控件某列表头进行排序

    VB 简单实现简体与繁体互转

    VB 阿拉伯数字转换为中文大写数值函数

    VB 获取Textbox文本框中的行数函数


    更多精彩>>>
    展开全文
  • VB081-字体设置下划线 源代码
  • 运行效果: ...程序代码: Dim a() Private Sub Form_Load() ReDim Preserve a(1 To 5) For i = 1 To 5 a(i) = i Next i For i = 1 To 5 Text1.Text = Text1.Text & "a(" & i &am...
  • VB语言怎么将数组中指定位置的数据往前移动到最后一个不为0处?具体代码编程的方式?
  • 掌握了本篇知识之后,简历上就可以多加条个人技能了:熟悉 Java/Android 常见的集合源码,包括 List、Set、Map、Queue/Deque 等....下面就是正文了,欢迎讨论~:前言起初想看集合源码是因为,次偶然的机会,...
  • VB-数组、集合、泛型

    2019-06-24 16:09:59
    最开始用内存中一个位置映射一个值,用变量来“使用”这个值。 进一步发展,用变量来引用一组值,这就是数组。由数组概念,发展出链表、堆、栈,进行排序、检索等。 但这并不能完全表达,由此发展出集合概念,它是...
  • VB讲课笔记08:数组

    千次阅读 2018-03-12 18:01:30
    VB讲课笔记08:数组学习目标:理解数组的概念、掌握数组的声明、引用方法,掌握数组的使用以及与数组有关的常用算法;...1、数组数组元素将一组排列有序的、个有限的变量作为一个整体,用一个...
  • 运行效果: ...'-------------这段代码额外加上的小测试可以忽略---------- '---------------用API来关闭正在运行运行的程序--------------- Private Declare Function FindWindow Lib "user3...
  • VB数组详解

    2019-09-27 20:33:05
    这些变量称为数组的元素,每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数有时也称之为数组的长度。一般情况下,数组的元素类型必须相同,可以是前面讲过的各种基本...
  • 数据结构实际上和算法关系很密切,很多算法的实现都配合数据结构来实现的,但是这不是这次内容,本次仅仅讲述各种数据结构的使用,至于实现,篇文章根本不够讲。 栈的使用 栈在vb.net中用stack类封装,里面还有...
  • 给定一个排序数组,在原数组中删除”重复出现的数字,使得每个元素只出现一次,并且返回“新”数组的长度。 不要使用额外的数组空间,必须在不使用额外空间的条件下原地完成。 输入: [1,1,2] 输出: 2 解释: ...
  • 用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存清除…… Java Socket 聊天通信演示代码 2个目标文件...
  • <p><img alt="" height...将文本文档内容按行存入数组infostr2,如果第行是空行,就删除它 高亮部分提示infostr2(0)下标越界,请问是哪里出了问题?应该怎么改?</p>
  • 代码搞定数组去重:  NSArray *oldArr = @[@"1",@"4",@"2",@"2",@"1"];  NSArray *newArr = [oldArr valueForKeyPath:@"@distinctUnionOfObjects....
  • 代码如下:For Each r As DataGridViewRow In DataGridView1.... 您可能感兴趣的文章:VB.NET进度条的方法代码VB.NETCaching的使用方法vb.net 数组参与SQL语句的查询范例VB.net读取Word文档属性的方法asp.net 验证码
  • VBA 如何删除数组里的某个元素

    千次阅读 2019-12-20 15:17:50
    代码1: Sub charlsezhang1() arr1 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) arr2 = [{1,3,5,7,9}] ...'想得到一个减去的数组 For Each i In arr1 For Each j In arr2 If i = j Then arr1(i) = "" ...
  • VB.net学习笔记(十九)数组、集合、泛型

    万次阅读 多人点赞 2013-09-15 17:15:53
     优点:定位查找一个值,插入、删除一个映像的效率最高。 3、SortedList 排序列表  hashtable是没有排序的,所以新增元素会比较快。而SortedList 存储的键值对,是按key进行排序了的, ...
  • 怎样从数组中删除某个值?

    千次阅读 2014-04-21 21:02:13
    怎样从一个Perl数组中删除某个值? 我不确定undef是否和从数组中消除值有确切的关系,猜测一下,如果我们将undef视为"空",那么会有一些联系。但通常来说,将某些东西赋值为undef和删除某些东西是不一样的。 ...
  • java删除数组中重复元素

    千次阅读 2017-04-19 23:07:05
    从第一个遍历,查看前面是否有重复的,有就删除  0  0 dy110936 10-08 17:30 等级 10楼 引用 6 楼 soli11722984 的回复: 都這麽複...
  • VB数组快速排序算法

    千次阅读 2013-02-14 19:43:23
    VB数组排序模块,使用的是快速排序法,支持 Variant、Double、Long、String……等多种数据类型数组排序。 Option Explicit Private Sub QuicksortInt(list() As Integer, ByVal min As Integer, ByVal max As ...
  • 删除个数组有相同的元素

    千次阅读 2019-01-02 08:00:35
    1.var arr1 = [ { id:1, value:'值', }, { id:2, value:'值二', }, { id:3, value:'值四', ...
  •  #include #include ... int a[16]= {13,45,89,... printf("删除所有能被3整除的后,剩余的是:\n");  for(i=0; i; ++i)  printf("%d\t",a[i]);  printf("\n");  return 0; }
  • VB.Net创建使用控件数组

    千次阅读 2009-02-09 11:02:00
    首先创建一个Button类型控件数组: 1、创建“Windows应用程序”类型的工程,添加名为ButtonArray的类,并使该类继承 System.Collection.CollectionBase 类。System.Collections.CollectionBase类是.NET框架类库中为...
  • http://210.27.228.219/ComputerManage/PhyItem/phytwo.htm 大学计算机实验 (VB语言) http://www.cnblogs.com/xiaoqun/ VB.NET入门 写复杂点
  • [color=red]判断Check复选框是否被选中[/color] Check1.Value为1是选中,为0是没选中 ...[color=red]删除数组中一个值[/color] 比如数组xh有10个值,现删除第5个值 [code="c"]Di...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,900
精华内容 4,360
关键字:

vb中删除数组一个数的代码