Array
(
)

Capturar o nome do computador em uso

Wagnermarrane
   - 03 jan 2006

Bom dia !!!!!


Pessoal alguém possui alguma rotina onde eu possa capturar o nome do computador que esta em uso naquele momento, ou no momento de login?

Abraço

Wagner


Marcio.theis
   - 03 jan 2006

Vc pode fazer desta forma:

#Código

procedure TForm1.BitBtn1Click(Sender: TObject);
var
Computer: PChar;
CSize: DWORD;
begin
Computer:=#0;
CSize:=MAX_COMPUTERNAME_LENGTH + 1;
try
GetMem(Computer,CSize);
if Windows.GetComputerName(Computer,CSize ) then
ShowMessage(Computer);
finally
FreeMem(Computer);
end;
end;



Wagnermarrane
   - 03 jan 2006


Citação:
/]@t´]Vc pode fazer desta forma:

#Código

procedure TForm1.BitBtn1Click(Sender: TObject);
var
Computer: PChar;
CSize: DWORD;
begin
Computer:=#0;
CSize:=MAX_COMPUTERNAME_LENGTH + 1;
try
GetMem(Computer,CSize);
if Windows.GetComputerName(Computer,CSize ) then
ShowMessage(Computer);
finally
FreeMem(Computer);
end;
end;


Esta apresentando o seguinte erro

[Error] Unit1.pas(29): E2410 Unsafe pointer variables, parameters or consts only allowed in unsafe procedure


Marcio.theis
   - 03 jan 2006

Qual a versão do delphi que vc está usando ?


Wagnermarrane
   - 03 jan 2006


Citação:
/]@t´]Qual a versão do delphi que vc está usando ?


Delphi 2005


Marcio.theis
   - 03 jan 2006

Qual das linhas que ele acusa o erro ?


Wagnermarrane
   - 03 jan 2006


Citação:
/]@t´]Qual das linhas que ele acusa o erro ?


na declaração da variavel

var
Computer: PChar;


Marcio.theis
   - 03 jan 2006

Tente desta forma:

#Código

procedure TForm1.BitBtn1Click(Sender: TObject); 
var
buffer: array[0..255] of char;
size: dword;
begin
size:=256;
if GetComputerName(buffer, size) then
ShowMessage(buffer);
end;



Eniosb
   - 03 jan 2006

Eu uso o componente IdIPWatch(IP) da aba Indy Misc(Delphi7). Ele retorna dados como LocalIP e LocalName; Espero que ajude


Wagnermarrane
   - 03 jan 2006

estou com problemas o valor passado é do tipo StringBuild e a variavel CHAR


Wagnermarrane
   - 03 jan 2006


Citação:
estou com problemas o valor passado é do tipo StringBuild e a variavel CHAR


desculpe me enganei ... na verdade a imcompatibilidade ocorre com StringBuilder e Array

em relação ao componente IDIPWatch, no delphi 2005 não encontrei a função LOCALNAME, até que existe a LOCAL IP mas a LOCALNAME não....