SABERMASJUSTODARACT
SABERMASJUSTODARACT Por una Facultad de provecho a la comunidad

Programar en VB6

Pagina en preparacion
proyecto para depositos y retiros de un banco,
https://www.4shared.com/rar/4iQDW4paei/EseBanco.html
Para poder ver y analizar el proyecto, tenes que tener VB6 instalado en tu Pc, que lo podes descargar del link que esta en la siguiente pagina web en la zona de vb6
Visitar AEM Archivos

Estos son los archivos del proyecto:


Con el VB6 instalado, al hacer click en proyecto1, se desplegarán los distintos formularios


Estos formularios muestran el código de cada comando que está en ellos, si seleccionamos uno de ellos y hacemos click en mostrar formulario en la parte medio superior derecha, se nos desplegará dicho formulario.

Alli podremos ver los distintos botones o
comandos y los lugares para escribir, cajas
de texto, tambien los recuadros hechos para
una mejor presentacion y en la parte superior
el nombre asignado al formulario (caption)
Cada uno de estos elementos, al seleccionarlos
mostraran sus propiedades en la parte media a la derecha. Estas propiedades se prefijan en lo
que se llama tiempo de diseño, pudiendo
modificarse algunas mientras se ejecuta el
programa, lo que se llama en tiempo de ejecucion
como es el caso de colores, tamaño de letras
texto de los carteles o labels, etc.


En este caso tenemos un formulario contemedor de otros formularios, que se llaa formulario MDI, este formulario se usa para hacer los menús típicos de windows, para presenter una pantalla de fondo o un escritorio si usamos toda la pantalla, y permiten una certa cantidad de objetos no siendo iguales a los otros formularios, que al querer que se presenten dentro del contenedor, debemos declarar la propiedad como mdi children (hijos del MDI)


Los otros formularios, veremos que tienen la propiedad midchildren activada, y que en este que vemos como en cualquiera de los otros, al hacer click o doble click sobre un item, nos muestra el código de lo que hacen, mientras que a la derecha, como dijimos al seleccionarlo nos aparecerán sus propiedades en tiempo de diseño.


Aqui selecciono a continuacion el frame, el cuadro de texto y el boton para mostrar sus propiedades



Los formularios estan relacionados con na base de datos en access, para comodidad use la dersion 2000, pero con algunas modificaciones funciona con versiones mas modernas.
La version utilizada tiene por razón, la simplicidad y el poco peso de los archivos, lo que hace mas facil su manejo.
Esta base cuenta con dos tablas. una de clientes y otra de operaciones. La de clientes tiene como finalidad guardar los datos personales, clave de acceso y saldo. La otra tabla es para realizar un operatoria de control por parte del banco
Para acceder a la base, tiene una clave "12345" que cuando se hace la conexion en el codigo es mencionada para que
se le permita a la aplicación acceder a la misma (esto esta en un sub cuando carga el formulario MDI).
Para tener acceso a la base de datos y comunicarnos con ella desde el programa, tenemos que incluir dos elementos, el objeto de conexion, y la biblioteca que permite reconocer al compilador que estamos usando ese objeto, para eso nos vamos en el compilador de VB6 a donde dice "Proyecto" luego se despliega el menu y leemos donde dice componentes. Tiene que estar tildado microsoft ADO data Controls (OLEDB) que será el objeto de enlace con la base de datos, luego de vuelta a "Proyecto" donde dice referencias, tildamos "Microsoft DAO 3.6 Objetcs Library" y "Microsoft ActiveX Data Objects 2.6 Library" con lo que aseguramos que el compilador reconocerá la sintaxis que vamos a usar.
Los objetos deben ser declarados en forma publica, para ser accedido desde todos los formularios, por eso en un modulo agregado al proyecto(Para declarar funciones y codigos solamante) vemos:
Public Saldo, Monto
Public cn As New ADODB.Connection
Public rs As New Recordset

Esto asegura que cn que es el objeto de conexion, y rs que es un paquete de datos que lleva la consulta a la base y regresa al programa con los resultados de la misma, son de caracter publico. En este caso hemos usado otras variables de caracter publico como Saldo y Monto, para no tener que pasarlas de formulario a formulario.
En este modulo vemos ademas otras funciones publicas, que se usan desde mas de un formulario, para evitar tener que reescribirlas, y solo limitarnos a llamar a esta funcion para obtener lo que necesitamos.
En una de estas funciones, vemos un tipico salto por error, que cuando por alguna incoherencia en las operaciones se produce un error, al estar activado "On error gorto errores", salta a la etiqueta mencionada, casi siempre en la parte inferior de la funcion y dá una salida elegante sin que se tilde el programa.

Claro que cuando ya esta probado y funcionando correctamente, este salto no es necesario, y se puede eliminar pero cuando la base de datos es compartida, conviene usar un sistema de transcacciones, es decir, hacer toda la operatoria pero sin provocar cambios en la base de datos, y en caso de algun problema volver todo atras sin haber modificado la
 misma. Eso se hace mediate beguintrans, conmitrans, y rollbacktrans que luego en un proyecto mas avanzado pueden ver como se usa o ir a:
https://translate.google.com.ar/translate?hl=es-419&sl=en&u=https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/begintrans-committrans-and-rollbacktrans-methods-ado&prev=search


Un proyecto para una repuesta a una solicitud en Yahoo

Hola, resulta que estoy a punto de graduarme y me han asignado un programa en Visual Basic, el profesor no nos explico ni nada y no tengo de idea de como hacerlo, necesito ayuda por favor:
Se trata de dos depósitos iguales y a distinta altura, unidos mediante una tubería a una determinada
altura, que permite cuando está abierta pasar fluido de un depósito al otro.
https://ar.answers.yahoo.com/question/index?qid=20171019031821AAi487g


codigo:


Public g%, i%, j%, h%, flag%


Private Sub Command2_Click()
Timer1.Enabled = True
Timer2.Enabled = False
g = 100 - i
j = 0
h = 0
End Sub

Private Sub Command3_Click()
Timer2.Enabled = True
Timer1.Enabled = False
i = g
j = 0
h = 0
End Sub

Private Sub Command4_Click()
If Timer1.Enabled = False And Timer2.Enabled = True Then
flag = 0
Timer1.Enabled = False
Timer2.Enabled = False
Exit Sub
End If

If Timer2.Enabled = False And Timer1.Enabled = True Then
flag = 1
Timer1.Enabled = False
Timer2.Enabled = False
Exit Sub
End If

If Timer1.Enabled = False And Timer2.Enabled = False And flag = 1 Then Timer1.Enabled = True
If Timer2.Enabled = False And Timer1.Enabled = False And flag = 0 Then Timer2.Enabled = True


End Sub

Private Sub Form_Activate()
Picture1.Line (95, 4000)-(2005, 1000), QBColor(0), B
Picture1.Line (3100, 4000)-(5005, 1000), QBColor(0), B
Picture1.Line (500, 4150)-(4500, 4010), QBColor(7), BF
End Sub

Private Sub Timer1_Timer() '/Barra  de avance
On Error Resume Next
If Timer2.Enabled = True Then
Timer2.Enabled = False

End If
Me.Cls
Picture1.Line (95, 4000)-(2005, 1000), QBColor(0), BF
Picture1.Line (100, 4000)-(2000, 4000 - (g * 30)), QBColor(9), BF
Picture1.Line (3100, 4000)-(5005, 1000), QBColor(0), BF
Picture1.Line (3100, 4000)-(5000, 1000 + (g * 30)), QBColor(9), BF

'caño intecomunicador tanques
Picture1.Line (500, 4150)-(4500, 4010), QBColor(7), BF

j = g + h
If (j > 10) Then
h = -(g)
j = 0
End If
If j > 12 Then j = 4
Picture1.FillStyle = (j / 2) + 2

Picture1.Line (600, 4000)-Step(3800, 120), QBColor(9), B
Picture1.DrawWidth = 2

Picture1.Circle (2500, 4050), 100

Me.Refresh
g = g + 1
Label1 = "Tanque A: " & g * 100 / 100 & "%"
Label2 = "Tanque B: " & 100 - (g * 100 / 100) & "%"
If g = 100 Then
Timer1.Enabled = False

g = 0
End If

End Sub

Private Sub Timer2_Timer()
On Error Resume Next
If Timer1.Enabled = True Then
Timer1.Enabled = False
'Else
'Timer1.Enabled = True
End If

Me.Cls
'Picture1.Cls
Picture1.Line (95, 4000)-(2005, 1000), QBColor(0), BF
Picture1.Line (100, 4000)-(2000, 1000 + (i * 30)), QBColor(9), BF
Picture1.Line (3100, 4000)-(5005, 1000), QBColor(0), BF
Picture1.Line (3100, 4000)-(5000, 4000 - (i * 30)), QBColor(9), BF

'caño intecomunicador tanques
Picture1.Line (500, 4150)-(4500, 4010), QBColor(7), BF

j = i + h
If (j > 10) Then
h = -(i)
j = 0
End If

Picture1.FillStyle = (j / 2) + 2

Picture1.Line (600, 4000)-Step(3800, 120), QBColor(9), B
Picture1.DrawWidth = 2

Picture1.Circle (2500, 4050), 100

Me.Refresh
i = i + 1
Label1 = "Tanque A: " & i * 100 / 100 & "%"
Label2 = "Tanque B: " & 100 - (i * 100 / 100) & "%"
If i = 100 Then
Timer2.Enabled = False

'i = 0
End If
End Sub

El video de como funciona en: https://youtu.be/avn7mKROIiY










Saltar a la proxima página

Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis