UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ CÓDIGO ASOCIADO CON LA FORMA CAPTURA (FRM_CAPTURA) '***************************** '********** FORMA CAPTURA **** Private Sub Cmd_Regresar_Captura_Click() sw1 = 1: sw2 = 0: sw2 = 0 Unload Me Frm_Menu.Show End Sub Private Sub Cmd_ActualizarX_Click() T = Val(Lbl_IxM.Caption) T = FormatNumber(T, 0) X(T) = Val(Txt_XM.Text) Data.TextMatrix(T, 1) = X(T) Txt_XM.Text = "" Lbl_IxM.Caption = "" Y(T) = Val(Txt_YM.Text) Txt_YM.Text = "" Lbl_IyM.Caption = "" Data.TextMatrix(T, 2) = Y(T) VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "" End Sub Private Sub Txt_XM_KeyPress(KeyAscii As Integer) P=P+1 If Chr(KeyAscii) >= "0" And Chr(KeyAscii) <= "9" Then VC1 = 1 End If If Chr(KeyAscii) = "-" And P = 1 Then VC2 = 1 End If If Chr(KeyAscii) = "." And VC11 = 1 Then VC3 = 1 VC11 = 0 End If If (VC1 = 1 Or VC2 = 1 Or VC3 = 1) Then Cadena = Cadena & Chr(KeyAscii) VC1 = 0: VC2 = 0: VC3 = 0 9 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ Else KeyAscii = 0 Beep MsgBox "Entrada Invalida, solo permite números reales" Txt_XM.SetFocus Txt_XM.Text = X(Val(Lbl_IxM)) VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0 Cadena = "" End If End Sub Private Sub Txt_YM_KeyPress(KeyAscii As Integer) P=P+1 If Chr(KeyAscii) >= "0" And Chr(KeyAscii) <= "9" Then VC1 = 1 End If If Chr(KeyAscii) = "-" And P = 1 Then VC2 = 1 End If If Chr(KeyAscii) = "." And VC11 = 1 Then VC3 = 1 VC11 = 0 End If If (VC1 = 1 Or VC2 = 1 Or VC3 = 1) Then Cadena = Cadena & Chr(KeyAscii) VC1 = 0: VC2 = 0: VC3 = 0 Else KeyAscii = 0 Beep MsgBox "Entrada Invalida, solo permite números reales" Txt_YM.SetFocus Txt_YM.Text = Y(Val(Lbl_IxM)) VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0 Cadena = "" End If End Sub Private Sub Data_LeaveCell() 10 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ Data.CellBackColor = &H80000005 ' Color blanco End Sub Private Sub Data_EnterCell() Data.CellBackColor = &HC0FFFF ' Color Amarillo End Sub Private Sub Data_Click() Fila = Data.Row Lbl_IxM = Fila Lbl_IyM = Fila Txt_XM.Text = X(Fila) Txt_YM.Text = Y(Fila) End Sub Private Sub Cmd_AceptarY_Click() J=J+1 If J = N Then ValorY = Val(Txt_Y.Text) ValorY = FormatNumber(ValorY, 2) Y(J) = ValorY Data.TextMatrix(J, 0) = J Data.TextMatrix(J, 2) = Y(J) Cmd_AceptarY.Enabled = False Fra_C03.Visible = True Lbl_Iy.Visible = False Cmd_Regresar_Captura.Enabled = True i=0 J=N-1 Txt_Y.Text = "" Txt_Y.Enabled = False Fra_MarcoD.Caption = "Proceso edición/modificación de Datos" Cmd_AceptarY.Enabled = False Fra_C04.Visible = True Txt_Mensaje = "Coloque el puntero del mouse sobre el numero de la fila de la data que desea editar y haga CLICK; luego cambie el contenido del cuadro de entrada correspondiente al valor X(i), Y(i) o ambos...luego PULSE el botón ACTUALIZAR para modificar el(los) valor(es) seleccionados." VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "" Else 11 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ Fra_MarcoD.Visible = True Data.Visible = True ValorY = Val(Txt_Y.Text) ValorY = FormatNumber(ValorY, 2) Y(J) = ValorY With Data .TextMatrix(J, 0) = J .TextMatrix(J, 2) = Y(J) End With i=i+1 Lbl_Iy = i With Txt_Y .Text = "" .SetFocus End With End If VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "" End Sub Private Sub Cmd_AceptarX_Click() J=J+1 If J = N Then ValorX = Val(Txt_X.Text) ValorX = FormatNumber(ValorX, 2) X(J) = ValorX Data.TextMatrix(J, 0) = J Data.TextMatrix(J, 1) = X(J) Cmd_AceptarX.Enabled = False Lbl_Ix.Visible = False i=0 J=0 Txt_X.Text = "" Txt_X.Enabled = False Cmd_AceptarX.Enabled = False Fra_Y.Visible = True VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "" Else 12 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ Fra_MarcoD.Visible = True Data.Visible = True ValorX = Val(Txt_X.Text) ValorX = FormatNumber(ValorX, 2) X(J) = ValorX With Data .TextMatrix(J, 0) = J .TextMatrix(J, 1) = X(J) End With i=i+1 Lbl_Ix = i With Txt_X .Text = "" .SetFocus End With End If VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "" End Sub Private Sub Txt_X_KeyPress(KeyAscii As Integer) P=P+1 If Chr(KeyAscii) >= "0" And Chr(KeyAscii) <= "9" Then VC1 = 1 End If If Chr(KeyAscii) = "-" And P = 1 Then VC2 = 1 End If If Chr(KeyAscii) = "." And VC11 = 1 Then VC3 = 1 VC11 = 0 End If If (VC1 = 1 Or VC2 = 1 Or VC3 = 1) Then Cadena = Cadena & Chr(KeyAscii) VC1 = 0: VC2 = 0: VC3 = 0 Else KeyAscii = 0 Beep 13 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ MsgBox "Entrada Invalida, solo permite números reales" Txt_X = "" Txt_X.SetFocus VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "" End If End Sub Private Sub Txt_Y_KeyPress(KeyAscii As Integer) P=P+1 If Chr(KeyAscii) >= "0" And Chr(KeyAscii) <= "9" Then VC1 = 1 End If If Chr(KeyAscii) = "-" And P = 1 Then VC2 = 1 End If If Chr(KeyAscii) = "." And VC11 = 1 Then VC3 = 1 VC11 = 0 End If If (VC1 = 1 Or VC2 = 1 Or VC3 = 1) Then Cadena = Cadena & Chr(KeyAscii) VC1 = 0: VC2 = 0: VC3 = 0 Else KeyAscii = 0 Beep MsgBox "Entrada Invalida, solo permite números reales" Txt_X = "" Txt_Y.SetFocus VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "" End If End Sub Private Sub Cmd_AceptarN_Click() N = Val(Txt_N) If (N > 0) Then Lbl_Ix.Visible = True N = Val(Txt_N.Text) ReDim X(N) 14 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ ReDim X_orden(N) ReDim Y(N) ReDim Y_orden(N) Fra_C02.Visible = True i=1 Lbl_Ix = i Lbl_Iy = i J=0 ' Se le da formato al control data (Ms flex Grid) With Data .Cols = 4 .Rows = N + 1 .FixedCols = 0 .FixedRows = 1 .Appearance = flexFlat .Clear .ColWidth(0) = 800 .ColWidth(1) = 1000 .TextMatrix(0, 0) = " I" .TextMatrix(0, 1) = " Valor X" .TextMatrix(0, 2) = " Valor Y" End With Fra_MarcoD.Caption = "Lectura de datos (introducción por teclado)" Txt_N.Enabled = False Cmd_AceptarN.Enabled = False Fra_C03.Visible = True Txt_X.Text = "" 'Txt_X.SetFocus Data.Visible = False Fra_X.Visible = True VC1 = 0: VC2 = 0: VC3 = 0: VC11 = 1: P = 0: Cadena = "": VT20 = 0 Else KeyAscii = 0 MsgBox "Entrada Invalida. Espera por un numero entero positivos" Txt_N = "" Txt_N.SetFocus 15 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) UCV / FACES / EECA. Computación I: Periodo: II 2010. Prof. Amarilis García Nombre del Proyecto: Programa estadístico para regresión lineal simple (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011) ________________________________________________________________________ End If End Sub Private Sub Txt_N_KeyPress(KeyAscii As Integer) 'Validacion de entrada de N If (Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9") Or (Chr(KeyAscii) = vbKeyReturn) Then KeyAscii = 0: Beep MsgBox "Entrada Invalida. Espera por un numero entero positivos" Txt_N = "" Txt_N.SetFocus End If End Sub Private Sub Form_Load() Cadena = "" Fra_C01.Visible = True Fra_C02.Visible = False Fra_C03.Visible = False Fra_C04.Visible = False Fra_MarcoD.Visible = False Fra_X.Visible = False Fra_Y.Visible = False Cmd_Regresar_Captura.Enabled = False End Sub 16 ____________________________________________________________________________ (Versión de prueba, sujeta a revisión. Caracas, 21Feb2011)