PDA

Ver la Versión Completa : Visualizar la IP y el nombre del PC


hook
14-06-2005, 12:33:31
Hola a todos, necesitaria mostrar en mi programa la Ip del equipo y el nombre del pc. Como puedo visualizar estos dos datos????

Un saludo y gracias.

Ohcan
14-06-2005, 12:43:05
Para el nombre del equipo:

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;

hook
14-06-2005, 14:31:53
Gracias pero no me funciona, hay otra forma???

delphi.com.ar
14-06-2005, 14:53:35
Gracias pero no me funciona, hay otra forma???
No te funciona: ¿Te da un error? ¿No te compila? ¿No hace nada?..... ¿Qué te hace?

PD: Si hay otras formas: WNetGetUser o navegando el registro, por ejemplo.

Saludos!

hook
15-06-2005, 16:59:06
Al compilar me da un error (que no se muy bien que quiere decir). Hay otra forma para poder visualizar estos dos datos ya que tampoco entiendo mucho el codigo que me han puesto mas arriba, hay alguna otra forma mas sencilla???

Gracias, ya que me urge bastante.

delphi.com.ar
15-06-2005, 17:12:29
Al compilar me da un error (que no se muy bien que quiere decir).
Sería buenísimo que nos digas que es lo que dice el error!

Por otro lado, embarcarse sin saber navegar no es una buena idea, te recomiendo leer un poco, interiorizarte en el tema. El código es mas que sencillo, define un puntero a carácter, reserva la memoria de ese puntero, llama a la WinApi GetComputerName, y asigna el resultado obtenido a un string, y libera la memoria.

hook
15-06-2005, 17:40:36
Si, reconozco que la programacion no es mi fuerte pero me lo han pedido en en trabajo.....asi que me tengo que buscar la vida....Bueno, me da varios errores en la compilacion como si no reconociera las funciones o lo precedimientos, lo mas seguro es que no haya implementado bien el codigo o agradeceria mucho que me explicarais (paso a paso) como poner el codigo y que componentes necesito en el formulario. Muchisimas gracias.

Ohcan
15-06-2005, 23:17:32
Bueno... ayudaría mucho que pusieras el texto del error... y en qué línea te falla.

Pero por lo que dices creo que te falta incluir algo en los uses...
Ahora no tengo Delphi aquí, así que no te puedo decir qué te falta.
Prueba a poner el cursor encima de, por ejemplo, GetComputerName y pulsar F1...
En la ayuda de Delphi tienes la solución...

Si no lo consigues quizás mañana pueda mirártelo.

raco
16-06-2005, 03:45:38
no se que error te pueda aparecer, yo copie el codigo de arriba tal cual y me funciono:D , trata de borrar todo lo q esta en el unit de un proyecto nuevo y pegar todo esto::p

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
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;

end.

:) Inserta un boton y un edit en la forma y dale doble click al boton, en esa parte pon este codigo:

Edit1.text:=GetComputerName();

para que te quede de esta forma:

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.text:=GetComputerName();
end;

Y asi obtienes el nombre de la pc.

raco
16-06-2005, 03:53:40
Tambien puedes hacerlo de otra forma, esta bastante sencillo. visita este hilo:

http://www.clubdelphi.com/foros/showthread.php?t=20110&highlight=obtener+direccion

raco
16-06-2005, 04:07:38
respecto al otro codigo, creo que estas poniendo la funcion en donde no debes o algo asi o tal vez la estas llamando mal, es dificil saber si no pones el error.