Barbaro ... buen trabajo ... y a usar se a dicho...

Saludos.




Saludos.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: seba123neo en 16 Abril 2009, 01:18 AM
Hola, es re facil, simplemente cuando agregas un usuario nuevo (no se si tu sistema tiene altas de usuario) me inmagino que si porque sino es inutil validar...pues cuando das de alta el usuario ademas de guardar la contraseña y el usuario tenes que tener un campo que guarde el tipo de usuario y despues comapras y listo...
saludos
Rst.Open "SELECT * FROM Usuarios", cn, adOpenStatic, adLockPessimistic, adAsyncFetch
For i = 1 To Rst.RecordCount
If StrComp(Rst(0).Value, Combo1) = 0 Then
If StrComp(Rst(1).Value, TxtUsuario) = 0 Then
If StrComp(Rst(2).Value, TxtClave) = 0 Then
ClaveCorrecta = True
Tipousuario = Combo1
Usuario = TxtUsuario
Exit For
End If
End If
End if
Rst.MoveNext
Next i
Principal.Tipo.Caption = TipoUsuario
Principal.Usuario.Caption = Usuario
Dim cn As New ADODB.Connection
Dim Rst As New Recordset
Dim i As Integer
Dim ClaveCorrecta As Boolean
Private Sub Form_Load()
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "data.mdb"
cn.Open
End Sub
Private Sub Button1_Click()
If TxtUsuario.Text <> Empty And TxtClave.Text <> Empty Then
Rst.Open "SELECT Usuario,Clave FROM Usuarios", cn, adOpenStatic, adLockPessimistic, adAsyncFetch
If Rst.RecordCount Then
For i = 1 To Rst.RecordCount
If StrComp(Rst(0).Value, TxtUsuario) = 0 Then
If StrComp(Rst(1).Value, TxtClave) = 0 Then
ClaveCorrecta = True
Exit For
End If
End If
Rst.MoveNext
Next i
End If
If ClaveCorrecta Then
Unload Me
Principal.Show
Else
MsgBox "Ha escrito incorrectamente el nombre de usuario o la clave", vbExclamation, "Atención"
Rst.Close
Set Rst = Nothing
End If
Else
MsgBox "Debe escribir en nombre de usuario y la clave", vbExclamation, "Atención"
End If
End Sub
Principal.Tipo.Caption
Cita de: LeandroA en 10 Abril 2009, 23:43 PM
Hola, si en efectivo un hook seria mejor, se que Cobein había hecho un modulo para ir vijilando los sucesos de ejecución pero no se si tengo dicho modulo.
por otro lado la forma en la que testeas la lista con un listbox es un mas lento, osea te conviene usar un array o una colección, y no llamar a cerrar todos estos procesos, ya que por lo que veo no verificas si esta en ejecución, lo que seria conveniente es que listes los procesos en ejecución y después compares cada uno, si coincides cierras el proceso.
Private Sub listar()
On Error GoTo error
Dim linea As String
Dim linea2 As String
Open "data.db" For Input As #2
Do Until (EOF(2))
Line Input #2, linea
linea2 = Encrypt(linea)
List1.AddItem linea2
Loop
Close (2)
Exit Sub
error:
Close (2)
End Sub
Private Sub Timer1_timer()
On Error Resume Next
Dim i As Integer
Dim proceso As String
total = List1.ListCount - 1
For i = 0 To total
proceso = List1.List(i)
CerrarProceso (proceso)
Next i
End Sub