Advertisement
Guest User

Untitled

a guest
Aug 9th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.63 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  8.   IdExplicitTLSClientServerBase, IdFTP, StdCtrls, FileCtrl, ExtCtrls;
  9.  
  10. type
  11.   TForm1 = class(TForm)
  12.     Edit1: TEdit;
  13.     Label1: TLabel;
  14.     Label2: TLabel;
  15.     Edit2: TEdit;
  16.     Panel1: TPanel;
  17.     DirectoryListBox1: TDirectoryListBox;
  18.     DriveComboBox1: TDriveComboBox;
  19.     Label3: TLabel;
  20.     Label4: TLabel;
  21.     Button3: TButton;
  22.     Panel2: TPanel;
  23.     Button1: TButton;
  24.     IdFTP1: TIdFTP;
  25.     Button2: TButton;
  26.     procedure Button1Click(Sender: TObject);
  27.     procedure FormCreate(Sender: TObject);
  28.     procedure DirectoryListBox1Change(Sender: TObject);
  29.     procedure Button2Click(Sender: TObject);
  30.     procedure Button3Click(Sender: TObject);
  31.   private
  32.     { Private declarations }
  33.   public
  34.     { Public declarations }
  35.   end;
  36.  
  37. var
  38.   Form1: TForm1;
  39.  
  40. implementation
  41.  
  42. {$R *.dfm}
  43.  
  44. procedure GetFileList(const Folder, Filter: string; FileList: TStrings);
  45. var
  46.   Search: TSearchRec;
  47. begin
  48.   if FindFirst(Folder + Filter, faAnyfile, Search) = 0 then
  49.   try
  50.     FileList.BeginUpdate;
  51.     try
  52.       repeat
  53.         if (Search.Attr and faDirectory <> faDirectory) then
  54.           FileList.Add(Search.Name);
  55.       until
  56.         FindNext(Search) <> 0;
  57.     finally
  58.       FileList.EndUpdate;
  59.     end;
  60.   finally
  61.     FindClose(Search);
  62.   end;
  63. end;
  64.  
  65. procedure MultiStor(FTP: TIdFTP; const Folder: string; const Filter: string = '*.*');
  66. var
  67.   I: Integer;
  68.   FileList: TStrings;
  69. begin
  70.   FileList := TStringList.Create;
  71.   try
  72.     GetFileList(Folder, Filter, FileList);
  73.     for I := 0 to FileList.Count-1 do
  74.       FTP.Put(Folder + FileList[I]);
  75.   finally
  76.     FileList.Free;
  77.   end;
  78. end;
  79.  
  80. procedure TForm1.Button1Click(Sender: TObject);
  81. begin
  82.   IdFTP1.Host := 'ftp.host.com';
  83.   IdFTP1.Username := 'usuario';
  84.   IdFTP1.Password := 'senha';
  85.   IdFTP1.Connect;
  86.   IdFTP1.ChangeDir('/public_html/'); //a pasta onde vc quer largar suas fotos
  87.  
  88.   try
  89. //IdFTP1.Put('texto1.txt');
  90. //IdFTP1.Put('texto2.txt');
  91.  
  92. //Envia todos arquivos de uma pasta pro servidor
  93. MultiStor(IdFTP1, Edit1.Text, Edit2.Text);
  94. //MultiStor(IdFTP1, 'C:\MyFolder\', '*.xml');
  95.  
  96.   except
  97.     ShowMessage('Não foi possível enviar os arquivos!');
  98.   end;
  99.   IdFTP1.Disconnect;
  100.   ShowMessage('Arquivos enviados com sucesso!');
  101. end;
  102.  
  103. procedure TForm1.FormCreate(Sender: TObject);
  104. begin
  105. Edit1.Text:=ExtractFilePath(Application.ExeName);
  106. end;
  107.  
  108. procedure TForm1.DirectoryListBox1Change(Sender: TObject);
  109. begin
  110. Edit1.Text:=DirectoryListBox1.Directory+'\';
  111. end;
  112.  
  113.  
  114. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement