ufrmMain.pas 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. unit ufrmMain;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, uIFormShow, StdCtrls, uIRemoteFileAccess;
  6. type
  7. TfrmMain = class(TForm, IShowAsModal)
  8. edtHost: TEdit;
  9. edtPort: TEdit;
  10. btnConnect: TButton;
  11. dlgOpen: TOpenDialog;
  12. btnUpload: TButton;
  13. btnDownload: TButton;
  14. edtRFileID: TEdit;
  15. Label1: TLabel;
  16. btnDel: TButton;
  17. btnFileSize: TButton;
  18. procedure FormCreate(Sender: TObject);
  19. procedure btnConnectClick(Sender: TObject);
  20. procedure btnDelClick(Sender: TObject);
  21. procedure btnDownloadClick(Sender: TObject);
  22. procedure btnFileSizeClick(Sender: TObject);
  23. procedure btnUploadClick(Sender: TObject);
  24. private
  25. { Private declarations }
  26. FDIOCPFileAccess:IRemoteFileAccess;
  27. public
  28. function showAsModal: Integer; stdcall;
  29. end;
  30. var
  31. frmMain: TfrmMain;
  32. implementation
  33. uses
  34. mybean.tools.beanFactory, uDIOCPFileAccessTools;
  35. {$R *.dfm}
  36. procedure TfrmMain.btnConnectClick(Sender: TObject);
  37. var
  38. lvHost:AnsiString;
  39. begin
  40. lvHost := edtHost.Text;
  41. (FDIOCPFileAccess as IRemoteConnector).SetHost(PAnsiChar(lvHost));
  42. (FDIOCPFileAccess as IRemoteConnector).SetPort(StrToInt(edtPort.Text));
  43. (FDIOCPFileAccess as IRemoteConnector).Open;
  44. ShowMessage('连接成功!');
  45. lvHost := '';
  46. end;
  47. procedure TfrmMain.btnDelClick(Sender: TObject);
  48. begin
  49. TDIOCPFileAccessTools.DeleteFile(
  50. FDIOCPFileAccess,
  51. edtRFileID.Text //远程文件
  52. );
  53. ShowMessage('删除文件成功!');
  54. end;
  55. procedure TfrmMain.btnDownloadClick(Sender: TObject);
  56. var
  57. lvLocalFile:String;
  58. begin
  59. lvLocalFile := ExtractFilePath(ParamStr(0)) + 'tempFiles\' + ExtractFileName(edtRFileID.Text);
  60. ForceDirectories(ExtractFilePath(lvLocalFile));
  61. TDIOCPFileAccessTools.DownFile(
  62. FDIOCPFileAccess,
  63. edtRFileID.Text, //远程文件
  64. lvLocalFile); //本地文件
  65. ShowMessage('下载文件成功!');
  66. end;
  67. procedure TfrmMain.btnFileSizeClick(Sender: TObject);
  68. begin
  69. ShowMessage('文件大小:' +
  70. intToStr(
  71. TDIOCPFileAccessTools.FileSize(
  72. FDIOCPFileAccess,
  73. edtRFileID.Text //远程文件
  74. )));
  75. end;
  76. procedure TfrmMain.FormCreate(Sender: TObject);
  77. begin
  78. FDIOCPFileAccess := TMyBeanFactoryTools.getBean('diocpRemoteFile') as IRemoteFileAccess;
  79. end;
  80. procedure TfrmMain.btnUploadClick(Sender: TObject);
  81. var
  82. lvRFileID:String;
  83. begin
  84. if dlgOpen.Execute then
  85. begin
  86. lvRFileID := 'diocpBean\' + ExtractFileName(dlgOpen.FileName);
  87. TDIOCPFileAccessTools.UploadFile(
  88. FDIOCPFileAccess,
  89. lvRFileID, //远程文件
  90. dlgOpen.FileName); //本地文件
  91. ShowMessage('上传文件成功!');
  92. edtRFileID.Text := lvRFileID;
  93. end;
  94. end;
  95. { TfrmMain }
  96. function TfrmMain.showAsModal: Integer;
  97. begin
  98. Result := ShowModal;
  99. end;
  100. end.