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

#111
.NET (C#, VB.NET, ASP) / Re: Combis :(
20 Marzo 2016, 14:28 PM
Cita de: Lekim en 20 Marzo 2016, 14:13 PM
Hola

Jaja, ahora queda más claro, gracias  ;-)

Código (vbnet) [Seleccionar]

       Dim NumElementos As IEnumerable(Of Integer) = {1, 3, 84, 99}, Secuencia As String = Nothing
       For Each N As Integer In NumElementos
           For I = 0 To NumElementos.Count - 1
               Secuencia += String.Format("{0:00}, {1:00}{2}", N, NumElementos(I), Environment.NewLine)
           Next
       Next
       MessageBox.Show(Secuencia)



S2s




Explicación para añadir ceros delante de un número:
String.Format("{0}", 5) ---> devuelve "5"  

String.Format("{0} {1}", 5, 25) ---> devuelve "5 25"  

String.Format("{0}, {1}", 5, 25) ---> devuelve "5, 25"  

String.Format("{0:00}", 5) ---> devuelve "05"  

String.Format("{0:00}", 25) ---> devuelve "25"  

String.Format("{0:00} {1:00}", 5, 25) ---> devuelve "05 25"  

String.Format("{0:00} {1:00} {2:00}" , 5, 25, 8) ---> devuelve "05 25 08"  

String.Format("{0:00}, {1:00}, {2:00}" , 5, 25, 8) ---> devuelve "05, 25, 08"  



Mientras escribia hacias lo mismo :) lo pruebo

gracias
Luis

#112
.NET (C#, VB.NET, ASP) / Re: Combis :(
20 Marzo 2016, 14:23 PM
PD: ¿Algún "pero" esta vez? :P.


Jejejje luche hasta el final para que no hubiera " PERO " :)


Probando el codigo de elektro ahora me muestra esto (el codigo que me mostro Lekim le consegui otro uso me vino de perlas )

coleccion de numeros ( 1, 3, 4, 5, 8, 13, 34, 55, 84, 99 )

01 03
04 05
08 13
34 55
84 99


Pero jejje Yo nesecito me nuestre

01, 03
01, 04
01, 05
01, 08
01, 13
01, 34
01, 55
01, 84

despues se toma el seiguiente numero en este caso el tres y se combina haci hasta acabar con todos los numeros

03,04
03,05
03,08
03,13

Código (vbnet) [Seleccionar]
Dim intCol As IEnumerable(Of Integer) =
    {1, 3, 4, 5, 8, 13, 34, 55, 84, 99}

Dim sb As New StringBuilder(capacity:=100)
For x As Integer = 0 To (intCol.Count - 1) Step 2

    If (x < (intCol.Count - 1)) Then
        sb.Append(String.Format("{0:00}, {1:00}", intCol(x), intCol(x + 1)))
    Else
        sb.Append(String.Format("{0:00}", intCol(x)))
    End If

    sb.AppendLine()

Next

MessageBox.Show(sb.ToString) 


Luis


#113
.NET (C#, VB.NET, ASP) / Re: Combis :(
19 Marzo 2016, 15:06 PM
Cita de: Lekim en 18 Marzo 2016, 19:44 PM
Hola

Podrías especificar un poco más. ¿Qué quieres hacer exactamente? ¿Combinar números de dos en dos aleatoriamente o de forma consecutiva a partir de un grupo de números?

En cualquier caso tu código tiene un montón de fallos, además no especificas tampoco cual es error que te marca (que hay muchos)


para empezar la declaración For/Next croe que debería ser:

  For k = 0 To NumElementos.Count -1
   
       Next k


por otro lado ¿Esto así?
 Dim NumElementos As IEnumerable(Of Integer) =
           {0, 3, 4, 5, 8}
       {01, 13, 34, 55, 84}


¿No será que lo quieres así?:

   Dim NumElementos As IEnumerable(Of Integer) = {0, 3, 4, 5, 8, 1, 13, 34, 55, 84}

En fin, explícate un poco

Podría ser algo así?

Código (vbnet) [Seleccionar]
Public Class Form1
   Dim NumElementos As New ArrayList({0, 3, 4, 5, 8, 1, 13, 34, 55, 84})
   Sub Combinaciones()
       Dim N As New Random
       Dim num As String = Nothing

       For k As Integer = 1 To (NumElementos.Count / 2)
           num = ""
           For j As Integer = 0 To 1
               Dim NumAlt As Integer = NumElementos(N.Next(NumElementos.Count))
               NumElementos.Remove(NumAlt)
               num += NumAlt.ToString
           Next
           MessageBox.Show(num)
       Next

   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Combinaciones()
   End Sub
End Class




O podría ser esto...

Esto combina los números de NumElementos  con los de NumElementos2, de dos en dos y de forma aleatoria.

Código (vbnet) [Seleccionar]
Public Class Form1
   Dim NumElementos As New ArrayList({0, 3, 4, 5, 8})
   Dim NumElementos2 As New ArrayList({1, 13, 34, 55, 84})

   Sub Combinaciones()
       Dim N As New Random
       Dim num As String = Nothing

       For k As Integer = 1 To 5
           num = ""

           Dim NumAlt As Integer = NumElementos(N.Next(NumElementos.Count))
           Dim NumAlt2 As Integer = NumElementos2(N.Next(NumElementos2.Count))
           NumElementos.Remove(NumAlt)
           NumElementos2.Remove(NumAlt2)
           num = NumAlt.ToString & "-" & NumAlt2.ToString

           MessageBox.Show(num)
       Next

   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Combinaciones()
   End Sub
End Class



Gracias por tu atención y disculpa que haya tardado en responder

LO que estoy tratando de hacer es que de una serie de números contenidos en la variable se combinen de dos en dos y  perdón que no puse que son de esta manera son números de dos dígitos

entrada
01. 03, 04, 05, 08,  13, 34, 55, 84

salida

01, 03
01, 04
01, 05
01, 08
01, 13
01, 34
01, 55
01, 84

03,04
03,05
03,08
03,13  ............................... asi con todos hasta acabar la secuencia

Y de nuevo gracias :)

Luis


















#114
.NET (C#, VB.NET, ASP) / Combis :(
18 Marzo 2016, 19:22 PM
Hola estoy creando este codigo para combinar numeros de dos en dos pero me sale un error que no habia visto antes :)

" No se puede inferir el tipo de 'k' porque los límites del bucle y la cláusula step no se convierten en el mismo tipo "



Código (vbnet) [Seleccionar]
Public Class Form1



   Dim NumElementos As IEnumerable(Of Integer) =
           {0, 3, 4, 5, 8}
       {01, 13, 34, 55, 84}


   Sub Combinaciones()

       For k = 2 To NumElementos

           i = i + 1

           For j = k To NumElementos


           Next j

       Next k

   End Sub

End Class



Luis
#116
Hola a todos

Bien como no consigo en los post ,que se que le vi una ves :( expongo lo que quiero hacer

Tengo un pc conectado en la parte de arriba de mi casa a Internet con el moden que esta en la planta baja a través de los ( PL )  esos que se enchufan a la corriente eléctrica, funciona bastante bien,bien pero quiero tener wifi en los demas cuartos ya sabeis ,movil table games etc, el wifi abajo va bastante bien ,y se me ocurre usar otro moden de timofonica Home station  .bien lo que quiero saber es como configurarlo para conectarlo al pc y que me retrasmita wifi arriba .he probado algunos metodos que salen en youtube pero na de na

saludos
Luis
#117
Hola Elektro

Me decante por la segunda propuesta

Con un TextBox corriente puedes hacerlo de la siguiente manera:
Código (vbnet) [Seleccionar]
   Private Sub TextBox1_Keypress(ByVal sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress

       e.Handled = Not Char.IsNumber(e.KeyChar)

   End Sub

   Private Sub TextBox1_TextChanged(ByVal sender As Object, e As EventArgs) Handles TextBox1.TextChanged

       Dim ctrl As TextBox = DirectCast(sender, TextBox)

       If CInt(ctrl.Text) > 45 Then
           ctrl.Text = "45"
       End If

   End Sub


[/quote]


Pero claro siempre hay un pero jejje

error
La conversión de la cadena "" en el tipo 'Integer' no es válida.

Bien te enseño como tengo esto montado


Código (vbnet) [Seleccionar]
Private Sub TextBox6_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress, TextBox5.KeyPress, TextBox4.KeyPress, TextBox3.KeyPress, TextBox2.KeyPress, TextBox1.KeyPress
        Button1.Enabled = ((TextBox1.TextLength > 0) And (TextBox2.TextLength > 0) And (TextBox3.TextLength > 0) And (TextBox4.TextLength > 0) And (TextBox5.TextLength > 0) And (TextBox6.TextLength > 0))
        'And (TextBox7.TextLength > 0))
       

        solonumeros(e)
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")

        End If


    End Sub



puse tu código

de esta forma y si retrocede a 45 si pongo un numero mayor pero me salta el error


Código (vbnet) [Seleccionar]
  Private Sub TextBox6_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress, TextBox5.KeyPress, TextBox4.KeyPress, TextBox3.KeyPress, TextBox2.KeyPress, TextBox1.KeyPress
        Button1.Enabled = ((TextBox1.TextLength > 0) And (TextBox2.TextLength > 0) And (TextBox3.TextLength > 0) And (TextBox4.TextLength > 0) And (TextBox5.TextLength > 0) And (TextBox6.TextLength > 0))
        'And (TextBox7.TextLength > 0))
        e.Handled = Not Char.IsNumber(e.KeyChar)

        solonumeros(e)
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")

        End If

    End Sub

    Private Sub TextBox6_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox6.TextChanged

        Dim ctrl As TextBox = DirectCast(sender, TextBox)

        If CInt(ctrl.Text) > 45 Then
            ctrl.Text = "45"
        End If

    End Sub



Luis




#118
Cita de: Eleкtro en 11 Marzo 2016, 14:48 PM
Hacer eso es reinventar la rueda, te sugiero usar un NumericUpDown, le pones valor máximo:45 valor mínimo:0 y ya lo tienes todo hecho.

De todas formas si sigues prefiriendo usar un TextBox dímelo y te explico como (con un ErrorProvider sería lo ideal).

Saludos!

Hola elektro bueno cambiar por  numeric me supondria hacer un monton de cambios en el codigo yo pensaba en algo mas facil , ya te aviso que hare, voy a mirar primero lo del error ese que pusiste

gracias

Luis
#119
Hola jejej a todos vuelvo con una chorrada

tengo varios TextBox y quiero que a partir del sexto no  me acepte números mayores a 45 y que cuando el usuario ponga un numero mayor a 45 no deje continuar el programa hasta poner un numero menor a 45 estoy con este codigo simplón pero deja que siga el programa auqnue le avise al usuario

Código (vbnet) [Seleccionar]
Private Sub TextBox6_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox6.Validating
        If (Int(TextBox6.Text) < 0 Or Int(TextBox6.Text) > 45) Then

            MsgBox("Numero mayor que 45 en casilla 6 introduzca numero correcto")

        End If

    End Sub 



saludos
Luis


#120
Electrónica / analizador y programador de mandos
27 Noviembre 2015, 10:18 AM
Hola a todos aunque mas bien me la paso por la zona Net ,ahora tengo una duda con la electronica y ando buscando un programa que me sirva para modificar mandos a control remoto y los que saben de mandos de portoneras. estos trabajan sobre los 400Mhz y quiero ver la posibilidad de subir o bajar esa frecuencia atraves de programacion

En esto si estoy de verdad muy nulo y me gustaria saber como andan estos trastos


gracias de antemano

Luis