| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2707 人关注过本帖
标题:求助 如何将不同文本框内的数据不重复的按大下排到一个新框内?
只看楼主 加入收藏
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
结帖率:94.12%
收藏
已结贴  问题点数:20 回复次数:12 
求助 如何将不同文本框内的数据不重复的按大下排到一个新框内?
求助 如何将不同文本框内的数据不重复的按大下排到一个新框内?见图;
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 不同 文本框 数据 不重复 
2018-02-07 11:46
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:7 
具体程序不写了,写个思路:
1、建立2个数组,一个保存不同文本框内容、一个保存不重复的文本框内容【数组可以同样大小】
2、文本框内容赋值到数组1【也可以直接用文本框的数值】
3、做一个排重函数,把不同的数据放到数组2,并返回数组元素个数
4、做一个排序函数,参数可以有需要排序数组、升序/降序、文本排序/数字排序,方便同类调用,也可以只有需要排序数组

2018-02-07 13:59
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:7 
这个很简单,全部放在一个数组中,然后用冒泡法进行排序。输出的时候,看是否与前一个数相同,不同就输出。
这样就不用管是否重复,如果重复,输出的是相同的几个数中第一个,其他几个不不输出。 所有的操作一个数组就搞定,只是增加了一个判断语句而已。
2018-02-07 14:10
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
这样可以吗?
冒泡法排序(递增)
算法思想:(将相邻两个数比较,大的调到后头)
1)有n+1个数(存放在数组a(n)中),第一趟将每相邻两个数比较,大的调到后头,经n次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”;
2)第二趟对余下的n个数(最大的数已“沉底”)按上法比较,经n-1次两两相邻比较后得次大的数;
3)依次类推,n+1个数共进行n趟比较。
For i=0 To n - 1
For j = 0 To n-1-i
If a(j) > a(j+1) Then
temp=a(j)
a(j)=a(j+1)
a(j+1)=temp
End if
Next j
Next i
2018-02-07 18:59
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
实例初初稿;(这样会有问题吗?)
下面的是从小到大排序的,从大到小只需改一个“>”号,看下面的注释,整个过程不变的.
Private Sub Command1_Click()
Dim x(1 To 5) As Double, i%, j%, t
x(1) = 123
x(2) = 321
x(3) = 65
x(4) = 234
x(5) = 333
For i = 1 To 5 - 1 '有5个数要排序,需要进行5-1=4次两两比较
For j = 5 To i + 1 Step -1 '从末尾一个元素到第i个元素进行两两比较
If x(j) < x(j - 1) Then '从小到大排序,若需要从大到小排序,将“”
'若次序不对,则马上交换位置
t = x(j)
x(j) = x(j - 1)
x(j - 1) = t
End If
Next j '除了内循环,一轮排序结束,最小(或最大)数已经冒到数组第一位
Next i
End Sub
2018-02-07 19:05
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
Text19 = Str$(Val(Text2) + Text6)
Text20 = Str$(Val(Text2) + Text4)
Text21 = Str$(Val(Text2) + Text25)
Text22 = Str$(Val(Text4) + Text6)
Text23 = Str$(Val(Text4) + Text25)
文字框数据按上试计算,请问可以直接将“Text19”放到程序中吗?
x(1) = 123
x(2) = 321
x(3) = 65
x(4) = 234
x(5) = 333
换成:
x(1) = Text19
x(2) = Text20
x(3) = Text21
x(4) = Text22
x(5) = Text23
如果不 行,又如何将文字框中的数据放到冒泡法的程序中呢?
希望能有个最简单的 方法。

[此贴子已经被作者于2018-2-7 19:43编辑过]

2018-02-07 19:14
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
这个程序解答可能费点精力,但还盼能解决。目前先用手工排序;一旦能自动排序了就来结帖;
图片附件: 游客没有浏览图片的权限,请 登录注册


2018-02-09 22:50
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:7 
图片附件: 游客没有浏览图片的权限,请 登录注册

很简单的。
程序代码:
Private Sub Command1_Click()
Text1.Text = ""
K = 0
For I = 0 To 4
    If Check1(I).Value <> 0 Then
        K = K + 1
        AA(K) = Check1(I).Caption
    End If
    If Check2(I).Value <> 0 Then
        K = K + 1
        AA(K) = Check2(I).Caption
    End If
Next I
For I = 0 To 3
    If Check3(I).Value <> 0 Then
        K = K + 1
        AA(K) = Check3(I).Caption
    End If
    If Check4(I).Value <> 0 Then
        K = K + 1
        AA(K) = Check4(I).Caption
    End If
    If Check5(I).Value <> 0 Then
        K = K + 1
        AA(K) = Check5(I).Caption
    End If
Next I
Dim SSA As String
For I = 1 To K - 1
    For J = I + 1 To K
        If AA(I) > AA(J) Then
            SSA = AA(I)
            AA(I) = AA(J)
            AA(J) = SSA
        End If
    Next J
Next I
For I = 1 To K
    If I < K Then
    Text1.Text = Text1.Text & AA(I) & " - "
    Else
    Text1.Text = Text1.Text & AA(I)
    End If
Next I
End Sub

请不要选我!!!
2018-02-11 15:55
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
谢谢ZHRXJR版主的详细回复,本人希望对文本框内的数字进行排序,如下图;
将上面的Check1(I).Value直接改为Text11.SetFocus通不过
请问要如何改写?
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2018-2-14 09:53编辑过]

2018-02-14 09:51
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
程序代码:
For I = 0 To 6
    If Check1(I).Value <> 0 Then
        K = K + 1
        AA(K) = Check1(I).Caption
    End If
    If Check2(I).Value <> 0 Then
        K = K + 1
        AA(K) = Check2(I).Caption
    End If
Next I
          '修改为
For I = 0 To 6
    If Text1(I).Text <> "" Then
        K = K + 1
        AA(K) = Text1(I).Text
    End If
Next I

基本的东西应该搞清楚,SetFocus是什么你知道吗?

[此贴子已经被作者于2018-2-16 15:00编辑过]


请不要选我!!!
2018-02-16 14:58
快速回复:求助 如何将不同文本框内的数据不重复的按大下排到一个新框内?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017697 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved