Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema array

Estas en el tema de Problema array en el foro de .NET en Foros del Web. Mi problema es el siguiente, he creado dos paneles que se rellenan con textbox segun el SelectItem de un combobox, hasta hay todo bien porque ...
  #1 (permalink)  
Antiguo 20/03/2011, 08:23
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema array

Mi problema es el siguiente, he creado dos paneles que se rellenan con textbox segun el SelectItem de un combobox, hasta hay todo bien porque se me rellenan, pero por los motivos que sean cambio el combobox.SelectItem a otra cifra superior, pues el array pierde el ultimo valor y no consigo hacer que se mantenga. Aqui os pongo el codigo del ComboBox1_SelectedIndexChanged.

For f = 0 To ComboBox1.SelectedItem - 1
ReDim Preserve y(f)
y(f) = New TextBox
y(f).Name = "txtPresNum" & f
'y(f).Text = y(f).Name
y(f).TextAlign = HorizontalAlignment.Right
y(f).Width = 69
If f <> 0 Then
y(f).Top = y(f - 1).Top + y(f).Height + 3
End If
Panel2.Controls.Add(y(f))
Next

Despues tengo un boton que suma los valores de todos los textbox de dicho panel, la primera vez que le doy me hace bien el calculo, en cambio si aumento el selectitem se pierde el ultimo valor del primer array echo y por lo tanto al darle a calcular pierde algunos valores. Aqui pongo el sumatorio del boton calcular.

For i = 0 To UBound(y)
subtotal = subtotal + Val(y(i).Text)
Next

Espero haberme explicado lo mejor posible!
  #2 (permalink)  
Antiguo 20/03/2011, 08:37
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema array

No entiendo bien lo que queres hacer.. pero por que no probas.. usar la sentencia FOR con numeros, sin variables, para sacarte la duda de que ese no sea el problema.

Y con respecto a la sumatoria, fijate donde estas declarando la variable subtotal, y me parece que cada vez que se terminan los calculos te conviene volver la variable al valor inicial... Si te explicas un poquito mejor capaz te puedo ayudar un poco mas, saludos..
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #3 (permalink)  
Antiguo 20/03/2011, 08:48
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema array

Haber tengo un comboBox en el que seleccionas cuantos textbox quieres que te cree, los crea perfectamente, seguido dando al boton calcular te suma todos perfectamente, pero ahora decido cambiar el combobox y hacer que añada otro textbox y le añade perfectamente sin perder los anteriores ni sus valores, pero al volver a darle al boton calcular no me suma todos los textbox, me suma los de la primera seleccion del combobox menos el ultimo mas los ultimos añadidos. Te pongo el ejemplo de otra manera a ver si lo ves mejor.

combobox.selectitem = 3

valor textbox1 = 5
valor textbox2 = 10
valor textbox3 = 15

boton calcular = 30 --> bien

ahora cambio combobox
combobox.selectitem = 5

valor textbox1 = 5
valor textbox2 = 10
valor textbox3 = 15
valor textbox4 = 20
valor textbox5 = 25

boton calcular = 60 --> mal --> deberia ser 75

al dar al boton calcular tengo puesto un msgbox para que muestre el valor de cada textbox y en el textbox3 el valor es 0.

si ahora sigo cambiando el combobox.selectitem los valores que se perderan son el de textbox3 y el de textbox5.

Respecto a lo de la variable subtotal, esta bien lo que pasa que no lo mostre en el post, pero cada vez que doy a calcular su valor comienza en 0, asi que hay no hay problema.

Espero que ahora este mejor explicado, gracias de antemano.
  #4 (permalink)  
Antiguo 20/03/2011, 08:56
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema array

Me mostras el codigo por favor? Quiero probarlo y encontrar el error si no te molesta. Hay muchas formas de hacerlo, pero no te quiero cambiar todo el codigo.. seguramente es un error pequeño.. Usas VB no? que version de visual studio?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #5 (permalink)  
Antiguo 20/03/2011, 09:01
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema array

Estas son las variables

Dim x(0) As TextBox, i As Int16
Dim y(0) As TextBox, f As Int16
Dim subtotal, fondo As Double
Dim idpres As Integer
Dim p As Integer

Ahora el codigo de combobox y del boton calcular

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
For Me.i = 0 To ComboBox1.SelectedItem - 1
ReDim Preserve x(i)
x(i) = New TextBox
x(i).Name = "txtPres" & i
x(i).Text = x(i).Name
x(i).MaxLength = 25
x(i).Width = 150
If i <> 0 Then
x(i).Top = x(i - 1).Top + x(i).Height + 3
End If
Panel1.Controls.Add(x(i))
Next
For Me.f = 0 To ComboBox1.SelectedItem - 1
ReDim Preserve y(f)
y(f) = New TextBox
y(f).Name = "txtPresNum" & f
'y(f).Text = y(f).Name
y(f).TextAlign = HorizontalAlignment.Right
y(f).Width = 69
If f <> 0 Then
y(f).Top = y(f - 1).Top + y(f).Height + 3
End If
Panel2.Controls.Add(y(f))
Next
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
subtotal = 0
For Me.i = 0 To UBound(y)
subtotal = subtotal + Val(y(i).Text)
Next
TextBox7.Text = subtotal
fondo = subtotal * (10 / 100)
TextBox8.Text = fondo
TextBox16.Text = subtotal + fondo
For Me.i = 0 To UBound(y)
MsgBox(Val(y(i).Text))
Next
End Sub

Hay esta todo, si supongo que sea una tonteria pero no se el que puede ser y he estado probando muchas cosas y nada..

uso visual studio 2008
  #6 (permalink)  
Antiguo 20/03/2011, 09:10
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema array

Tenes algun codigo en el load??? Los textbox ya los tenes agregados? antes de que elijan la cantidad??
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #7 (permalink)  
Antiguo 20/03/2011, 09:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema array

Nada en load no hay nada y los textbox se crean en el selectitem del combobox, excepto los del boton 3 que si los tengo en diseño puestos.
  #8 (permalink)  
Antiguo 20/03/2011, 09:27
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema array

te deje un pvt fijate
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #9 (permalink)  
Antiguo 20/03/2011, 10:22
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema array

El codigo del boton dejalo asi:

Código:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

For Me.m = 0 To UBound(y)
subtotal = subtotal + Val(y(m).Text)
Next
TextBox7.Text = subtotal
fondo = subtotal * (10 / 100)
TextBox8.Text = fondo
TextBox16.Text = subtotal + fondo
For Me.m = 0 To UBound(y)
MsgBox(Val(y(m).Text))
Next
m=0
End Sub
saca:

subtotal = 0

Y arriba declaras m entero.. asi me anda excelente! saludos
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #10 (permalink)  
Antiguo 20/03/2011, 10:53
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema array

Perfecto, funciono! muchas gracias!!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:24.