Ver Mensaje Individual
  #3  
Antiguo 15-02-2017
zuritavic zuritavic is offline
Registrado
NULL
 
Registrado: feb 2017
Posts: 3
Reputación: 0
zuritavic Va por buen camino
yo utilizo este codigo para subir documentos ftp en delphi xe7

Código:
procedure TfrmFacturaPorPargarTotal.btSubirFTPClick(Sender: TObject);
var
   archivoSubir,
   documento,
   extension,
   Nombre_Virtual  :string;
   Id_Doc2 : integer;
   resultado : STRING;
   respuesta : integer;


begin



   if    qrDocumentos.fieldbyname('Documento').asstring <> '' then
      begin
          respuesta :=  MessageDlg('Desea sobre escribir el documento?'+qrDocumentos.fieldbyname('Documento').asstring,    mtConfirmation, [mbYes, mbNo],0);

          if respuesta = mrNo  then
          begin
              exit;
          end;

       end;
   savedialog1.DefaultExt := '*.'+qrDocumentos.fieldbyname('Tipo_Documento').value;
   savedialog1.FileName :=  '*.'+qrDocumentos.fieldbyname('Tipo_Documento').value;

   if savedialog1.Execute then
      begin
           if dm.ftpParametros then

           begin

              documento:= extractFilename(SaveDialog1.FileName);
              extension := ExtractFileExt( SaveDialog1.FileName) ;
              archivoSubir   :=  SaveDialog1.FileName ;
             dm.DevuelveNombre.Prepared := true;
             dm.DevuelveNombre.ExecProc;
             Nombre_Virtual:= dm.DevuelveNombre.Parameters.ParamByName('@nomVirtual').value;
             Nombre_Virtual := Nombre_Virtual+ extension;



             subirFTP(archivoSubir,Nombre_Virtual,'embarquepro.com'//--dm.FTP_URL
             ,'',dm.FTP_USERNAME,dm.FTP_PASSWORD ,strToint(dm.FTP_PUERTO),resultado);
              if resultado = 'OK' then
                  begin

                      dm.spInsDoc.Prepared := true;

                      dm.spInsDoc.Parameters.ParamByName('@Documento').value := documento;
                      dm.spInsDoc.Parameters.ParamByName('@Nombre_Virtual').value := Nombre_virtual;
                      dm.spInsDoc.Parameters.ParamByName('@F_Recibido').value := now;
                      dm.spInsDoc.Parameters.ParamByName('@Creado_por').value := id_usuario;

                      dm.spInsDoc.ExecProc;
                      Id_Doc2 := dm.spInsDoc.Parameters.ParamByName('@Id_Doc2').value;
                      //dm.spInsDoc.Parameters.ParamByName('@VValor_Mensaje int out,
                      // dm.spInsDoc.Parameters.ParamByName('@VMensaje varchar(200) out


                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.Prepared := true;
                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.Parameters.ParamByName('@Id').value := qrDocumentos.fieldbyname('Id').value;
                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.Parameters.ParamByName('@Id_Documento').value := Id_Doc2;
                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.Parameters.ParamByName('@Comentario').value := 'Cargado desde version windows';
                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.Parameters.ParamByName('@contador').value := 1;

                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.ExecProc;
                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.Parameters.ParamByName('@VValor_Mensaje').value;
                      dm.spUp_Fm_Facturas_Por_Pagar_Doc.Parameters.ParamByName('@VMensaje').value;

                  end
              else
                  begin
                     showmessage('erro en el FTP');
                  end ;
               qrDocumentos.Close;
               qrDocumentos.open;


           end;

      end;



end;
Responder Con Cita