Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   subir archivo a servidor ftp (https://www.clubdelphi.com/foros/showthread.php?t=46172)

m8estrella83 25-07-2007 20:53:44

subir archivo a servidor ftp
 
Hola a todos !!!

Espero me puedan ayudar les agradeceria mucho.

Desarrolle una aplicacion en delphi 5 de la cual me piden que envie un archivo de texto a un servidor ftp, el problema es que soy muy novata en esto no tengo idea de como empezar.
Me proporcionaron la direccion del servidor ftp y ademas en nombre del usuario y contraseña


De antemano muchas gracias !!!!

marcoszorrilla 25-07-2007 21:08:31

Puedes utilizar el componente NMFTP de la paleta FastNet:

Código Delphi [-]
Procedure Concectarse_Al_Servidor();
begin
NMFTP.Host :='210.00.120.00';
NMFTP.Port := 21;
NMFTP.Timeout := 5000;
NMFTP.UserID := 'Mi_Nombre_de_Usuario';
NMFTP.Password := 'MiClave';
  try
  NMFTP.Connect;
  except
  On E:Exception do
  writeln(E.message);
  end;
end;


Procedure Subir_Fichero();
Var
cFichero_a_Subir:String;
cFichero_Subido:String;
begin
cFichero_a_Subir:='C:\Vendedores\Clientes.Txt';
cFichero_Subido:='Clientes.Txt';
NMFTP.UploadAppend(cSubirFichero,cFichero_Subido );
end;

Tienes un ejemplo de uso en las Demos que te vienen con Delphi.

Un Saludo.

seoane 25-07-2007 21:14:09

También puedes usar Wininet

http://www.clubdelphi.com/foros/show...90&postcount=3

Yun-i 29-10-2008 21:29:00

Cita:

Empezado por marcoszorrilla (Mensaje 216861)
Puedes utilizar el componente NMFTP de la paleta FastNet:


Código Delphi [-]Procedure Concectarse_Al_Servidor();
begin
NMFTP.Host :='210.00.120.00';
NMFTP.Port := 21;
NMFTP.Timeout := 5000;
NMFTP.UserID := 'Mi_Nombre_de_Usuario';
NMFTP.Password := 'MiClave';
try
NMFTP.Connect;
except
On E:Exception do
writeln(E.message);
end;
end;


Procedure Subir_Fichero();
Var
cFichero_a_Subir:String;
cFichero_Subido:String;
begin
cFichero_a_Subir:='C:\Vendedores\Clientes.Txt';
cFichero_Subido:='Clientes.Txt';
NMFTP.UploadAppend(cSubirFichero,cFichero_Subido );
end;





Tienes un ejemplo de uso en las Demos que te vienen con Delphi.

Un Saludo.

excelente yo lo ocupe y funciono de maravilla gracias

DavidSG4 29-03-2012 12:49:40

sobreescribir
 
Cita:

Empezado por Yun-i (Mensaje 323188)
excelente yo lo ocupe y funciono de maravilla gracias

Muy buenas yo lo he probado y funciona de maravilla.

pero que ocurre si tienes que sobre escribir el fichero. no lo hace.

alguna idea

SAludos

marcoszorrilla 29-03-2012 12:56:20

Yo lo borro así:
Código Delphi [-]
procedure TfrExpterminales.BtEliminarClick(Sender: TObject);
begin
EdFichero.Text:=IbDtsFicherosNombre.Value;
  if (Length(IbDtsFicherosNombre.Value)>14) Or (UpperCase(Copy(IbDtsFicherosNombre.Value,1,2))<>'VE') then
  begin
    Try
      if Application.MessageBox('¿Seguro que desea eliminar el fichero?','Atención',mb_OkCancel +
      mb_IconQuestion)= idOk then
      begin
      IdFTP.Delete(IbDtsFicherosNombre.Value);
      EdFichero.Text:='';
      end;
    btListar.Click;
    Except
    ShowMessage('ERROR:El Fichero no existe.');
    end;
  end
  else
  ShowMessage('Atención:Ese fichero no puede eliminarse.');

end;

Un Saludo.

marcoszorrilla 29-03-2012 12:58:38

Y así cuando subo un fichero y ya existe en el servidor, se trata de un fragmento de código a modo de ejemplo:
Código Delphi [-]
procedure TfrExpterminales.btSubirClick(Sender: TObject);
var
F: File of byte;
sArchivo:String;
begin
cSubirFichero:= cCaminoZipExp+'Dat010'+Vendedor+'.Zip';
AssignFile( F, cSubirFichero );
Reset( F );
CloseFile( F );

btListar.Click;


  if btConectar.Enabled = False then
  begin


    pnMensajes.Color:=ClBlack;

      try
      IdFTP.Delete('Dat010'+Vendedor+'.Zip');
      Except
      end;

      //Subir archivo
     Try
     IdFTP.Put( cSubirFichero, ExtractFileName( cSubirFichero ), False );
     except
     ShowMessage('Se produjo un error al subir el fichero.');
     end;

    pnMensajes.Caption:='';
    pnMensajes.Color:=clBtnFace;
    btListar.Click;
  end
  else
  ShowMessage('Primero tiene que conectar con el servidor.');

end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 08:12:20.

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