Windows 在Lazarus代码中有没有简单的方法来使用FTP函数

Windows 在Lazarus代码中有没有简单的方法来使用FTP函数,windows,ftp,lazarus,Windows,Ftp,Lazarus,我是拉撒路的新手。我一直在尝试创建一个小的FTP程序,它会在登录后发送一个小文件。我已经做了所有的胶粘的东西,我唯一关心的是FTP部分。我遇到了很多错误,我一直在努力安装正确的软件包 我的FTP代码如下所示 function TModel.Send(LocalFile : string; remoteFile : string; RemoteDir : string) : boolean; //===================================================

我是拉撒路的新手。我一直在尝试创建一个小的FTP程序,它会在登录后发送一个小文件。我已经做了所有的胶粘的东西,我唯一关心的是FTP部分。我遇到了很多错误,我一直在努力安装正确的软件包

我的FTP代码如下所示

function TModel.Send(LocalFile : string; remoteFile : string; RemoteDir : string) : boolean;
//===========================================================================
//     **********************************************************************
//     * Send a file to the FTP server                                      *
//     **********************************************************************
//---------------------------------------------------------------------------
var
   rc : boolean;
begin
   // Create the FTP Client object and set the FTP parameters
   FTPClient := TFTPSend.Create;
   with FTPClient do begin
      TargetPort  := cFtpProtocol;
      TargetHost := fHost;  // these were properties set somewhere else
      UserName := fUserID;
      Password := fPassword;
      //-----------------------------------------------------------------------
      // bail out if the FTP connect fails
      if not LogIn then exit;
      //------------------------------------------------------------------------

      // Set filename to FTP
      DirectFileName := LocalFile;
      DirectFile := True;
      //------------------------------------------------------------------------

      // change directory if requested
      if RemoteDir <> '' then ChangeWorkingDir(RemoteDir);
      //------------------------------------------------------------------------

      // STOR file to FTP server.  
      rc := StoreFile(RemoteFile,false); 
      //------------------------------------------------------------------------

      // close the connection
      LogOut;
      //------------------------------------------------------------------------
      // free the FTP client object
      free;
      //------------------------------------------------------------------------
   end;
   Result := rc;
//===========================================================================
end;
函数TModel.Send(LocalFile:string;remoteFile:string;RemoteDir:string):布尔; //=========================================================================== // ********************************************************************** //*向FTP服务器发送文件* // ********************************************************************** //--------------------------------------------------------------------------- 变量 rc:布尔型; 开始 //创建FTP客户端对象并设置FTP参数 FTPClient:=TFTPSend.Create; 使用FTPClient do begin TargetPort:=cFtpProtocol; TargetHost:=fHost;//这些是其他地方设置的属性 用户名:=fUserID; 密码:=fPassword; //----------------------------------------------------------------------- //如果FTP连接失败,请退出 如果未登录,则退出; //------------------------------------------------------------------------ //将文件名设置为FTP DirectFileName:=本地文件; DirectFile:=True; //------------------------------------------------------------------------ //如果请求,请更改目录 如果为RemoteDir“”,则更改工作目录(RemoteDir); //------------------------------------------------------------------------ //将STOR文件发送到FTP服务器。 rc:=StoreFile(RemoteFile,false); //------------------------------------------------------------------------ //关闭连接 注销; //------------------------------------------------------------------------ //释放FTP客户端对象 自由的 //------------------------------------------------------------------------ 结束; 结果:=rc; //=========================================================================== 结束;
谢谢你的帮助

哦,拉扎勒斯XD。我不确定是否有简单的方法。前一段时间我也试着做类似的事情,但是我没有时间去完成它。。。。但是我确实让FTP工作了看看下面我的代码

 begin
  IdSMTP := TIdSMTP.Create(nil);
  try
    IdSMTP.Host := 'smtp.jonas.com';
    IdSMTP.Port := 587;
    IdSMTP.AuthType := satDefault;
    IdSMTP.Username := 'server@jonas.com';
    IdSMTP.Password := 'TeCat#!';
    IdSMTP.Connect;
    if IdSMTP.Authenticate then;
    begin
      IdMessage := TIdMessage.Create(nil);
      try
        IdMessage.From.Name := 'Jonas Server';
        IdMessage.From.Address := 'server@jonas.com';
        IdMessage.Subject := subject;
        IdMessage.Body.AddStrings(message);
        IdEmailAddressItem := IdMessage.Recipients.Add;
        IdEmailAddressItem.Address := 'server@jonas.com';

        IdSMTP.Send(IdMessage);
      finally
        IdMessage.Free;
      end;
    end;
    IdSMTP.Disconnect;
  finally
    IdSMTP.Free;
  end;
end;
我看到你在用Synapse我不记得我用了什么。。。。它位于印地、lnet或突触之间。如果您需要这些软件包,请告诉我,我已将它们保存在我的dropbox中:)也请查看网站这是一个专门为Laz开发的完整网站……太棒了(°↝ʖ͡°)