Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - luis456

#391
Hola gente cada ves que modifico algo mmm se me presentan nuevos problemas jeje

ahora uso solo un array donde junto todos los resultados de la suma,pero ahora mi problema es :

Mostrar en este listbox lineas horizontales de cuatro numeros ordenados de mayor a menor
el array me da estos números
10 20 30 40 50 60 70 80
y quiero mostrarlos  asi
80 70 60 50
40 30 20 10

aunque pruebo con lo que me explico Elektro en propiedades de los lisbox colunWich multicolum etc no logro hacer esto.

lo envio al listbox de esta forma


ListBox1.Items.AddRange(Result22.Cast(Of Object).ToArray)


:)
Luis




Mejor pongo la Funcion


Dim Rand2 As New Random
       ' Concateno, y...
       ' Elimino duplicados, y...
       ' Selecciono los números inferiores a MAX, y...
       ' Convierto los números mayores a MAX a números aleatorios entre 0 y MAX.
       Dim Result22 As IEnumerable(Of Integer) =
           (Result1.Concat(Result2).Concat(Result3)).
           Distinct.
           Select(Function(Value As Integer)
                      Return If(Value < MAX, Value, Rand.Next(0, MAX))
                  End Function)

       ' Result = 1, RANDOM, 2, 3, 4, 5, RANDOM, 6, 7, 8, 9, 10, 99
       ListBox1.Items.AddRange(Result22.Cast(Of Object).ToArray)





[MOD]: No hagas doble post, utiliza el botón 'Modificar'.

#392
Cita de: Eleкtro en 15 Enero 2014, 18:19 PM
¿ Que te dije de usar LINQ ?

¿algo como esto te sirve?:
Código (vbnet) [Seleccionar]
Public Class Form1

   ReadOnly MAX As Integer = 100

   Public Sub Test() Handles MyBase.Shown

       Dim Rand As New Random

       Dim result1 As Integer() = {1, 100, 2, 3, 4}
       Dim result2 As Integer() = {5, 500, 6, 6, 4}
       Dim result3 As Integer() = {7, 8, 9, 10, 99}

       ' Concateno, y...
       ' Elimino duplicados, y...
       ' Selecciono los números inferiores a MAX, y...
       ' Convierto los números mayores a MAX a números aleatorios entre 0 y MAX.
       Dim Result As IEnumerable(Of Integer) =
           (result1.Concat(result2).Concat(result3)).
           Distinct.
           Select(Function(Value As Integer)
                      Return If(Value < MAX, Value, Rand.Next(0, MAX))
                  End Function)

       ' Result = 1, RANDOM, 2, 3, 4, 5, RANDOM, 6, 7, 8, 9, 10, 99
       ListBox1.Items.AddRange(Result.Cast(Of Object).ToArray)

   End Sub

End Class


Saludos!


Gracias como siempre elektro :)


lo estoy probando y me da este error en


ListBox1.Items.AddRange(Result.Cast(Of Object).ToArray)

No se puede modificar la colección Items cuando está establecida la propiedad DataSource. ?????????????????

SOLUCIONADO CUESTION DE HERENCIA :)

Luis


SOLUCIONADO CUESTION DE HERENCIA :)
#393
Quiero hacer un bucle que mire los objetos del array uno a uno y si se pase del rango lo elimine pero que sobreescriva con algun numero dentro del rango 00 /99
en ese espacio y asi consecutivamente ( siempre numerico)

este codigo lo encontre trasteando aca mismo :)pero no logro hacer que funcione que hago mal ?


Código (VB.NET) [Seleccionar]

Dim Result3 as integer

Dim i, j As Integer 'Contadores

       For i = 1 To "cantidad de objetos en el array"
           If Result3(i) = 99 Then
               For j = 1 To "objetos array - i"
                   If not (i+1) > 12 (i) = Result3(i+1) else: Result3(i) = ""
                   End If
               Next j
           End If

       Next i


ListBox3.Items.Add(CStr(Result3(X)))



Saludos
Luis

[MOD]Para la próxima inserta correctamente las etiquetas de código.
#394
Cita de: Eleкtro en 14 Enero 2014, 14:43 PM
Creo que esto es lo que intentas hacer...

