Ver Mensaje Individual
  #47 (permalink)  
Antiguo 03/05/2010, 10:00
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Ayuda por favor

Hola Xyon:

He visto tu programa y si no nos detenemos a analizar el código la verdad es que parece conseguir su objetivo, no esta mal, le queda bastante por andar, veo que tienes previsiones de imprimir el grid y enviarlo a excel, tarea 'algo' complicada pero tampoco es que sea muy dificil se trata de captarle la idea, peroya hablaremos de ello si lo crees necesario en otro mensaje.

Respecto a lo que te decía del código supongo que si tuvieras que hacerlo de nuevo lo replantearías de distinta manera, pero hay una Rutina que me llama poderosamente la atención por como la has dejado y es la siguiente:

Private Sub VisualizarDatos()

'Mostramos los datos en las celdas
Select Case dia_C

Case "lunes"

MSFlexGrid.TextMatrix(0, 0) = fecha_C
MSFlexGrid.TextMatrix(1, 0) = inicio1_C
MSFlexGrid.TextMatrix(2, 0) = fin1_C
MSFlexGrid.TextMatrix(3, 0) = inicio2_C
MSFlexGrid.TextMatrix(4, 0) = fin2_C
MSFlexGrid.TextMatrix(5, 0) = inicio3_C
MSFlexGrid.TextMatrix(6, 0) = fin3_C
MSFlexGrid.TextMatrix(7, 0) = tiempo_C

Case "martes"

MSFlexGrid.TextMatrix(0, 1) = fecha_C
MSFlexGrid.TextMatrix(1, 1) = inicio1_C
MSFlexGrid.TextMatrix(2, 1) = fin1_C
MSFlexGrid.TextMatrix(3, 1) = inicio2_C
MSFlexGrid.TextMatrix(4, 1) = fin2_C
MSFlexGrid.TextMatrix(5, 1) = inicio3_C
MSFlexGrid.TextMatrix(6, 1) = fin3_C
MSFlexGrid.TextMatrix(7, 1) = tiempo_C

Case "miercoles"
MSFlexGrid.TextMatrix(0, 2) = fecha_C
MSFlexGrid.TextMatrix(1, 2) = inicio1_C
MSFlexGrid.TextMatrix(2, 2) = fin1_C
MSFlexGrid.TextMatrix(3, 2) = inicio2_C
MSFlexGrid.TextMatrix(4, 2) = fin2_C
MSFlexGrid.TextMatrix(5, 2) = inicio3_C
MSFlexGrid.TextMatrix(6, 2) = fin3_C
MSFlexGrid.TextMatrix(7, 2) = tiempo_C

Case "jueves"
MSFlexGrid.TextMatrix(0, 3) = fecha_C
MSFlexGrid.TextMatrix(1, 3) = inicio1_C
MSFlexGrid.TextMatrix(2, 3) = fin1_C
MSFlexGrid.TextMatrix(3, 3) = inicio2_C
MSFlexGrid.TextMatrix(4, 3) = fin2_C
MSFlexGrid.TextMatrix(5, 3) = inicio3_C
MSFlexGrid.TextMatrix(6, 3) = fin3_C
MSFlexGrid.TextMatrix(7, 3) = tiempo_C

Case "viernes"
MSFlexGrid.TextMatrix(0, 4) = fecha_C
MSFlexGrid.TextMatrix(1, 4) = inicio1_C
MSFlexGrid.TextMatrix(2, 4) = fin1_C
MSFlexGrid.TextMatrix(3, 4) = inicio2_C
MSFlexGrid.TextMatrix(4, 4) = fin2_C
MSFlexGrid.TextMatrix(5, 4) = inicio3_C
MSFlexGrid.TextMatrix(6, 4) = fin3_C
MSFlexGrid.TextMatrix(7, 4) = tiempo_C

Case "sabado"
MSFlexGrid.TextMatrix(0, 5) = fecha_C
MSFlexGrid.TextMatrix(1, 5) = inicio1_C
MSFlexGrid.TextMatrix(2, 5) = fin1_C
MSFlexGrid.TextMatrix(3, 5) = inicio2_C
MSFlexGrid.TextMatrix(4, 5) = fin2_C
MSFlexGrid.TextMatrix(5, 5) = inicio3_C
MSFlexGrid.TextMatrix(6, 5) = fin3_C
MSFlexGrid.TextMatrix(7, 5) = tiempo_C

Case "domingo"
MSFlexGrid.TextMatrix(0, 6) = fecha_C
MSFlexGrid.TextMatrix(1, 6) = inicio1_C
MSFlexGrid.TextMatrix(2, 6) = fin1_C
MSFlexGrid.TextMatrix(3, 6) = inicio2_C
MSFlexGrid.TextMatrix(4, 6) = fin2_C
MSFlexGrid.TextMatrix(5, 6) = inicio3_C
MSFlexGrid.TextMatrix(6, 6) = fin3_C
MSFlexGrid.TextMatrix(7, 6) = tiempo_C

End Select
End Sub


Mira lo que DEBERIAS haber hecho, y esta vez lo digo en voz alta, porque puedes cambiarlo, veras que su mantenimiento es mucho mas simple:

Private Sub VisualizarDatos()

'Mostramos los datos en las celdas
Dim Columna as Single
Select Case dia_C
Case "lunes": Columna = 0
Case "martes": Columna = 1
Case "miercoles": Columna = 2
Case "jueves": Columna = 3
Case "viernes": Columna = 4
Case "sabado": Columna = 5
Case "domingo": Columna = 6
End Select

MSFlexGrid.TextMatrix(0, Columna) = fecha_C
MSFlexGrid.TextMatrix(1, Columna) = inicio1_C
MSFlexGrid.TextMatrix(2, Columna) = fin1_C
MSFlexGrid.TextMatrix(3, Columna) = inicio2_C
MSFlexGrid.TextMatrix(4, Columna) = fin2_C
MSFlexGrid.TextMatrix(5, Columna) = inicio3_C
MSFlexGrid.TextMatrix(6, Columna) = fin3_C
MSFlexGrid.TextMatrix(7, Columna) = tiempo_C

End Sub



Tengo o no tengo razón. Venga hablamos.
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...