Ver Mensaje Individual
  #9  
Antiguo 04-10-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Yo tambien uso la funcion esa del usuario.... pero da mas problemas que otra cosa, sobre todo, porque la cadena 'User' puede estar contenida en otros errores al editar el registro. Pero vamos, lo que buscas es esto:
Código:
Function USUARIO(Error:string):string;
begin
Result :=copy(error,(Ansipos('User:',error)+6),length(error)-(ansipos('User:',error)+4));
qrypuesto.ParamByName('prPuesto').AsString:=copy(error,(Ansipos('User:',error)+6),length(error)-(ansipos('User:',error)+4));
qrypuesto.Prepare;
qryPuesto.open;
try
 if not (qrypuesto.IsEmpty) then
    if not qrypuesto.Fields[0].IsNull then
        Result:= qrypuesto.Fields[0].AsString
finally
 qrypuesto.Close;
end;
result := uppercase(result);
end;
qrypuesto es una consulta que hago a mi tabla login, donde guardo el nombre de mi usuario ( el de mi programa) con el nombre del ordenador donde está trabajando, así, muestro el usuario de mi programa que ha bloqueado el registro en lugar de mostrar el nombre del ordenador.

Eso si, cuando un usuario se va del sistema tienes que borrar el campo 'puesto' de la tabla login.


Advertencia: No uses GetUserName, usuario que inició la sesion en Windows, ya que seria dependiente del sistema operativo que usa el Cliente
Responder Con Cita