Código (vbnet) [Seleccionar]
   ReadOnly MAX As Integer = 99

   Public Sub Test() Handles MyBase.Shown

       Dim result1 As Integer() = {1, 100, 2, 3, 4}
       Dim result2 As Integer() = {5, 500, 6, 6, 4}
       Dim result3 As Integer() = {7, 8, 9, 10, 99}

       ' Elimino duplicados al mismo tiempo que selecciono los números inferiores a MAX.
       Dim Result As IEnumerable(Of Integer) =
           (
               From Value As Integer
               In (result1.Concat(result2).Concat(result3)).Distinct
               Where Value <= MAX
           )

       ListBox1.Items.AddRange(Result.Cast(Of Object).ToArray)

   End Sub


Saludos


;-)  ;-)  ;-)  ;-)

Perfecto Eleкtro

justo y preciso :)

ya sabes cualquier problema con el coche me avisas

Luis

#395
Cita de: Eleкtro en 14 Enero 2014, 13:42 PM
No me ha quedado claro el poblema, en la variable resut7 declaras el array numérico, y en la otra variable (Result) ya "filtras" con LINQ, ¿Cual es el problema?.

PD: Lo importante si que lo entendí, no es necesario 4 o 5 variables para llevar a cabo una operación de ese tipo, símplemente odio ver ese tipo de cosas.

Saludos!

El problema es que no logro mostar en el lisbotbox los resultados de las dos funciones juntas  osea la " Distinct y la del rango "

luis


 
#396
Bueno como pasa en programacion jejej el que entiende su chapuza no se sabe explicar :)

tengo tres arrays con resultados independientes de la suma pero cuando quiero unirlos en el lisbot

primero repetían ya lo solucione con :

Dim Results7s As Integer() = Result1.Concat(Result2).Concat(Result3).Distinct.ToArray

ahora quiero que estos resultados ya filtrados en resut7 pasen por otro filtro que seria el del rango 99

Where Value <= Max).ToArray


Luis






#397
Bueno explico un poco mejor :)

como hago para unir estas dos funciones en una sola variable o array he probado y probado y no logro hacerlo, ya que me da el tipico error de que ya esta declarada
el array " Results7s "



Dim Results7s As Integer() = Result1.Concat(Result2).Concat(Result3).Distinct.ToArray <---esto lo muestro en un lisbotx



Dim Result As Integer() =(From Value In (result1.Concat(result2).Concat(result3)) Where Value <= Max).ToArray



Luis
#398
Me imagino que para poder usarlo deberia de crear otro array para poder usar estas dos funciones ?


Dim Resu As Integer() = Result1.Concat(Result2).Concat(Result3).Distinct.ToArray
        (From Value In (Result1.Concat(Result2).Concat(Result3)) Where Value <= Max).ToArray


luis
#399
Cita de: Eleкtro en 13 Enero 2014, 22:03 PM
¿Te refieres a descartar números que séan mayores de 99?

@Luis456, te sugiero que aprendas a usar LINQ ...será tu mejor aliado (por su sencillez, no por rendimiento) :):

Código (vbnet) [Seleccionar]

Dim Max As Integer = 99

Dim arr1 As Integer() = {100, 2, 3}
Dim arr2 As Integer() = {4, 500, 6}
Dim arr3 As Integer() = {7, 8, 999}

Dim Result As Integer() =
(From Value In (arr1.Concat(arr2).Concat(arr3)) Where Value <= Max).ToArray

MsgBox(String.Join(", ", Result)) ' Result = {2, 3, 4, 6, 7, 8}


Saludos





Si elektro y te agradezco la ayuda ya me llamo la atencion LINQ Y me estoy bajando todo cuanto pueda

Luis

Posdata: si me baje todo lo que me pusiste :)

#400
.NET (C#, VB.NET, ASP) / Condicionar arrays
13 Enero 2014, 21:25 PM
Se puede condicionar que los resultados de este array pasen de x numeros ? ya lo tengo resuelto para los texboxes pero ahora quiero trabajar directamente con los array me parece que seria mas fácil para después mostrar los resultados

Código (vbnet) [Seleccionar]
Dim maximum As Short = 99

Dim Results7s As Integer() = Result1.Concat(Result2).Distinct.ToArray



Luis