标题:求助 如何将不同文本框内的数据不重复的按大下排到一个新框内?
只看楼主
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
得分:0 
SetFocus就是把当前焦点给某个对象,比如Me.SetFocus,则当前窗体或者焦点,也就是他是激活窗体,Text1.SetFocus,则Text1获得焦点,这时候输入的内容将显示在Text1中。但不知如何用在这个程序中;
将8楼的代码改了后:(没通过)
Private Sub Command1_Click()
Text1.Text = ""
K = 0
For I = 0 To 4
    If Text1(I).Text <> "" Then '原来的:If Check1(I).Value <> 0 Then
        K = K + 1
        AA(K) = Text1(I).Text  '原来的:AA(K) = Check1(I).Caption
    End If
     If Text2(I).Text <> "" Then  'If Check2(I).Value <> 0 Then
        K = K + 1
        AA(K) = Text2(I).Text  'AA(K) = Check2(I).Caption
    End If
Next I
For I = 0 To 3
    If Text3(I).Text <> "" Then    'If Check3(I).Value <> 0 Then
        K = K + 1
        AA(K) = Text3(I).Text  'AA(K) = Check3(I).Caption
    End If
    If Text4(I).Text <> "" Then   'If Check4(I).Value <> 0 Then
        K = K + 1
       AA(K) = Text4(I).Text   ' AA(K) = Check4(I).Caption
    End If
    If Text5(I).Text <> "" Then 'If Check5(I).Value <> 0 Then
        K = K + 1
        AA(K) = Text5(I).Text   '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-2-22 13:55编辑过]

2018-02-22 13:22
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
得分:0 
网上找到一个办法;更直接
Private Sub Command1_Click()
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)  '将三个文本框的数值赋给3个变量
d = Val(Text4.Text)  '将四个文本框的数值赋给4个变量
e = Val(Text5.Text)  '将五 个文本框的数值赋给5个变量
If a > b Then
s = b
b = a
a = s
End If    '将a,b进行大小排列,s为中间变量,排序之后a<=b
If b > c Then
t = c
c = b
b = t
End If   '将b,c进行大小排序,t为中间变量,排序之后b<=c
If c > d Then
x = d
d = c
c = x
End If   '将b,c进行大小排序,t为中间变量,排序之后c<=d
If d > e Then
z = e
e = d
d = z
End If   '将b,c进行大小排序,t为中间变量,排序之后d<=e
Text1.Text = Str(a)
Text2.Text = Str(b)
Text3.Text = Str(c)
Text4.Text = Str(d)
Text5.Text = Str(e) '将结果输入到文本框中,文本框1,2,3,数值依次从小到大排列
End Sub
2018-02-22 14:59
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
得分:0 
本帖的最终方案:方框内的数据采用上面的对比法代码 +自动点击“排序”钮,实现《文本框数据自动排序》(试制中做到30个框,实际上框数应该是不受限的)
一、用上面的对比法模式排序;(仅有此法,要多次点击“排序”,才能实现从小到大的排序,加下面一条就实现“自动排序”)
二、在窗体上加上时间控制器,将属性Interval设置为“5”,再在定时器时间进程中加一条指令(见下图)
在运行中由程序加入到文本框内的数据将立即完成“从小到大的自动排序”。省去了人工点击“排序”钮。


2018-02-23 13:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484652-1-1.html




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

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