[Delphi] FTP Manager 1.0

  • 0 Respuestas
  • 3357 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Delphi] FTP Manager 1.0

  • en: Agosto 05, 2016, 11:01:10 pm
Un cliente FTP en Delphi con las siguientes opciones :

  • Se puede conectar a cualquier servidor FTP[/li]
  • Navegar y listar los directorios de nuestra computadora[/li]
  • Navegar y listar los directorios del servidor FTP[/li]
  • Se puede crear,renombrar,eliminar archivos y directorios de nuestra computadora[/li]
  • Se puede crear,renombrar,eliminar archivos y directorios del servidor FTP[/li]
  • Se puede bajar y subir archivos del servidor FTP comodamente[/li][/list]

    Una imagen :



    El codigo :

    Código: Delphi
    1. // FTP Manager 1.0
    2. // (C) Doddy Hackman 2016
    3.  
    4. unit ftp;
    5.  
    6. interface
    7.  
    8. uses
    9.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
    10.   System.Classes, Vcl.Graphics,
    11.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls,
    12.   IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
    13.   IdExplicitTLSClientServerBase, IdFTP, Shellapi, Vcl.ImgList, IdFTPList,
    14.   Vcl.Imaging.pngimage, Vcl.ExtCtrls, Vcl.Menus, Vcl.Styles.Utils.ComCtrls,
    15.   Vcl.Styles.Utils.Menus,
    16.   Vcl.Styles.Utils.SysStyleHook,
    17.   Vcl.Styles.Utils.SysControls, Vcl.Styles.Utils.Forms,
    18.   Vcl.Styles.Utils.StdCtrls, Vcl.Styles.Utils.ScreenTips;
    19.  
    20. type
    21.   TFormHome = class(TForm)
    22.     gbFTP_Data: TGroupBox;
    23.     lblHost: TLabel;
    24.     txtHost: TEdit;
    25.     lblUsername: TLabel;
    26.     txtUsername: TEdit;
    27.     lblPassword: TLabel;
    28.     txtPassword: TEdit;
    29.     btnConnect: TButton;
    30.     gbMyFiles: TGroupBox;
    31.     lblDirectory1: TLabel;
    32.     txtMe_Directory: TEdit;
    33.     btnListMe: TButton;
    34.     lvLocalFiles: TListView;
    35.     gbFTP_Files: TGroupBox;
    36.     lblDirectory2: TLabel;
    37.     txt_FTP_Directory: TEdit;
    38.     btnList_FTP: TButton;
    39.     lv_FTP_Files: TListView;
    40.     btnUpload: TButton;
    41.     btnDownload: TButton;
    42.     directorios: TListBox;
    43.     archivos: TListBox;
    44.     status: TStatusBar;
    45.     local_iconos: TImageList;
    46.     ftp_client: TIdFTP;
    47.     ftp_iconos: TImageList;
    48.     progreso: TProgressBar;
    49.     imgLogo: TImage;
    50.     menu_local: TPopupMenu;
    51.     MakeDirectory1: TMenuItem;
    52.     Rename1: TMenuItem;
    53.     Delete1: TMenuItem;
    54.     Refresh1: TMenuItem;
    55.     menu_ftp: TPopupMenu;
    56.     MakeDirectory2: TMenuItem;
    57.     Rename2: TMenuItem;
    58.     Delete2: TMenuItem;
    59.     Refresh2: TMenuItem;
    60.     ilIconos: TImageList;
    61.     procedure btnConnectClick(Sender: TObject);
    62.     procedure btnListMeClick(Sender: TObject);
    63.     procedure btnList_FTPClick(Sender: TObject);
    64.     procedure btnUploadClick(Sender: TObject);
    65.     procedure ftp_clientWork(ASender: TObject; AWorkMode: TWorkMode;
    66.       AWorkCount: Int64);
    67.     procedure ftp_clientWorkBegin(ASender: TObject; AWorkMode: TWorkMode;
    68.       AWorkCountMax: Int64);
    69.     procedure ftp_clientWorkEnd(ASender: TObject; AWorkMode: TWorkMode);
    70.     procedure btnDownloadClick(Sender: TObject);
    71.     procedure lvLocalFilesDblClick(Sender: TObject);
    72.     procedure lv_FTP_FilesDblClick(Sender: TObject);
    73.     procedure MakeDirectory1Click(Sender: TObject);
    74.     procedure Rename1Click(Sender: TObject);
    75.     procedure Delete1Click(Sender: TObject);
    76.     procedure Refresh1Click(Sender: TObject);
    77.     procedure FormCreate(Sender: TObject);
    78.     procedure MakeDirectory2Click(Sender: TObject);
    79.     procedure Rename2Click(Sender: TObject);
    80.     procedure Delete2Click(Sender: TObject);
    81.     procedure Refresh2Click(Sender: TObject);
    82.  
    83.   private
    84.     { Private declarations }
    85.   public
    86.     { Public declarations }
    87.   end;
    88.  
    89. var
    90.   FormHome: TFormHome;
    91.  
    92. implementation
    93.  
    94. {$R *.dfm}
    95.  
    96. procedure listar(dirnownow: string; ListaDeArchivos: TListView;
    97.   ListaDeIconos: TImageList);
    98. var
    99.   buscar: TSearchRec;
    100.   Icon: TIcon;
    101.   listate: TListItem;
    102.   getdata: SHFILEINFO;
    103.   dirnow: string;
    104.  
    105. begin
    106.  
    107.   if (DirectoryExists(dirnownow)) then
    108.   begin
    109.     ListaDeIconos.Clear;
    110.  
    111.     dirnow := StringReplace(dirnownow, '/', '\', [rfReplaceAll, rfIgnoreCase]);
    112.  
    113.     ListaDeArchivos.Items.Clear;
    114.     Icon := TIcon.Create;
    115.     ListaDeArchivos.Items.BeginUpdate;
    116.  
    117.     if FindFirst(dirnow + '*.*', faAnyFile, buscar) = 0 then
    118.     begin
    119.       repeat
    120.         if (buscar.Attr = faDirectory) then
    121.         begin
    122.  
    123.           with ListaDeArchivos do
    124.           begin
    125.  
    126.             if not(buscar.Name = '.') and not(buscar.Name = '..') then
    127.             begin
    128.  
    129.               listate := ListaDeArchivos.Items.Add;
    130.  
    131.               SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    132.                 SizeOf(getdata), SHGFI_DISPLAYNAME);
    133.               listate.Caption := getdata.szDisplayName;
    134.  
    135.               SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    136.                 SizeOf(getdata), SHGFI_TYPENAME);
    137.               listate.SubItems.Add(getdata.szTypeName);
    138.  
    139.               SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    140.                 SizeOf(getdata), SHGFI_ICON or SHGFI_SMALLICON);
    141.               Icon.Handle := getdata.hIcon;
    142.               listate.ImageIndex := ListaDeIconos.AddIcon(Icon);
    143.  
    144.               DestroyIcon(getdata.hIcon);
    145.  
    146.             end;
    147.           end;
    148.  
    149.         end;
    150.       until FindNext(buscar) <> 0;
    151.       FindClose(buscar);
    152.     end;
    153.  
    154.     if FindFirst(dirnow + '*.*', faAnyFile, buscar) = 0 then
    155.     begin
    156.       repeat
    157.         if (buscar.Attr <> faDirectory) then
    158.         begin
    159.  
    160.           with ListaDeArchivos do
    161.           begin
    162.  
    163.             listate := ListaDeArchivos.Items.Add;
    164.  
    165.             SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    166.               SizeOf(getdata), SHGFI_DISPLAYNAME);
    167.             listate.Caption := buscar.Name;
    168.  
    169.             SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    170.               SizeOf(getdata), SHGFI_TYPENAME);
    171.             listate.SubItems.Add(getdata.szTypeName);
    172.  
    173.             SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata,
    174.               SizeOf(getdata), SHGFI_ICON or SHGFI_SMALLICON);
    175.             Icon.Handle := getdata.hIcon;
    176.             listate.ImageIndex := ListaDeIconos.AddIcon(Icon);
    177.  
    178.             DestroyIcon(getdata.hIcon);
    179.  
    180.           end;
    181.  
    182.         end
    183.  
    184.         until FindNext(buscar) <> 0;
    185.         FindClose(buscar);
    186.       end;
    187.  
    188.       ListaDeArchivos.Items.EndUpdate;
    189.     end;
    190.  
    191.   end;
    192.  
    193.   procedure listarftp(dirnownow2: string; ListaDeArchivosFTP: TListView;
    194.     ftp: TIdFTP; DirectoriosEncontrados: TListBox;
    195.     ArchivosEncontrados: TListBox);
    196.   var
    197.     i: integer;
    198.     Item: TIdFTPListItem;
    199.     listate2: TListItem;
    200.  
    201.   begin
    202.  
    203.     ListaDeArchivosFTP.Items.Clear;
    204.     DirectoriosEncontrados.Clear;
    205.     ArchivosEncontrados.Clear;
    206.  
    207.     listate2 := ListaDeArchivosFTP.Items.Add;
    208.  
    209.     ftp.ChangeDir(dirnownow2);
    210.     ftp.List('*.*', True);
    211.  
    212.     for i := 0 to ftp.DirectoryListing.Count - 1 do
    213.     begin
    214.  
    215.       Item := ftp.DirectoryListing.Items[i];
    216.       if Item.ItemType = ditFile then
    217.       begin
    218.         DirectoriosEncontrados.Items.Add(ftp.DirectoryListing.Items[i]
    219.           .FileName);
    220.       end
    221.       else
    222.       begin
    223.         ArchivosEncontrados.Items.Add(ftp.DirectoryListing.Items[i].FileName);
    224.       end;
    225.  
    226.     end;
    227.  
    228.     ListaDeArchivosFTP.Items.Clear;
    229.  
    230.     for i := 0 to ArchivosEncontrados.Count - 1 do
    231.     begin
    232.  
    233.       with ListaDeArchivosFTP do
    234.  
    235.       begin
    236.  
    237.         listate2 := ListaDeArchivosFTP.Items.Add;
    238.         listate2.Caption := ArchivosEncontrados.Items[i];
    239.         listate2.SubItems.Add('Directory');
    240.         listate2.ImageIndex := 0;
    241.  
    242.       end;
    243.     end;
    244.  
    245.     for i := 0 to DirectoriosEncontrados.Count - 1 do
    246.     begin
    247.  
    248.       with ListaDeArchivosFTP do
    249.  
    250.       begin
    251.  
    252.         listate2 := ListaDeArchivosFTP.Items.Add;
    253.         listate2.Caption := DirectoriosEncontrados.Items[i];
    254.         listate2.SubItems.Add('File');
    255.         listate2.ImageIndex := 1;
    256.  
    257.       end;
    258.     end;
    259.  
    260.   end;
    261.  
    262.   procedure TFormHome.btnConnectClick(Sender: TObject);
    263.   begin
    264.  
    265.     lv_FTP_Files.Items.Clear;
    266.  
    267.     directorios.Clear;
    268.     archivos.Clear;
    269.  
    270.     if (btnConnect.Caption = 'Disconnect') then
    271.     begin
    272.       ftp_client.Disconnect;
    273.       btnConnect.Caption := 'Connect';
    274.       status.Panels[0].Text := '</li><li type="square"> Disconnected';[/li][/list]
    275.       FormHome.status.Update;
    276.       txt_FTP_Directory.Text := '';
    277.       MessageBox(0, 'Disconnected', 'FTP Manager 1.0', MB_ICONINFORMATION);
    278.     end
    279.     else
    280.     begin
    281.  
    282.       ftp_client.host := txtHost.Text;
    283.       ftp_client.username := txtUsername.Text;
    284.       ftp_client.password := txtPassword.Text;
    285.  
    286.       try
    287.         ftp_client.connect;
    288.         btnConnect.Caption := 'Disconnect';
    289.         status.Panels[0].Text := '</li><li type="square"> Connected';[/li][/list]
    290.         FormHome.status.Update;
    291.  
    292.         txt_FTP_Directory.Text := '/';
    293.         listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client, directorios,
    294.           archivos);
    295.  
    296.         MessageBox(0, 'Connected', 'FTP Manager 1.0', MB_ICONINFORMATION);
    297.       except
    298.         status.Panels[0].Text := '[-] Error connecting to server';
    299.         FormHome.status.Update;
    300.         MessageBox(0, 'Error connecting to server', 'FTP Manager 1.0',
    301.           MB_ICONERROR);
    302.       end;
    303.     end;
    304.  
    305.   end;
    306.  
    307.   procedure TFormHome.Delete1Click(Sender: TObject);
    308.   var
    309.     archivo: string;
    310.   begin
    311.     if Assigned(lvLocalFiles.Selected) then
    312.     begin
    313.       archivo := lvLocalFiles.Selected.Caption;
    314.       if DeleteFile(txtMe_Directory.Text + '/' + archivo) then
    315.       begin
    316.         if not(txtMe_Directory.Text = '') then
    317.         begin
    318.           listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    319.         end;
    320.         MessageBox(0, 'Deleted', 'FTP Manager 1.0', MB_ICONINFORMATION);
    321.       end
    322.       else
    323.       begin
    324.         MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    325.       end;
    326.     end;
    327.   end;
    328.  
    329.   procedure TFormHome.Delete2Click(Sender: TObject);
    330.   var
    331.     archivo: string;
    332.   begin
    333.     if Assigned(lv_FTP_Files.Selected) then
    334.     begin
    335.       archivo := lv_FTP_Files.Selected.Caption;
    336.       ftp_client.ChangeDir(txt_FTP_Directory.Text);
    337.       try
    338.         begin
    339.           ftp_client.Delete(archivo);
    340.           if not(txt_FTP_Directory.Text = '') then
    341.           begin
    342.             listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client,
    343.               directorios, archivos);
    344.           end;
    345.           MessageBox(0, 'Deleted', 'FTP Manager 1.0', MB_ICONINFORMATION);
    346.         end;
    347.       except
    348.         MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    349.       end;
    350.     end;
    351.   end;
    352.  
    353.   procedure TFormHome.btnDownloadClick(Sender: TObject);
    354.   var
    355.     fileabajar: string;
    356.   begin
    357.  
    358.     if Assigned(lv_FTP_Files.Selected) then
    359.     begin
    360.       try
    361.         begin
    362.           fileabajar := lv_FTP_Files.Selected.Caption;;
    363.           ftp_client.OnWork := ftp_clientWork;
    364.           ftp_client.ChangeDir(txt_FTP_Directory.Text);
    365.  
    366.           progreso.Max := ftp_client.Size(ExtractFileName(fileabajar)) div 1024;
    367.  
    368.           ftp_client.Get(fileabajar, txtMe_Directory.Text + '/' + fileabajar,
    369.             False, False);
    370.  
    371.           if not(txtMe_Directory.Text = '') then
    372.           begin
    373.             listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    374.           end;
    375.  
    376.           MessageBox(0, 'Action completed successfully', 'FTP Manager 1.0',
    377.             MB_ICONINFORMATION);
    378.         end;
    379.       except
    380.         MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    381.       end;
    382.     end
    383.     else
    384.     begin
    385.       MessageBox(0, 'Select File to download', 'FTP Manager 1.0',
    386.         MB_ICONINFORMATION);
    387.     end;
    388.   end;
    389.  
    390.   procedure TFormHome.FormCreate(Sender: TObject);
    391.   begin
    392.     UseLatestCommonDialogs := False;
    393.     txtMe_Directory.Text := GetCurrentDir + '\';
    394.     listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    395.   end;
    396.  
    397.   procedure TFormHome.ftp_clientWork(ASender: TObject; AWorkMode: TWorkMode;
    398.     AWorkCount: Int64);
    399.   begin
    400.     status.Panels[0].Text := '</li><li type="square"> Working ...';[/li][/list]
    401.     FormHome.status.Update;
    402.  
    403.     progreso.Position := AWorkCount div 1024;
    404.   end;
    405.  
    406.   procedure TFormHome.ftp_clientWorkBegin(ASender: TObject;
    407.     AWorkMode: TWorkMode; AWorkCountMax: Int64);
    408.   begin
    409.     status.Panels[0].Text := '</li><li type="square"> Working ..';[/li][/list]
    410.     FormHome.status.Update;
    411.   end;
    412.  
    413.   procedure TFormHome.ftp_clientWorkEnd(ASender: TObject; AWorkMode: TWorkMode);
    414.   begin
    415.     status.Panels[0].Text := '</li><li type="square"> Finished';[/li][/list]
    416.     FormHome.status.Update;
    417.     progreso.Max := 0;
    418.   end;
    419.  
    420.   procedure TFormHome.lv_FTP_FilesDblClick(Sender: TObject);
    421.   begin
    422.     if Assigned(lv_FTP_Files.Selected) then
    423.     begin
    424.       if (lv_FTP_Files.Selected.SubItems.Strings[0] = 'Directory') then
    425.       begin
    426.         ftp_client.ChangeDir(txt_FTP_Directory.Text +
    427.           lv_FTP_Files.Selected.Caption + '/');
    428.         listarftp(txt_FTP_Directory.Text + lv_FTP_Files.Selected.Caption + '/',
    429.           lv_FTP_Files, ftp_client, directorios, archivos);
    430.         txt_FTP_Directory.Text := ftp_client.RetrieveCurrentDir + '/';
    431.       end;
    432.     end
    433.     else
    434.     begin
    435.       MessageBox(0, 'Write path', 'FTP Manager 1.0', MB_ICONINFORMATION);
    436.     end;
    437.   end;
    438.  
    439.   procedure TFormHome.btnList_FTPClick(Sender: TObject);
    440.   begin
    441.     if not(txt_FTP_Directory.Text = '') then
    442.     begin
    443.       listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client, directorios,
    444.         archivos);
    445.     end
    446.     else
    447.     begin
    448.       MessageBox(0, 'Write path', 'FTP Manager 1.0', MB_ICONINFORMATION);
    449.     end;
    450.   end;
    451.  
    452.   procedure TFormHome.btnListMeClick(Sender: TObject);
    453.   begin
    454.     if not(txtMe_Directory.Text = '') then
    455.     begin
    456.       listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    457.     end
    458.     else
    459.     begin
    460.       MessageBox(0, 'Write path', 'FTP Manager 1.0', MB_ICONINFORMATION);
    461.     end;
    462.   end;
    463.  
    464.   procedure TFormHome.lvLocalFilesDblClick(Sender: TObject);
    465.   begin
    466.     if Assigned(lvLocalFiles.Selected) then
    467.     begin
    468.       if (DirectoryExists(txtMe_Directory.Text + lvLocalFiles.Selected.Caption +
    469.         '/')) then
    470.       begin
    471.         Chdir(txtMe_Directory.Text + lvLocalFiles.Selected.Caption + '/');
    472.         listar(txtMe_Directory.Text + lvLocalFiles.Selected.Caption + '/',
    473.           lvLocalFiles, local_iconos);
    474.         txtMe_Directory.Text := GetCurrentDir + '\';
    475.       end;
    476.     end
    477.     else
    478.     begin
    479.       MessageBox(0, 'Select Path', 'FTP Manager 1.0', MB_ICONINFORMATION);
    480.     end;
    481.   end;
    482.  
    483.   procedure TFormHome.MakeDirectory1Click(Sender: TObject);
    484.   var
    485.     directorio: string;
    486.   begin
    487.     directorio := InputBox('FTP Manager 1.0', 'Directory : ', '');
    488.     try
    489.       begin
    490.         MkDir(txtMe_Directory.Text + '/' + directorio);
    491.         if not(txtMe_Directory.Text = '') then
    492.         begin
    493.           listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    494.         end;
    495.         MessageBox(0, 'Directory created', 'FTP Manager 1.0',
    496.           MB_ICONINFORMATION);
    497.       end;
    498.     except
    499.       MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    500.     end;
    501.   end;
    502.  
    503.   procedure TFormHome.MakeDirectory2Click(Sender: TObject);
    504.   var
    505.     directorio: string;
    506.   begin
    507.     directorio := InputBox('FTP Manager 1.0', 'Directory : ', '');
    508.     try
    509.       begin
    510.         ftp_client.ChangeDir(txt_FTP_Directory.Text);
    511.         ftp_client.MakeDir(directorio);
    512.         if not(txt_FTP_Directory.Text = '') then
    513.         begin
    514.           listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client,
    515.             directorios, archivos);
    516.         end;
    517.         MessageBox(0, 'Directory created', 'FTP Manager 1.0',
    518.           MB_ICONINFORMATION);
    519.       end;
    520.     except
    521.       MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    522.     end;
    523.   end;
    524.  
    525.   procedure TFormHome.Refresh1Click(Sender: TObject);
    526.   begin
    527.     if not(txtMe_Directory.Text = '') then
    528.     begin
    529.       listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    530.     end
    531.     else
    532.     begin
    533.       MessageBox(0, 'Write path', 'FTP Manager 1.0', MB_ICONINFORMATION);
    534.     end;
    535.   end;
    536.  
    537.   procedure TFormHome.Refresh2Click(Sender: TObject);
    538.   begin
    539.     if not(txt_FTP_Directory.Text = '') then
    540.     begin
    541.       listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client, directorios,
    542.         archivos);
    543.     end;
    544.   end;
    545.  
    546.   procedure TFormHome.Rename1Click(Sender: TObject);
    547.   var
    548.     original, new_name: string;
    549.   begin
    550.     if Assigned(lvLocalFiles.Selected) then
    551.     begin
    552.       original := lvLocalFiles.Selected.Caption;
    553.       new_name := InputBox('FTP Manager 1.0', 'New name : ', '');
    554.       if RenameFile(txtMe_Directory.Text + '/' + original,
    555.         txtMe_Directory.Text + '/' + new_name) then
    556.       begin
    557.         if not(txtMe_Directory.Text = '') then
    558.         begin
    559.           listar(txtMe_Directory.Text, lvLocalFiles, local_iconos);
    560.         end;
    561.         MessageBox(0, 'Changed', 'FTP Manager 1.0', MB_ICONINFORMATION);
    562.       end
    563.       else
    564.       begin
    565.         MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    566.       end;
    567.     end;
    568.   end;
    569.  
    570.   procedure TFormHome.Rename2Click(Sender: TObject);
    571.   var
    572.     original, new_name: string;
    573.   begin
    574.     if Assigned(lv_FTP_Files.Selected) then
    575.     begin
    576.       original := lv_FTP_Files.Selected.Caption;
    577.       new_name := InputBox('FTP Manager 1.0', 'New name : ', '');
    578.       try
    579.         begin
    580.           ftp_client.ChangeDir(txt_FTP_Directory.Text);
    581.           ftp_client.Rename(original, new_name);
    582.           if not(txt_FTP_Directory.Text = '') then
    583.           begin
    584.             listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client,
    585.               directorios, archivos);
    586.           end;
    587.           MessageBox(0, 'Changed', 'FTP Manager 1.0', MB_ICONINFORMATION);
    588.         end;
    589.       except
    590.         MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    591.       end;
    592.     end;
    593.  
    594.   end;
    595.  
    596.   procedure TFormHome.btnUploadClick(Sender: TObject);
    597.   var
    598.     fileasubir: string;
    599.     dirasubir: string;
    600.     cantidad: File of byte;
    601.   begin
    602.  
    603.     if Assigned(lvLocalFiles.Selected) then
    604.     begin
    605.       try
    606.         begin
    607.           fileasubir := txtMe_Directory.Text + lvLocalFiles.Selected.Caption;
    608.           dirasubir := txt_FTP_Directory.Text;
    609.  
    610.           ftp_client.OnWork := ftp_clientWork;
    611.  
    612.           AssignFile(cantidad, fileasubir);
    613.           Reset(cantidad);
    614.           progreso.Max := FileSize(cantidad) div 1024;
    615.           CloseFile(cantidad);
    616.  
    617.           ftp_client.ChangeDir(dirasubir);
    618.           ftp_client.Put(fileasubir, lvLocalFiles.Selected.Caption, False);
    619.  
    620.           if not(txt_FTP_Directory.Text = '') then
    621.           begin
    622.             listarftp(txt_FTP_Directory.Text, lv_FTP_Files, ftp_client,
    623.               directorios, archivos);
    624.           end;
    625.  
    626.           MessageBox(0, 'Action completed successfully', 'FTP Manager 1.0',
    627.             MB_ICONINFORMATION);
    628.         end;
    629.       except
    630.         MessageBox(0, 'Error', 'FTP Manager 1.0', MB_ICONERROR);
    631.       end;
    632.     end
    633.     else
    634.     begin
    635.       MessageBox(0, 'Select File to upload', 'FTP Manager 1.0',
    636.         MB_ICONINFORMATION);
    637.     end;
    638.   end;
    639.  
    640. end.
    641.  
    642. // The End ?
    643.  

    Si quieren bajar el programa lo pueden hacer de You are not allowed to view links. Register or Login.

 

[Sintaxis general de Delphi] By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3359
Último mensaje Febrero 24, 2010, 04:35:15 pm
por ANTRAX
Eliminar acentos y otros agregados de un caracter/cadena Delphi 2009

Iniciado por ANTRAX

Respuestas: 0
Vistas: 5198
Último mensaje Febrero 24, 2010, 04:57:14 pm
por ANTRAX
1er troyano en Delphi By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 5455
Último mensaje Febrero 24, 2010, 04:34:48 pm
por ANTRAX
[Delphi] Creacion de un Troyano de conexion inversa

Iniciado por BigBear

Respuestas: 4
Vistas: 6525
Último mensaje Mayo 05, 2017, 09:10:55 am
por _inicio_cerrarsesión
[Delphi] Project Spartacus 1.0 (Regalo de Navidad)

Iniciado por BigBear

Respuestas: 2
Vistas: 2871
Último mensaje Diciembre 26, 2014, 11:54:34 pm
por n4pst3r