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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 2 3 4 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 ... 55
161  Programación / .NET (C#, VB.NET, ASP) / De regreso con mis temas jejje ,saltar un espacio en arreglo en: 21 Mayo 2015, 09:34 am
Hola a todos

en un arreglo de numeros de x cantidad de numeros, siempre el famoso 01 al 99 :) yo formo grupos de numeros de 10 numeros

concatenando splist o variables de dos numeros cada uno de ese arreglo de esta manera:

Código
  1.  Dim Bz1 As IEnumerable(Of Integer) =
  2. (
  3. From Value As Integer In split(1).Concat(split(2).Concat(split(3)).Concat(split(4)).Concat(split(5)))
  4. Where (Value <= MAX AndAlso Value > 0)).Distinct
  5.  
  6.  
  7.        Dim Sl1 As IEnumerable(Of Integer) = Bz1
  8.        Dim SM1 As List(Of Integer) = Bz1.toList
  9.        SM1.Sort()
  10.  
  11.       Me.ListBox2.Items.AddRange((From value As Integer In SM1 Where value <> 0).Cast(Of Object).ToArray)
  12.  


Bien esto funciona bien el problema que quiero resolver es que tiene correlatividad de numeros.


arreglo principal ( 01 02 03 04 05 06 07 08 09 10 ....................99)

este codigo muestra este resultado

01 02 03 04 05 06 07 08 09 10

Porque al ordenarse el arreglo los splits o variables enpiezan desde el principio del arreglo

split(1) = 01 02
split(2) = 03 04
split(3) = 05 06
split(4) = 07 08
split(5) = 09 10



estos split los saco de esta funcion que toma los valores del arreglo principal


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


en definitiva lo que nesecito es hacer saltos de numeros intermedios de los numeros contenidos en los split

ejemplo
ahora es de esta forma

split(1) = 01 02
split(2) = 03 04
split(3) = 05 06
split(4) = 07 08
split(5) = 09 10
******************
y lo nesecito de esta forma

split(1) = 01 03
split(2) = 02 04
split(3) = 05 07
split(4) = 06 08
split(5) = 08 10


Bueno antes de preguntar he usado take,skip sin resultados :) con la clausula Where no se plantear el problema

claro esta que si volvemos a unir los split como estan ahora y despues, se formaria la misma combinacion pero lo puse a si para el ejemplo ya que las concatenaciones cambian de forma que haga otras numeraciones :)


Luis



162  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 1 Mayo 2015, 19:36 pm
 :rolleyes: :rolleyes: :rolleyes: es que la duda que tenia era con la logica  ;( si col tiene la coleccion completa de col1,,etc  era como contaria los numeros de col1 ??? bueno creo me entiendes , lo bueno es que por fin pude consultar los 100 ejemplos de linq: que me pasaste en su dia :)  y ahora preguntare menos jejejje (espero :(  ) vi muchas rutinas que me hacen falta ;)

Gracias :)

Luis
163  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 1 Mayo 2015, 16:35 pm
Hola con pistas tampoco doy porque he mirado le que hay en msd y no se como contar o mirar dentro de los col1 ,col2... que estan  a su ves en el grupo cols

ya que si hago esta (prueba) me cuenta es el total de col y no los que estan dentro de col1

Código
  1.  ' eliminar registros iguales en  " Lnumbers " lo solucione quitandolos del listxbo
  2.    ' eliminar registros MENORES a MAX
  3.    ' En este codigo deberia quedar un solo registro de los cuatro
  4.  
  5.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.        Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11, 15, 80}
  7.        Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11, 85}
  8.        Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
  9.        Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}
  10.        Dim MAX As Integer = 10
  11.  
  12.  
  13.        Dim cols As IEnumerable(Of IEnumerable(Of String)) =
  14.            From col As IEnumerable(Of Integer) In {col1, col2, col3, col4}
  15.            Group By String.Join("", col).AsEnumerable
  16.            Into Group
  17.            Select From value As Integer In Group.First.Distinct
  18.                    Where Not (value = MAX)
  19.                   Select value.ToString(format:="0#")
  20.  
  21.        ListBox1.Items.AddRange((From col As IEnumerable(Of String) In cols Select String.Join(", ", col)).ToArray)
  22.        '*****************************************preubas**********------------------------------------------------
  23.        Dim cuenta As Integer = cols.Count()
  24.        MsgBox(cols.Count) lleva cuatro bien
  25.        MsgBox(col1.Count) lleva 10 numeros bien
  26.        MsgBox(col2.Count) lleva 9 mal eliminar

