Domingo 22 de Diciembre de 2024, 13:14
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Problemas Con Msflexgrid
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Problemas Con Msflexgrid (Leído 1898 veces)
rechy
Miembro activo
Mensajes: 69
Problemas Con Msflexgrid
«
en:
Martes 9 de Marzo de 2004, 17:56 »
0
Hola amigos, tengo el siguiente problema. Realizo unos calculos en varias celdas de un msflexgrid. Pero en la ultima columna, me incrementa varias columnas vacias, las cuales no deberian aparecer.
Les muestro el codigo por si alguien encuentra el error.
Código: Text
Private Sub Command1_Click()
Call Estado_Refrescar60
Dim SG, SG60 As Single
Dim T As Single
Dim c, R As Integer
Dim BT As Integer
BT = 60
Call Estado_Comp
If ((a1.text <> "") And (a2.text <> "") And (t1.text <> "") And (t2.text <> "")) Then
a1.text = Format(a1.text, "#,##0.0000")
a2.text = Format(a2.text, "#,##0.0000")
t1.text = Format(t1.text, "#,##0.0")
t2.text = Format(t2.text, "#,##0.0")
tabla.Cols = (a2 - a1) * 1000
tabla.Rows = (t2 - t1) * 2 + 2
tabla.TextMatrix(0, 0) = "Temp.°F"
T = t1
R = 0
While (T <= t2)
SG = a1
c = 0
While (SG <= a2)
If (c = 0) Then
tabla.Col = c
tabla.Row = R + 1
tabla.text = T
End If
If (R = 0) Then
tabla.Col = c + 1
tabla.Row = R
tabla.text = SG
End If
SG60 = calcular_SG(SG, T)
tabla.Col = c + 1
tabla.Row = R + 1
tabla.text = SG60
tabla.text = Format(tabla.text, "#,##0.0000")
SG = SG + 0.002
c = c + 1
Wend
T = T + 0.5
R = R + 1
Wend
Else
Call Estado_Datosporc
End If
End Sub
Gracias por su ayuda
Tweet
elmango80
Miembro MUY activo
Mensajes: 149
Nacionalidad:
Re: Problemas Con Msflexgrid
«
Respuesta #1 en:
Martes 9 de Marzo de 2004, 20:01 »
0
Seria mejor si enviaras los archivos del programa para evaluarlo mejor y asi poder detectar mas facilmente el error...
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...
rechy
Miembro activo
Mensajes: 69
Re: Problemas Con Msflexgrid
«
Respuesta #2 en:
Martes 9 de Marzo de 2004, 20:46 »
0
Ok. Aqui adjunto el proyecto para ver si puede decirme donde esta el error que les comente hace rato.
Gracias.
rechy
Miembro activo
Mensajes: 69
Re: Problemas Con Msflexgrid
«
Respuesta #3 en:
Martes 9 de Marzo de 2004, 20:51 »
0
Ok. Aqui adjunto el proyecto para ver si puede decirme donde esta el error que les comente hace rato.
Gracias.
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
elmango80
Miembro MUY activo
Mensajes: 149
Nacionalidad:
Re: Problemas Con Msflexgrid
«
Respuesta #4 en:
Miércoles 10 de Marzo de 2004, 07:15 »
0
Hola rechy!
Por lo que pude observar las casillas en blanco te las esta generando la siguiente instruccion...
Código: Text
tabla.Cols = (a2 - a1) * 1000
tabla.Rows = (t2 - t1) * 2 + 2
Cuando multiplicas por 1000 al parecer estas generando mas columnas de las que necesitas, si te das cuenta cuando colocas en densidad relativa de 1 a 3, le dices a la
Tabla
que coloque 2000 columnas y tu programa le esta asignando " " a estas columnas que aparecen vacias, osea que no hay nada malo con el
MsFlexGrid
Te aconsejo que en lugar de hacerlo de esta forma utilices la funcion
AddNew
del
MsFlexGrid
---------------------------
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...
rechy
Miembro activo
Mensajes: 69
Re: Problemas Con Msflexgrid
«
Respuesta #5 en:
Miércoles 10 de Marzo de 2004, 15:32 »
0
Hola. Asi es ahi, es donde me crea las columnas de mas. Pero si no lo multiplico por 1000, no me aparece mas que 1 columna. No se que hacer. Ya le he movido a todo y no se como implementar la función ADDNEW del Msflexgrid que me comentas, gracias de todas formas.
Brroz
Miembro de PLATA
Mensajes: 1058
Re: Problemas Con Msflexgrid
«
Respuesta #6 en:
Miércoles 10 de Marzo de 2004, 16:16 »
0
Hola rechy.
No he examinado a fondo tu codigo, pero...
Podrías usar el método
AddItem
, pero esto inserta una fila en el flexgrid. Lo que puedes hacer es controlar cuando te hace falta una nueva columna y añadirla en el momento:
MsFlexGrid1.Cols=MsFlexGrid1.Cols + 1
, en lugar de añadir todas las columnas previamente. Lo mismo podrías hacer con las filas.
Chao.
roxiii
Miembro activo
Mensajes: 79
Re: Problemas Con Msflexgrid
«
Respuesta #7 en:
Miércoles 10 de Marzo de 2004, 19:19 »
0
Hola,tiene razon Brroz, cada vez que tienes que asignar la columna de tu rejilla asi:
tabla.Col = c + 1
comprueba si tabla.cols es menor o igual que c asi:
if tabla.cols<=c+1 then
tabla.cols=tabla.cols+1
tabla.Col = c + 1
endif
de esta forma la cantidad de columnas crecera a la necesidad de tus datos
elmango80
Miembro MUY activo
Mensajes: 149
Nacionalidad:
Re: Problemas Con Msflexgrid
«
Respuesta #8 en:
Jueves 11 de Marzo de 2004, 07:52 »
0
Hola rechy!!!
Ya consegui la soluciona tu problema lo unico que tienes que hacer es la formula de tu programa, es una tonteria pero funciona perfectamente.... en tu codigo tienes
Código: Text
tabla.Cols = (a2 - a1) * 1000
Pues bien lo que tienes que hacer es cambiarlo por este
Código: Text
tabla.Cols = ((a2 - a1) * 1000 / 2) + 2
Y todo esta listo, te agrega solo las columnas que necesitas y ya no tienes mas las columnas en blanco... Tiene razon cuando dicen que las soluciones mas faciles son las mas dificiles de encontrar.
Si tienes instalada la ayuda de VB leer un poco sobre los
MSFlexGrid
y sobre todo la propiedad
FormatString
y el metodo
AddNew
que tambien te habrian podido solucionar este problema pero fuera sido un poco mas fastidioso...
---------------------
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...
rechy
Miembro activo
Mensajes: 69
Re: Problemas Con Msflexgrid
«
Respuesta #9 en:
Jueves 11 de Marzo de 2004, 17:42 »
0
Muchas gracias. Era exactamente lo que queria y no podia hacerlo. Asi como dices, lo mas facil resulta ser lo mas dificil.
Gracias de nuevo.
Nos vemos
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Problemas Con Msflexgrid