Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   comprobar conexion ftp exitosa... (https://www.clubdelphi.com/foros/showthread.php?t=59671)

Greco 04-09-2008 01:55:58

comprobar conexion ftp exitosa...
 
Hola, estoy creando una pequeña aplicacion que dentro de sus caracteristicas contiene la opcion de enviar un archivo a un servidor por FTP, para lo cual tengo unos cuantos EDTIT para ingresar los datos del servidor, host, usuario, pass y luego guardarlos en el registro de windows.
Lo que quiero es incluir un boton para testear la conexion al servidor para saber si los datos ingresados son correctos o hay algun error.

Como podría obtener el estado de conexion al servidor??

Utilizo el IdFtp de las Indy y este es el codigo que tengo para conectar y subir el archivo.

Código Delphi [-]
var
   clienteFtp: TIdFTP;
 begin
   clienteFtp := TIdFTP.Create(Self);
   try
     with clienteFtp do
     begin
       Username := 'nombre_de_usuario';
       Password := 'contraseña';
       Host := 'ftp.servidor.com';
       Connect; // Conectamos al servidor
       // Creamos un nuevo directorio
       SendCmd('MKD nuevo_directorio');
       // Nos desplazamos al mismo
       SendCmd('CWD nuevo_directorio');
       // Subimos un archivo al nuevo directorio
       Put('C:\file.txt', 'file.txt');
       Disconnect; // Desconectamos del servidor
     end;
   finally
     clienteFtp.Free;
   end;

Ese es el codigo para conectar y subir el archivo al servidor, pero me interesa primero testear la conexion mediante algun boton, si tuvo exito la conexion entonces me desplegue un mensaje mediante un showmessage().

En resumen... como puedo verificar que la conexion al ftp fue exitosa??

Saludos

TOPX 04-09-2008 02:13:46

Hola,

Puede evaluar la propiedad Connected del TIdFtp.

Greco 04-09-2008 09:15:25

Cita:

Empezado por TOPX (Mensaje 311714)
Hola,

Puede evaluar la propiedad Connected del TIdFtp.

Hola TOPX, gracias por responder.
Intente evaluar con un IF pero no me resultó, algo debo haber hecho mal.

Código Delphi [-]
...
       if (clienteFtp.Connected) then
  showmessage('Conexion correcta');
 else
 showmessage('Error al conectar');
end;
...

Debe ser por que está mal planteada la sentencia.

Saludos

TOPX 04-09-2008 15:14:05

Lo único malo que ví en su código fue que sobraría el end;, pero igual, podría ser:

Código Delphi [-]
  with TIdFTP.Create(nil) do
  begin
    try
      Username := 'nombre_de_usuario';
      Password := 'contraseña';
      Host := 'ftp.servidor.com';
      Connect; 
      if Connected then
      begin
        ShowMessage('Conexión exitosa.');
        Disconnect;
      end
      else
      begin
        ShowMessage('Conexión fallida.');
      end;
    finally
     Free;
    end;
  end;


La franja horaria es GMT +2. Ahora son las 20:45:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi