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

#451
Uso el VB 2010 y cuando quiero cambiar el icono en propiedades del proyecto aunque tenga bien ubicados los iconos cuando los busco con el editor no se ven ?? por lo tanto no los puedo cambiar me gustaría cambiar los de los formularios y el del ejecutable.

tengo de 16 y de 32 por si....

luis
#452
Hago unos calculos matematicos donde envio estos resultados a unos texboxes que estan ordenados de forma consecutiva, como podria evitar resultados repetidos cada cuatro teboxes

Dim TextBoxCount As Short = -1

TextBoxes = {TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12, TextBox13, TextBox14, TextBox15, TextBox16, TextBox17, TextBox18, TextBox19, TextBox20, TextBox21, TextBox22, TextBox23, TextBox24, TextBox25, TextBox26, TextBox27, TextBox28, TextBox29, TextBox29, TextBox30....}





pense en esta forma pero no encuentro la logica

cadacuatro = {TextBox7, TextBox8, TextBox9, TextBox10,} _
                  .Distinct().ToArray  Eliminar duplicados



Luis

#453
Cita de: EleKtro H@cker en 29 Octubre 2013, 14:52 PM
Vamos Luis te lo he dado todo hecho, no es dificil adaptarlo, te falta poco.

En tu último código no has declarado el valor máximo
Solo te falta eso y copiar esto otro:
La verdad es que el búcle no requiere ningún cambio, pero puedes escribirlo de esta otra forma:

For Each Number As Int32 In Result1

   TextBoxCount += 1

   if not Number > maximum then
      TextBoxes(TextBoxCount).Text = cstr(number)
   else
      TextBoxes(TextBoxCount).Text = cstr(maximum)
    end if

Next Number


Saludos


Perfecto gracias EleKtro H@cker te debo una revision a tu coche :)


Luis

#454
No logro hacer nada :) es en este codigo que quiero hacer las limitaciones de numeros

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

   Private TextBoxes As TextBox() = {Nothing}

   Private Result1 As Int32(), Result2 As Int32()

   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(sender As Object, e As EventArgs) _
   Handles Button_Sum.Click

       Dim TextBoxCount As Short = -1

       TextBoxes = {TextBox3, TextBox4, TextBox5, TextBox6}

       Result1 = {Num1 + 15, Num1 + 25} _
                 .Distinct().ToArray ' Elimino duplicados

       Result2 = {Num2 + 30, Num2 + 20} _
                 .Distinct().ToArray ' Elimino duplicados

       Array.Sort(Result1) : Array.Sort(Result2) ' Ordeno los Items

       For Each Number As Int32 In Result1
           TextBoxCount += 1
           TextBoxes(TextBoxCount).Text = Number
       Next

       For Each Number As Int32 In Result2
           TextBoxCount += 1
           TextBoxes(TextBoxCount).Text = Number
       Next

   End Sub

End Class
#455
Ya me pegare un tiro pronto :)


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

   Private Property Result1 As Object

   ReadOnly Property Num1 As Int32
       Get
           Return CInt(TextBox1.Text)
       End Get
   End Property
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Result1 = {Num1 + 15, Num1 + 25} _
                         .Distinct().ToArray ' Elimino duplicados
       For Each Number As Int32 In Result1
           TextBoxCount += 1
           TextBox(TextBoxCount).Text = Number
       Next
   End Sub
   Private Sub Test(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Shown

       Dim TextBoxes() As TextBox = _
           {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5}

       Dim TextBoxCount As Integer = 0

       Dim maximum As Short = 99

       Dim Result1 As Integer = { _
                                   90, _
                                   40, _
                                   50, _
                                   90, _
                                   100, _
                                   125 _
                                 }.Distinct().ToArray

       Array.Sort(Result1)

       For Each Number As Integer In Result1

           TextBoxes(TextBoxCount).Text = _
               If(Not Number > maximum, _
                  CStr(Number), _
                  CStr(maximum))

           Threading.Interlocked.Increment(TextBoxCount)

       Next Number

   End Sub

   Private Function TextBoxCount() As Object
       Throw New NotImplementedException
   End Function

   Private Function TextBox(ByVal p1 As Object) As Object
       Throw New NotImplementedException
   End Function

End Class
#456
Cita de: EleKtro H@cker en 27 Octubre 2013, 12:33 PM
Código (vbnet) [Seleccionar]
   Private Sub Test(sender As Object, e As EventArgs) Handles MyBase.Shown

       Dim TextBoxes() As TextBox = _
           {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5}

       Dim TextBoxCount As Integer = 0

       Dim maximum As Short = 99

       Dim Result() As Integer = { _
                                   90, _
                                   40, _
                                   50, _
                                   90, _
                                   100, _
                                   125 _
                                 }.Distinct().ToArray

       Array.Sort(Result)

       For Each Number As Integer In Result

           TextBoxes(TextBoxCount).Text = _
               If(Not Number > maximum, _
                  CStr(Number), _
                  CStr(maximum))

           Threading.Interlocked.Increment(TextBoxCount)

       Next Number

   End Sub




Saludos


Gracias EleKtro siempre tan amable ahora a ver como adapto esto a mi código :) pensaba que con un simple iff se haria jejeje ya te contare como me va..

Luis


#457
Hola quiero mostrar números dentro de un rango establecido (00 al 99 )

Necesito hacer una función que me elimine lo números que se pasen de 99 ? pero que no me deje los texboxes vacíos ? poniendo el ultimo numero del rango si este se pasa del mismo


Result1 = {Num1 + 10, Num1 + 20, Num1 + 30} _
                  .Distinct().ToArray '

        Array.Sort(Result1)


For Each Number As Int32 In Result1
            TextBoxCount += 1
            TextBoxes(TextBoxCount).Text = Number
        Next



Luis
#458
Cita de: EleKtro H@cker en 24 Octubre 2013, 09:08 AM
@luis456

Si no estás escribiendo diréctamente sobre el Textbox, entonces porque te suscribes el evento TextChanged del textbox y porque intentas hacer las operacions de rango dentro de ese bloque?.

Es tan sencillo como que compruebes el rango del valor de la variable Result1 y según el rango que sea, asignas un valor u otro al Textbox7, no compares la propiedad Text del textbox, que se supone que va a estar vacia... si no he entendido mal.

PD: Sobre el uso de Val ya ni lo vuelvo a comentar.

Saludos


Porque como veras los texboxes se van llenando por las variables (por cierto este fue el codigo que me diste :) )

Public Class Form1
    Dim MIN As Integer = 0
    Dim MAX As Integer = 99

    Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.ControlBox = False ' Elimino todos los controles del formulario
    End Sub

   

    Private Result1 As Int32(), Result2 As Int32(), Result3 As Int32()
    Dim Sep As Object
    Dim texbox7 As Object
    Dim o As Object
    Private _val As Object
    Private _val1 As Integer
    Dim TextBox As TextBox()

    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
    ReadOnly Property Num3 As Int32
        Get
            Return CInt(TextBox3.Text)
        End Get
    End Property


Private Property KeyAscii As Integer

    Private Property Val(ByVal form1 As Form1, ByVal p2 As Object) As Object
        Get
            Return _val
        End Get
        Set(ByVal value As Object)
            _val = value
        End Set
    End Property

    Private Property Val(ByVal p1 As Object) As Integer
        Get
            Return _val1
        End Get
        Set(ByVal value As Integer)
            _val1 = value
        End Set
    End Property

    Private Sub Sumar(ByVal sender As Object, ByVal e As EventArgs) _
    Handles Calcular.Click

        Dim TextBoxCount As Short = -1

        TextBox = {TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12, TextBox13, TextBox14, TextBox15, TextBox16, TextBox17, TextBox18, TextBox19, TextBox20, TextBox21, TextBox22, TextBox23, TextBox24, TextBox25, TextBox26, TextBox27, TextBox28, TextBox29, TextBox30, TextBox31, TextBox32, TextBox33, TextBox34, TextBox35, TextBox36, TextBox37, TextBox38, TextBox39, TextBox40, TextBox41, TextBox42, TextBox43, TextBox44, TextBox45, TextBox46, TextBox47, TextBox48, TextBox49, TextBox50, TextBox51, TextBox52, TextBox53, TextBox54, TextBox55, TextBox56, TextBox57, TextBox58, TextBox59, TextBox60}

        Result1 = {Num1 + 1, Num1 + 20, Num1 + 30} _
                  .Distinct().ToArray ' Elimino duplicados

        Result2 = {Num2 + 10, Num2 + 20, Num2 + 30} _
                  .Distinct().ToArray ' Elimino duplicados

        Result3 = {Num3 + 10, Num3 + 20, Num3 + 30} _
                  .Distinct().ToArray ' Elimino duplicados,,,,,,,,,,,

Array.Sort(Result1) : Array.Sort(Result2) : Array.Sort(Result3)  ' Ordeno los Items

        ' funcion
        For Each Number As Int32 In Result1
            TextBoxCount += 1
            TextBox(TextBoxCount).Text = Number
        Next

        For Each Number As Int32 In Result2
            TextBoxCount += 1
            TextBox(TextBoxCount).Text = Number
        Next

        For Each Number As Int32 In Result3
            TextBoxCount += 1
            TextBox(TextBoxCount).Text = Number
        Next


End Class



Luis



#459
Cita de: El Benjo en 23 Octubre 2013, 21:51 PM
Bueno, depende de lo que quieras realmente si lo que quieres es que simplemente no se puedan ingresar números en un rango mayor entonces sería algo como:

Código (vbnet) [Seleccionar]

Private Sub TextBox7_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox48.TextChanged
        If Val(TextBox7.Text) > 99 Then
            TextBox7.Text = 99
        End If
End Sub


Pero yo te recomendaría utilizar el control "NumericUpDown", es más fácil de programar y es un poco más profesional hacerlo de esta manera.

Saludos


Lo he probado pero no me funciona :) sera porque yo no escribo directamente sobre el texbox ? ya que este recibe de una variable el resultado a mostrar en el texbox



Result1 = {Num1 + 1, Num1 + 2, Num1 + 20} _


Luis







#460
Bien aunque no lo crean me da pena preguntar ya varias veces lo mismo  :silbar: no logro hacer que en unos resultados de unas simples cuentas no me muestren en los texboxes. dentro de un rango establecido  ( mi rango es 00 al 99 )  y todo lo que se pase de 99 no lo debe mostrar pero si debe de mostrar el 99, bien he gogleado y buscado por este mismo foro pero na,,,estoy probando con esta rutina pero na tampoco....AUXILIO :)

Private Sub TextBox7_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox48.TextChanged
        If Val(TextBox7.Text) >= 99 Then
            TextBox7.Text = ""
        End If
    End Sub



Luis