[Lazarus-es] M?s dudas

Javier Jait javierjait en yahoo.com
Mie Nov 25 00:09:18 CET 2009


Probaste agregar uses Windows;??

En el Lazarus está definida así:

function GetComputerName(lpBuffer:LPSTR; nSize:LPDWORD):WINBOOL; external
'kernel32' name 'GetComputerNameA';                                   

Saludos
Javier 

-----Mensaje original-----
De: Ismael L. Donis Garc?a [mailto:ismael en citricos.co.cu] 
Enviado el: Martes, 24 de Noviembre de 2009 19:31
Para: Spanish version of Lazarus List
Asunto: Re: [Lazarus-es] M?s dudas

Me pide el valor de MAX_COMPUTERNAME_LENGTH aunque para mi entender debe ser
255

Y pienso que GetMem debe ser una función que tampoco tengo, al igual que
Windows.GetComputerName para lo cual pienso que debe haver alguna
declaración

Traté de poner:

Function GetComputerName Lib 'kernel32' Alias 'GetComputerNameA' (lpBuffer: 
String, nSize: Long): Long

Pero me dió error. Además de no saber bien donde ubicar la declaración.

Saludos reiterados
=========
¦¦ ISMAEL ¦¦
=========

----- Mensaje original -----
De: "Claudio Romero" <clauslack en gmail.com>
Para: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: martes, 24 de noviembre de 2009 01:56
Asunto: Re: [Lazarus-es] Más dudas


Yo realizo algo parecido pero, utilizo los usuarios del Servidor
Firebird (o del que sea) y grabo los ingresos y salidas al servidor de
Base de datos con trigger(muy sencillo) Incluso los que ingresan con
un navegador (con páginas dinámicas)

Grabo estos datos:
usuario, fecha, hora, accion,coneccion,rol,IP_remoto,proceso_remoto

Si quieres buscar el nombre de la maquina, creo que debes hacer una
funcion para Windows, y otra para Linux.
En Windows obtener el nombre de la pc (funcionaba en Delphi)
function GetComputerName : String;
var
   pcComputer : PChar;
   dwCSize    : DWORD;
begin
   dwCSize := MAX_COMPUTERNAME_LENGTH + 1;
   GetMem( pcComputer, dwCSize );
   try
      if Windows.GetComputerName( pcComputer, dwCSize ) then
         Result := pcComputer;
   finally
      FreeMem( pcComputer );
   end;
end;

En linux, esta el comando hostname, ifconfig y otros mas (podrias usar 
TProcess)
No se si fpc tiene funciones para esto.

Pero me parece que con 2 trigers en la base es mas limpio, y transparente.
Lo otro es mas complicado de programar (ademas que te pueden cambiar
el nombre de la pc tranquilamente).

Saludos

_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es



_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es





More information about the Lazarus-es mailing list