luis
 

164  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 1 Mayo 2015, 07:01 am
Bueno si y no jejje

a si es ahora como entrega los resultados
01, 05, 06, 07, 08, 09, 10 ,20 ,80, 88
01, 02, 08, 06, 09 <-----eliminar ya que tiene que tener 10 numeros
02, 03<-------------------eliminar ya que tiene que tener 10 numeros


pero debe solo quedar asi , solo los registros completos que cumplan la condicion de 10 registros ( disculpas no habia contado bien jeje)

01, 05, 06, 07, 08, 09, 10,20,80,88

Código
  1. Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11, 15, 80}
  2.        Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11, 85}
  3.        Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
  4.        Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}
  5.        Dim MAX As Integer = 10

Gracias :)



Luis
165  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 30 Abril 2015, 21:03 pm
Especifica claramente lo de los duplicados, dices que en este ejemplo solo debe quedar una secuencia (o eso entiendo por "registro"), ¿cual?, y ¿por qué?.

¿Quieres dscartar los valores duplicados entre cada decuencia?, ¿o quieres descartar la secuencia entera en caso de que algún valor esté repetido con los valores de otra de las secuencias?, por que ambas cosas son muy distintas.

Da más detalles

Saludos


eliminar de la lista los resultados como te muestro


01, 03, 04, 05, 06, 08<----X
01, 03, 04, 05, 06, 08 <----repite con el anterior
01, 03, 04, 05, 09, 30
01, 03, 04, 05, 30, 30 <----X
01, 03, 04, 05, 30, 40 <----repite con el anterior
01, 03, 04, 05, 30, 40 <----repite con el anterior
01, 03, 04, 06, 07 <--------no llega a la cantidad
01, 03, 04,<----------------no llega a la cantidad 
01, 03, 04, 06, 08, 09
01, 03, 04, 06, 08, 27
01, 03, 04, 06, 08, 49
01, 03, 04, 06, 12<--------no llega a la cantidad

es eliminar los que sean iguales claro esta dejando uno solo de los que repiten :)
y los que no llegan a tener la cantida establecida eliminarlos.

aca van dos numeros estos si eliminar ya que son iguales en todo Y dejar un solo registro

01, 03, 04, 05, 30, 40 <----
01, 03, 04, 05, 30, 40 <----repite con el anterior


estos dejar ya que son diferentes aunque sea un solo numero

01, 03, 04, 05, 30, 40
01, 03, 04, 05, 30, 80

eliminar repetidos y que no cumplan la cantida establecida que seria MAX=10






166  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 30 Abril 2015, 19:18 pm
Bueno consegui solucionar uno de los problemas :) y es eliminar del listbox los repetidos pero los completos o sea los que tienen 10 registros  ;( alguien se anima a mejorarlo para que no me queden a si

02 03 05
01 02 03 04 05
02 05 06 07 0 9

y me deje solo los registros completos  ?


Código
  1. Public Class Form1
  2.  
  3.    ' eliminar registros iguales en  " Lnumbers " lo solucione quitandolos del listxbo
  4.    ' eliminar registros MENORES a MAX
  5.    ' En este codigo deberia quedar un solo registro de los cuatro
  6.  
  7.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.        Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  9.        Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  10.        Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
  11.        Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}
  12.        Dim MAX As Integer = 10
  13.  
  14.  
  15.        Dim Lnumbers As List(Of IEnumerable(Of Integer)) = {col1, col2, col3, col4}.ToList
  16.  
  17.  
  18.        For Each col As IEnumerable(Of Integer) In Lnumbers
  19.  
  20.            ListBox1.Items.Add(String.Join(", ", From value As Integer In col
  21.                                                                      Select If(value.ToString.Length = 1I,
  22.                                                                                value.ToString.Insert(0I, "0"c),
  23.                                                                                value.ToString)))
  24.  
  25.        Next col
  26.    End Sub
  27.  
  28.  
  29.    '*****************************************preubas**********
  30.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  31.        ' Le pasa el Listbox a la función
  32.        MsgBox(Eliminar(ListBox1), _
  33.               MsgBoxStyle.Information, _
  34.               "Elementos duplicados en el List ")
  35.    End Sub
  36.    Function Eliminar(ByVal LB As ListBox) As Int32
  37.        Dim i As Int32
  38.        Dim j As Int32
  39.        Dim n As Int32
  40.  
  41.        ' Recorre los items ( copara empezando _
  42.        'desde el primero , de abajo hacia arriba)
  43.        For i = 0 To LB.Items.Count - 2
  44.            For j = LB.Items.Count - 1 To i + 1 Step -1
  45.                ' verifica si es el mismo
  46.                If LB.Items(i).ToString = LB.Items(j).ToString Then
  47.                    ' elimina el elemento indicando el índice
  48.                    LB.Items.RemoveAt(j)
  49.                    n += 1 'lleva la cuenta de los duplicados
  50.                End If
  51.            Next
  52.        Next
  53.        Return n ' retorna los eliminados
  54.    End Function
  55. End Class

los ejemplos  (los 100)  ;)  no me aclaran nada

Luis
167  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 30 Abril 2015, 17:45 pm
AAAAAAAAAAAAAAAAAA

TAMPOCO


Código
  1. Dim products = Lnumbers
  2.  
  3.        Dim cat = From value In products _
  4.                            Select value _
  5.                            Distinct
  6.  
  7.        For Each n In cat
  8.  
  9.            ListBox2.Items.Add(String.Join(", ", From value As Integer In n
  10.                                                                      Select If(value.ToString.Length = 1I,
  11.                                                                                value.ToString.Insert(0I, "0"c),
  12.                                                                                value.ToString)))
  13.        Next
168  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 30 Abril 2015, 13:27 pm
Bueno creo que solo naci para las tuercas ;)

trato con los ejemplos que hay en las paginas de msdn que me pasaste pero aparte que no hablo chino jeje tengo que usar el traductor que habla como indio y me enredo mas y estos ejemplos estan orientados a bases de datos y mas me enrollo jejej.

Código
  1. Public Class Form1
  2.  
  3.    ' eliminar registros iguales en  " Lnumbers "
  4.    ' eliminar registros MENORES a MAX
  5.    ' En este codigo deberia quedar un solo registro de los cuatro
  6.  
  7.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.        Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  9.        Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
  10.        Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
  11.        Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}
  12.        Dim MAX As Integer = 10
  13.  
  14.  
  15.        Dim Lnumbers As List(Of IEnumerable(Of Integer)) = {col1, col2, col3, col4}.ToList
  16.  
  17.  
  18.        For Each col As IEnumerable(Of Integer) In Lnumbers
  19.  
  20.  
  21.  
  22.            ListBox1.Items.Add(String.Join(", ", From value As Integer In col
  23.                                                                      Select If(value.ToString.Length = 1I,
  24.                                                                                value.ToString.Insert(0I, "0"c),
  25.                                                                                value.ToString)))
  26.  
  27.  
  28.        Next col
  29.  
  30.        '***********************aca me tranco
  31.  
  32.        Dim concatCol As IEnumerable(Of Integer) = Lnumbers
  33.        Dim distinctCol As IEnumerable(Of Integer) = concatCol
  34.        Dim selectCol As IEnumerable(Of Integer) = distinctCol.Select(Function(value As Integer)
  35.                                                                          If value = MAX Then
  36.                                                                              Return value
  37.                                                                          Else
  38.  
  39.                                                                              Return value
  40.                                                                          End If
  41.  
  42.                                                                      End Function)
  43.  
  44.  
  45.        ListBox2.Items.AddRange(selectCol.Cast(Of Object).ToArray)
  46.  
  47.    End Sub
  48.  
  49. End Class
169  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 28 Abril 2015, 15:01 pm

 "Sigo sin ver que lo hayas intentado ".

No es eso es que estoy pasando unas formulas jejej y he ido de pasada, no he tenido tiempo de miralo con detenimiento ahora estoy mas urgido de pasar esas formulas que tienen que ver con la pregunta pero primero acabare pasarlas :)

luis
170  Programación / .NET (C#, VB.NET, ASP) / Re: Eliminar duplicados o repetidos en: 28 Abril 2015, 10:24 am
Una forma de hacerlo sería utilizando la clausura Where para evaluar si la colección contiene el mismo elemento más de una vez, otra forma sería utilizar la clausura Group By para agrupar por números y luego seleccionar el primer elemento de la agrupación (Enumerable.First) con la claúsura Select (evitando así duplicados).

Where Clause (Visual Basic) - MSDN
Group By Clause (Visual Basic) - MSDN

Saludos


Hola  corrigeme en algo. tendria que pasar el contenido del tesbox a una variable para poder hacer el filtrado ?

luis


Páginas: 1 2 3 4 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 ... 55
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines