|
81
|
Programación / .NET (C#, VB.NET, ASP) / Combinaciones letras o numeros
|
en: 2 Febrero 2014, 13:14 pm
|
hola trasteando por la Librería de Snippets encontre este codigo de combinaciones creo es de elektro ahora como ni idea de usar la regiones, si alguien me puede explicar el codigo como funciona la idea es que con un array que ya tengo con datos este codigo me coja de ese array y me los combine y muestre en un listbox estas combinaciones. Mi array se llama " resul " Region " Permute all combinations of characters" ' [ Permute Characters Function ] ' ' Examples : ' Dim Permutations As IEnumerable = Permute_Characters("abc", 2) ' For Each Permutation As IEnumerable(Of Char) In Permutations : RichTextBox1.Text &= vbNewLine & Permutation.ToArray : Next Private Shared Function Permute_Characters(Of T)(list As IEnumerable(Of T), length As Integer) As IEnumerable(Of IEnumerable(Of T)) If length = 1 Then Return list.[Select](Function(x) New T() {x}) Else Return Permute_Characters(list, length - 1).SelectMany(Function(x) list, Function(t1, t2) t1.Concat(New T() {t2})) End If End Function #End Region
AAA y ya estoy con esto del insert code que no me sale joe.... Luis
|
|
|
82
|
Programación / .NET (C#, VB.NET, ASP) / Como puedo saber los números que faltan dentro del rango ?
|
en: 18 Enero 2014, 14:06 pm
|
Como puedo saber los números que faltan dentro del rango ? tengo esta función que recibe los resultados de tres array donde hago unas sumas: y me gustaria mostrar en otro listbox los números que " NO " están dentro de estas sumas. es posible ? Rango 00 al 99 ReadOnly MAX As Integer = 99 Dim Rand 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 Result1 As IEnumerable(Of Integer) = (Result1.Concat(Result3).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 ListBox11.Items.AddRange(Result1.Cast(Of Object).ToArray)
Luis Edito= no se porque no me sale bien el poner el codigo entre el insert codigo ?
|
|
|
84
|
Programación / .NET (C#, VB.NET, ASP) / Como puedo mostrar resultados de un array en un listbox condicionados a 4
|
en: 16 Enero 2014, 16:25 pm
|
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'.
|
|
|
85
|
Programación / .NET (C#, VB.NET, ASP) / Eliminar y reemplazar registros en Array
|
en: 15 Enero 2014, 10:56 am
|
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 ? 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.
|
|
|
86
|
Programación / .NET (C#, VB.NET, ASP) / Condicionar arrays
|
en: 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 Dim maximum As Short = 99 Dim Results7s As Integer() = Result1.Concat(Result2).Distinct.ToArray
Luis
|
|
|
88
|
Programación / .NET (C#, VB.NET, ASP) / Combinatorias
|
en: 8 Enero 2014, 17:53 pm
|
Alguien me podria explicar como funciona este codigo de combinatoria quiero aprender pero rompiendo yo las cosas o sea probando; bien este codigo forma combinaciones posibles y estoy tratando que me haga y muestre combinaciones de solo cuatro , no importa el largo del string Public Class Form1 Dim Caracteres(1000) As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i, j, k As Integer Dim Combinacion As String Dim Existe As Boolean For i = 0 To TextBox1.Text.Length - 1 Caracteres(i) = TextBox1.Text.Substring(i, 1) Next For i = 0 To TextBox1.Text.Length - 1 For j = 0 To TextBox1.Text.Length - 1 Existe = False Combinacion = TextBox1.Text.Remove(i, 1) Combinacion = Combinacion.Insert(i, Caracteres(j)) Combinacion = Combinacion.Remove(j, 1) Combinacion = Combinacion.Insert(j, Caracteres(i)) For k = 0 To ListBox1.Items.Count - 1 If Combinacion = ListBox1.Items(k) Then Existe = True Next If Existe = False Then ListBox1.Items.Add(Combinacion) Next Next End Sub End Class
|
|
|
89
|
Programación / .NET (C#, VB.NET, ASP) / Mostrar esto de forma diferente
|
en: 6 Enero 2014, 14:10 pm
|
Bueno probando y probando consegui un codigo y se muestra el resultado pero por consola ya lo he puesto en un fom win pero no logro hacer que me lo muestre en un listbox o si hay otra forma o otra herramienta ya que solo lo que nesecito es visualizarlo alguna idea ? Public Shared Sub PrintValues(ByVal myArr As Array) Dim myEnumerator As System.Collections.IEnumerator = _ myArr.GetEnumerator() Dim i As Integer = 0 Dim cols As Integer = myArr.GetLength((myArr.Rank - 1)) While myEnumerator.MoveNext() If i < cols Then i += 1 Else Console.WriteLine() i = 1 End If Console.Write(ControlChars.Tab + "{0}", myEnumerator.Current) End While Console.WriteLine() End Sub End Class
Luis
|
|
|
90
|
Programación / .NET (C#, VB.NET, ASP) / Concatenar dos arrays y comparar rellenar y mostrar ?
|
en: 2 Enero 2014, 11:24 am
|
Hola a todos espero que hayan pasado buenas fiestas :) Me he pasado el tiempo tratando de hacer esto pero no encuentro el como quiero concatenar dos array para que: Result1.Concat(Result2) comparar si hay iguales y si hay iguales recorrer el rango y sustituir el repetido por el que no aparezca. ya elimino duplicados pero en cada array, y no se como hacerlo con el resultado final que se mostraria en e lisboxt3 ListBox3.Items.AddRange(CombinedItems.ToArray) [codePublic Class Form1 Dim maximum As Short = 99 Dim x As Integer = 0 Dim Número As Double Private TextBoxes As TextBox() = {Nothing} Private Result1 As Int32(), Result2 As Int32() Private _textBox As Object Private Property ListBox1Count As Integer Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.ControlBox = False ' Elimino todos los controles del formulario End Sub Private Property Calcular As Object Private Property TextBox(ByVal TextBoxCount As Short) As Object Get Return _textBox End Get Set(ByVal value As Object) _textBox = value End Set End Property Public Sub solonumeros(ByRef e As System.Windows.Forms.KeyPressEventArgs) ' evitar letras 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 ReadOnly Property Num1 As Int32 Get Return CInt(TextBox1.Text) End Get End Property ReadOnly Property Num2 As Int32 Get Return CInt(TextBox2.Text) End Get End Property Private Sub Sumar(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Result1 = {Num1 + 10, Num1 + 20, Num1 + 30} _ .Distinct().ToArray ' Elimino duplicados Result2 = {Num2 + 10, Num2 + 20, Num2 + 30} _ .Distinct().ToArray ' Elimino duplicad Array.Sort(Result1) : Array.Sort(Result2) ' El número no está repetido: Dim Results As IEnumerable(Of Integer) = Result1 ' El número no está repetido.Concat(Result2) For X As Integer = 0 To Results.Count - 1 ' Este es para unir en 3lisbos Dim Items1 As List(Of String) = ListBox1.Items.Cast(Of String)().ToList Items1.Add(" ") Dim Items2 As List(Of String) = ListBox2.Items.Cast(Of String)().ToList Items2.Add(" ") Dim CombinedItems As List(Of String) = Items1.Concat(Items2).ToList ListBox3.Items.AddRange(CombinedItems.ToArray) ' aqui acaba Select Case Results.Where(Function(n) n = Results(X)).Skip(1).Any Case False ' El número no está repetido en ninguna "linea" ' Así que colocamos el número en el Textbox Try ListBox1.Items.Add(CStr(Results(X))) ' TextBoxes(TextBoxCount).Text = CStr(Results(X)) Catch ex As Exception Throw New Exception(ex.Message & ex.StackTrace) End Try End Select Next X ' -------segunda Dim Resultss As IEnumerable(Of Integer) = Result2 ' . For X As Integer = 0 To Resultss.Count - 1 Select Case Resultss.Where(Function(n) n = Resultss(X)).Skip(1).Any Case False Try ListBox2.Items.Add(CStr(Resultss(X))) Catch ex As Exception Throw New Exception(ex.Message & ex.StackTrace) End Try End Select Next X End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class]
saludos Luis
|
|
|
|
|
|
|