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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... 55
191  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta Re tonta :( no mostra ceros en listbox en: 2 Abril 2015, 05:29 am
Código
  1. Me.ListBox7.Items.AddRange((From value As Integer In li Where value <> 0).Cast(Of Object).ToArray)

Saludos

Perfecto ;)

Gracias Elektro

Luis
192  Programación / .NET (C#, VB.NET, ASP) / Pregunta Re tonta :( no mostra ceros en listbox en: 1 Abril 2015, 18:56 pm
En serio :)  o yo no se buscar o esto no existe

envio a un listbox una serie de datos numericos y los muestro en un listbox y a al principio y segun los calculos estos muestran algunos ceros ( bueno yo diria que bastantes jejej )  :silbar:  y lo que quiero no es eliminar los ceros, pero si que no se vean  y que solo el listbox muestre numeros pero no el cero ( cuestion de estetica )

Código
  1. Dim se As IEnumerable(Of Integer) = Resultss
  2.        Dim li As List(Of Integer) = se
  3.        li.Sort()
  4.        Me.ListBox7.Items.AddRange(li.Cast(Of Object).ToArray)
193  Programación / .NET (C#, VB.NET, ASP) / Re: Otra mision con variables en: 1 Abril 2015, 16:01 pm
Hola

si Funciona con el codigo de rellenar con ceros :)

Gracias Profe :)

Luis
194  Programación / .NET (C#, VB.NET, ASP) / Re: Otra mision con variables en: 1 Abril 2015, 08:25 am
Hola
bueno con la funcion que me pasaste. No queda tan mal, ya que modificando ciertas cosas en mi funcion puedo hacer que no salgan los ceros :) esto funciona bien

Código
  1. If values.Count < 35 Then
  2.            values = values.Concat(Enumerable.Repeat(Of Integer)(0, (35 - values.Count)))
  3.        End If
  4.  
  5.        MsgBox(values.Count) '35  

Lo de usar las dos variables es para poder hacer mas calculos, ya que entre los dos resultados no importa la cantidad de cada uno, sino los calculos y como unas veces una de las variables no llega a 35 produce el error, pero no se determinar cuando es que esas variables llegan o no al minimo de los 35 y solo me queda con este codigo de arriba trabajar con una sola variable pero se me ocurre que podre trabajar con las dos con el mismo codigo lo unico que tendre que aumentar el area del form jejeje


Otra cosa con la modificacion que hiciste de la funcion hay alguna pega ya que me da error en " SplitIntoParts no esta declarado " lo busco pero no veo el porque, a si que volvi a poner al otro pedazo de codigo y funciona ???

Código
  1. Dim splits As IEnumerable(Of IEnumerable(Of Integer)) =
  2.            SplitIntoParts(collection:=values, amount:=2, fillEmpty:=True)


modificacion

Código
  1. Public Shared Function SplitIntoParts(Of T)(ByVal collection As IEnumerable(Of T),
  2.                                                ByVal amount As Integer,
  3.                                                ByVal fillEmpty As Boolean) As IEnumerable(Of IEnumerable(Of T))
  4.  
  5.        Return From index As Integer In Enumerable.Range(0, CInt(Math.Ceiling(collection.Count() / amount)))
  6.               Select If(Not fillEmpty,
  7.                         collection.Skip(index * amount).Take(amount),
  8.                         If((collection.Count() - (index * amount)) >= amount,
  9.                            collection.Skip(index * amount).Take(amount),
  10.                            collection.Skip(index * amount).Take(amount).
  11.                                                            Concat(From i As Integer
  12.                                                                   In Enumerable.Range(0, amount - (collection.Count() - (index * amount)))
  13.                                                                   Select DirectCast(Nothing, T))))
  14.    End Function  


Hoy trabajare en esto y tratere de hacerlo funcionar con:



Código
  1. If values.Count < 35 Then
  2.            values = values.Concat(Enumerable.Repeat(Of Integer)(0, (35 - values.Count)))
  3.        End If
  4.  
  5.        MsgBox(values.Count) '35  



Ya te contare :)

Gracias

Luis


195  Programación / .NET (C#, VB.NET, ASP) / Re: Otra mision con variables en: 31 Marzo 2015, 19:27 pm
El requisito de que sean 35 elementos no se por que es, pero si el problema es que quieres evitar el error de valor nulo, y suponiendo que no te importe evitar dicho error rellenando los elmentos restantes de la secuencia con ceros hasta llegar a los 35 elementos, entonces puedes hacer simplemente eso, rellenar (bueno, concatenar la secuencia con una secuencia de ceros):

Código
  1. If values.Count < 35 Then
  2.    values = values.Concat(Enumerable.Repeat(Of Integer)(Nothing, (35 - values.Count)))
  3. End If
  4.  
  5. MsgBox(values.Count) ' 35

¿eso te sirve para lo que quieres hacer?

Saludos.


Pense en eso una ves pero aparte de " Feo "  y no importa que sea para mi jejej, me gusta mucho la idea de poder usar las dos variables ya que mejora sustancialmente el poder de calculo de mi code

Lo de los 35 numeros es el minimo para que (splits(15) tenga numeros para evitar el error , ya que mi idea es seguir aumentando los splits pero modificando la rutina y las variables y estoy parado en este punto y mira que me horas he vistando la pagina " FAMOSA " donde esta todo lo de linq: jejeje

alguna idea ?   Profe 
Luis


196  Programación / .NET (C#, VB.NET, ASP) / Re: Otra mision con variables en: 31 Marzo 2015, 18:43 pm
Bien te paso el code con el problema fijate que con  " Values " no llega la cantidad para hacer funcionar el " splits(15) " ya que  " values " no llega a 35 numeros y me sale lo del error ese de que hablamos en el otro post. " null " y se me ocurrio esta idea que me parece perfecta para mi code jejej

Pero si vamos a "values2" veras que si tiene mas de 35 numeros con lo cual no da problemas el  " splits(15) "  y tu diras aja y porque no usamos solo values2 ? porque son dos variables que vienen de una funcion  y una ves "values " tiene mas que la otra y otras values2 se invierten las cantidades  y esto varia segun los calculos que hago.


Código
  1. Public Class Form1
  2.    ReadOnly MAX As Integer = 90
  3.    Dim Rand As New Random
  4.    Dim compuesto As IEnumerable(Of Integer)
  5.  
  6.    Private Sub Test() Handles MyBase.Shown
  7.        Dim values As IEnumerable(Of Integer) =
  8.            {
  9.                1, 2, 3, 4,
  10.                5, 6, 10, 11,
  11.                14, 15, 54, 57,
  12.                58, 60, 63, 64,
  13.                65, 67
  14.            }
  15.  
  16.        Dim values2 As IEnumerable(Of Integer) =
  17.            {
  18.                1, 2, 3, 4,
  19.                5, 6, 10, 11,
  20.                14, 15, 54, 57,
  21.                58, 60, 63, 64,
  22.                65, 67, 68, 69,
  23.                70, 75, 78, 79, 80,
  24.                81, 82, 86, 88, 89, 90, 92,
  25.                93, 94, 95, 97, 98, 99
  26.            }
  27.  
  28.  
  29.        pondria en donde esta " values " a compuesto
  30.  
  31.        Dim splits As IEnumerable(Of IEnumerable(Of Integer)) =
  32.            SplitIntoParts(collection:=values, amount:=2, fillEmpty:=True)
  33.  
  34.        Me.ListBox1.Items.AddRange(splits(0).Cast(Of Object).ToArray)
  35.        Me.ListBox2.Items.AddRange(splits(1).Cast(Of Object).ToArray)
  36.        Me.ListBox3.Items.AddRange(splits(2).Cast(Of Object).ToArray)
  37.        Me.ListBox4.Items.AddRange(splits(3).Cast(Of Object).ToArray)
  38.        Me.ListBox5.Items.AddRange(splits(4).Cast(Of Object).ToArray)
  39.  
  40.        Dim concatCol As IEnumerable(Of Integer) = splits(0).Concat(splits(3).Concat(splits(4).Concat(splits(5).Concat(splits(15)))))
  41.        Dim distinctCol As IEnumerable(Of Integer) = concatCol.Distinct.Skip(2), Take(10)
  42.        Dim selectCol As IEnumerable(Of Integer) = distinctCol.Select(Function(value As Integer)
  43.                                                                          If value < MAX Then
  44.                                                                              Return value
  45.                                                                          Else
  46.                                                                              Return Rand.Next(1, MAX)
  47.  
  48.                                                                          End If
  49.  
  50.                                                                      End Function)
  51.  
  52.  
  53.        ListBox8.Items.AddRange(selectCol.Cast(Of Object).ToArray)
  54.  
  55.  
  56.    End Sub
  57.  
  58.  
  59.    Public Shared Function SplitIntoParts(Of T)(ByVal collection As IEnumerable(Of T),
  60.                                                ByVal amount As Integer,
  61.                                                ByVal fillEmpty As Boolean) As IEnumerable(Of IEnumerable(Of T))
  62.  
  63.        Return From index As Integer In Enumerable.Range(0, CInt(Math.Ceiling(collection.Count() / amount)))
  64.               Select If(Not fillEmpty,
  65.                         collection.Skip(index * amount).Take(amount),
  66.                         If((collection.Count() - (index * amount)) >= amount,
  67.                            collection.Skip(index * amount).Take(amount),
  68.                            collection.Skip(index * amount).Take(amount).
  69.                                                            Concat(From i As Integer
  70.                                                                   In Enumerable.Range(0, amount - (collection.Count() - (index * amount)))
  71.                                                                   Select DirectCast(Nothing, T))))
  72.    End Function
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. End Class
  82.  
197  Programación / .NET (C#, VB.NET, ASP) / Re: Otra mision con variables en: 31 Marzo 2015, 18:09 pm
¿por "registros" quieres decir "valor"?, es decir, ¿que si la variable "values1" o "values2" es mayor de '35', se asigne el mismo valor a la variable "compuesto"?

Código
  1. if values1 > 35 then
  2.  compuesto = values1
  3.  
  4. elseif values2 > 35 then
  5.  compuesto = values2
  6.  
  7. else
  8.  compuesto = 0
  9.  
  10. end if

¿?



Algunas fallitas jejej pero es mas o menos la idea

!) el operador '>' no está definido para los tipos 'System.Collections.Generic.IEnumerable(Of Integer)' y 'Integer'.
2) un valor de tipo 'Integer' no se puede convertir en 'System.Collections.Generic.IEnumerable(Of Integer)'.

luis
198  Programación / .NET (C#, VB.NET, ASP) / Re: Otra mision con variables en: 31 Marzo 2015, 16:29 pm
No entiendo exactamente a donde quieres llegar... ¿cual es el problema o duda que tienes con el código que has mostrado?.
En el código que has mostrado solo hay un arreglo/array y 3 variables enteras  :-\

Siempre estoy con prisas jejej y me enredo yo mismo,

 Dim values1 As  integer (trae de la funcion, x numeros )
 Dim values2 As  integer ( trae de la misma funcion otros x numeros)
 Dim compuesto as integer ( a esta pasarle los valores de alguna de ellas )


lo que nesecito es pasar a  " Dim compuesto "  el valor de cualquiera de estas dos variables " Dim values1"   " Dim values2"  cuando alguna de ellas  sobrepasen los 35 registros ,si values1 tiene mas de 35 regitros se pasa a  "compuesto" y la otra se queda sin hacer nada y por supuesto al reves .


Luis

199  Programación / .NET (C#, VB.NET, ASP) / Otra mision con variables en: 31 Marzo 2015, 15:43 pm
Hola a todos aca traigo otra e las mias

tengo tres variables dos con arreglos y una tercera que trabajaria con los registros de la variable que cumpla con la condicion en ese momento pero no se si se puede hacer algo con esta chapuza que haciendo  :)


Código
  1.    Dim values1 As    integer  
  2.        Dim values2 As   integer
  3.       [color=red] Dim compuesto As Integer <-- a esta variable llegaria los datos de cualquiera de las dos anteriores[/color]
  4.  
  5.  
  6.  
  7.  
  8.        Dim Re As IEnumerable(Of Integer) =
  9.           (values).
  10.           Distinct.
  11.           Select(Function(values As Integer)
  12.                      If values <= 35 Then
  13.  
  14.                          Return values
  15.                      Else
  16.  
  17.                          Return values2
  18.  
  19.                      End If
  20.  
  21.                  End Function)
  22.  


Luis
200  Programación / .NET (C#, VB.NET, ASP) / Re: Rellenar con rand no me funciona en: 31 Marzo 2015, 10:17 am
Estudiando el caso este descubri que la forma de que no me de error es mantener el arreglo dentro del minimo de registros que es de 35 registros por debajo de esa cantdad me produce el error, ahora lo que no tengo ni idea como hacerlo,se me ocurre con generar numeros aleaorios dentro el rango pero que no repitan con los de la variable  ;(

luis
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... 55
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines