Crear una base de datos en access.

Hola roy voy a crear una base de datos del mismo programa para igualar registros insertando la sesión de windows(Ejemplo mi usuario se llama daniela pero yo puedo entrar a otra computadora con mi mismo usuario y quiero que me diga el nombre delusuario a eso me refiero), la ip, nombre de la maquina del usuario de acuerdo a la computadora no se se este registrando, como puedo conseguir el código para que me almacene esos puntos
Por favor,, muchas gracias,, ya te califique ok.. Buen día chao,,

1 respuesta

Respuesta
1
Dany:
Este es el código de una aplicación pequeña que hace lo que necesitas, sólo debes agregar dos botones a tu form (uno para salir y el otro para ver los datos que me pides)
unit U_DatosAPI;
Interface
Uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Winsock;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
function ObtenerIP():String;
type
  pu_long = ^u_long;
var
  varTWSAData : TWSAData;
  varPHostEnt : PHostEnt;
  varTInAddr : TInAddr;
  namebuf : Array[0..255] of char;
begin
  If WSAStartup($101,varTWSAData) <> 0 Then
  Result := 'No. IP Address'
  Else Begin
    gethostname(namebuf,sizeof(namebuf));
    varPHostEnt := gethostbyname(namebuf);
    varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^);
    Result := Dirección IP: '+inet_ntoa(varTInAddr);
  End;
  WSACleanup;
end;
function ObtenerNombrePC : string;
var
  buffer: array[0..255] of char;
  size: dword;
begin
  size := 256;
  if GetComputerName(buffer, size) then
    Result := buffer
  else
    Result := ''
end;
function ObtenerUsuarioWindows : string;
Var
   UserName : string;
   UserNameLen : Dword;
begin
   UserNameLen := 255;
   SetLength(userName, UserNameLen) ;
   If GetUserName(PChar(UserName), UserNameLen) Then
     Result := Copy(UserName,1,UserNameLen - 1)
   Else
     Result := 'Desconocido';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  close;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage(ObtenerNombrePC+' '+ObtenerUsuarioWindows+' '+ObtenerIP);
end;
end.
Seguro te servirá, saludos y no olvides calificar está respuesta, nos vemos a la próxima.
En esta linea me marca dos errores:
result := Direccion IP: 'inet_ntoa(varTInAddr);
identificador no declarado "Direcci"
Unterminated string.
Me puedes ayudar por favor
Te hace falta un apostrofe antes de la letra DE de la palabra Dirección, ya que esto es una cadena.
Muchísimas gracias tu ayuda me ha servido muchísimo,, que estés muy bien espero seguir contando contigo para mis dudas,,, gracias... enserio..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas