elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ordenar de menor a mayor una serie de números en Texbox y evitar repetidos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ordenar de menor a mayor una serie de números en Texbox y evitar repetidos  (Leído 3,731 veces)
luis456


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Ordenar de menor a mayor una serie de números en Texbox y evitar repetidos
« en: 6 Octubre 2013, 15:20 pm »

Como podría ordenar de menor a mayor en este bloque de texbox ,ya que mando directo los datos ? se podría hacer con variables sin tener que usar matrices ?
y que no se repitan los números en los texbox y que si hay un repetido me lo supla con otro numero dentro de un rango de números ya establecido.

Pd: los números son aleatorios y no gobierno los resultados enviados a los texbox

Código:
TextBox27.Text = r5
        TextBox28.Text = r5
        TextBox29.Text = r5
        TextBox30.Text = r5



Luis


En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.700



Ver Perfil
Re: Ordenar de menor a mayor una serie de números en Texbox y evitar repetidos
« Respuesta #1 en: 6 Octubre 2013, 17:25 pm »

En lugar de asignar diréctamente interactuando con las propiedades del Textbox, almacena los números en un tipo de colección, un array, o una lista, o una lista ordenada (SortedList), o lo que prefieras, y ordenas los elementos del objeto.

Código
  1. Private NumbersArray() As Int32
  2. Array.Sort(NumbersArray)

Código
  1. Private NumbersList As New List(Of Int32)
  2. NumbersList.Sort()

Código
  1. Private list As New SortedList

PD: La variable r5 no dices de que tipo es, aunque me imagino que es un entero, no somos magos, si especificas con más detalles lo que necesitas recibirás mejor ayuda, tienes alrededor de 30 textboxes y no se si los quieres ordenar para que aparezca cada número (un solo número) en cada textbox o que es lo que quieres hacer, muestra parte del código, detalles, información, imágenes.

EDITO: Eliminar duplicados de una colección también es facil (más usando Linq):

Código
  1. #Region " Remove Array Duplicates "
  2.  
  3.    ' Remove Array Duplicates
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' Dim myarray(3) As String : myarray(0) = "a" : myarray(1) = "a" : myarray(2) = "b" : myarray(3) = "b"
  10.    ' For Each item In Remove_Array_Duplicates(myarray) : MsgBox(item) : Next
  11.  
  12.    Private Function Remove_Array_Duplicates(ByVal Myarray() As String) As String()
  13.        Return Myarray.Cast(Of String).Distinct().ToArray
  14.    End Function
  15.  
  16. #End Region

Código
  1. #Region " Remove List Duplicates "
  2.  
  3.    ' Remove List Duplicates
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' Dim list As New List(Of String) From {"a", "a", "b", "b", "c", "c"}
  10.    ' For Each item In Remove_List_Duplicates(list) : MsgBox(item) : Next
  11.  
  12.    Private Function Remove_List_Duplicates(ByVal list As List(Of String)) As List(Of String)
  13.        Return list.Cast(Of String).Distinct().ToList
  14.    End Function
  15.  
  16. #End Region

Saludos!


« Última modificación: 6 Octubre 2013, 17:30 pm por EleKtro H@cker » En línea


luis456


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Ordenar de menor a mayor una serie de números en Texbox y evitar repetidos
« Respuesta #2 en: 8 Octubre 2013, 05:35 am »

Bien os pongo el codigo o la birria :)

tengo dos texbox numericos (r1 y r2)  donde introdusco dos digitos y hago una suma y los reflejo en los texbox 3, 4, 5 y 6 segun los numeros que le introduscas ( Rango desde el 01 al 99 ) estos deberian ir de menor a mayor. y evitar los repetidos ya que al conseguir repetidos reenplazar por cualquier numero comprendido en el rango ( disculpen pero aprendi a programar cuando habia que escribir mucho codigo jjje)

Bien seria mas o menos la mecanica:

en texbox1 pongo el numero 20 y en el texbox2 pongo el 40 y esto me daria este resultado:


texbox1 introdusco el 20

20+15= 35 esto se muestra en el texbox3
20+25= 45 esto se muestra en el texbox4

texbox2 introdusco el 40

40+30= 70 esto se muestra en el texbox5
40+20= 60 esto se muestra en el texbox4 <--aca es que se deberia ver el 70

los texbox se muestran de esta manera

texbox3 y texbox4
texbox5 y texbox6


Código:
  Public Class Form1
    Dim Sep As Char
    Dim Número As Double
    Dim r1, r2 As Integer

    Public Sub solonumeros(ByRef e As System.Windows.Forms.KeyPressEventArgs)

        If Char.IsDigit(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If

    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        r1 = Val(TextBox1.Text)
        TextBox3.Text = r1 + 15
        TextBox4.Text = r1 + 25
       
       
        r2 = Val(TextBox2.Text)
        TextBox5.Text = r2 + 30
        TextBox6.Text = r2 + 20
 End Sub


End Class


Pregunta : habra alguna forma mas facil de hacerlo jejejje ? o mostrar el resultado en un lisbox ya acomodado

Luis


En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.700



Ver Perfil
Re: Ordenar de menor a mayor una serie de números en Texbox y evitar repetidos
« Respuesta #3 en: 9 Octubre 2013, 18:12 pm »



Código
  1. Public Class Form1
  2.  
  3.    Private TextBoxes As TextBox() = {Nothing}
  4.  
  5.    Private Result1 As Int32(), Result2 As Int32()
  6.  
  7.    ReadOnly Property Num1 As Int32
  8.        Get
  9.            Return CInt(TextBox1.Text)
  10.        End Get
  11.    End Property
  12.  
  13.    ReadOnly Property Num2 As Int32
  14.        Get
  15.            Return CInt(TextBox2.Text)
  16.        End Get
  17.    End Property
  18.  
  19.    Private Sub Sumar(sender As Object, e As EventArgs) _
  20.    Handles Button_Sum.Click
  21.  
  22.        Dim TextBoxCount As Short = -1
  23.  
  24.        TextBoxes = {TextBox3, TextBox4, TextBox5, TextBox6}
  25.  
  26.        Result1 = {Num1 + 15, Num1 + 25} _
  27.                  .Distinct().ToArray ' Elimino duplicados
  28.  
  29.        Result2 = {Num2 + 30, Num2 + 20} _
  30.                  .Distinct().ToArray ' Elimino duplicados
  31.  
  32.        Array.Sort(Result1) : Array.Sort(Result2) ' Ordeno los Items
  33.  
  34.        For Each Number As Int32 In Result1
  35.            TextBoxCount += 1
  36.            TextBoxes(TextBoxCount).Text = Number
  37.        Next
  38.  
  39.        For Each Number As Int32 In Result2
  40.            TextBoxCount += 1
  41.            TextBoxes(TextBoxCount).Text = Number
  42.        Next
  43.  
  44.    End Sub
  45.  
  46. End Class

Adáptalo a tus necesidades.

PD: Porfavor te lo he comentado mil veces, deberías dejar de utilizar métodos de VB6 (Val), no estás en el obsoleto VB6, estás en VB.NET, pero bueno, que cada uno programe como desee!

Saludos!
« Última modificación: 9 Octubre 2013, 18:17 pm por EleKtro H@cker » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programa en vb (ordenar de mayor a menor)
Programación Visual Basic
jjam45 1 8,628 Último mensaje 19 Febrero 2006, 18:36 pm
por jjam45
Ordenar número de mayor a menor « 1 2 »
Programación Visual Basic
Nessito 14 14,020 Último mensaje 19 Mayo 2007, 20:09 pm
por Nessito
ordenar de mayor a menor 5 numeros ingresados x el teclado!!!
ASM
XxArCaNgElxX 0 16,980 Último mensaje 20 Mayo 2011, 21:19 pm
por XxArCaNgElxX
Ordenar 5 números de menor a mayor e imprimir los números impares
Programación C/C++
ERIK546 6 23,092 Último mensaje 23 Junio 2012, 00:36 am
por ERIK546
ordenar columnas de numeros de mayor a menor de jtable
Java
soy_nicanor 3 3,076 Último mensaje 12 Febrero 2017, 02:14 am
por soy_nicanor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines