⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dws2ftpmodule.pas

📁 script language
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{**********************************************************************}
{    DWS2 FTP Library  - Version 1.0                                   }
{    Developed by Fabrizio Vita (http://web.tiscali.it/bizio)           }
{                                                                      }
{    "The contents of this file are subject to the Mozilla Public      }
{    License Version 1.1 (the "License"); you may not use this         }
{    file except in compliance with the License. You may obtain        }
{    a copy of the License at                                          }
{                                                                      }
{    http://www.mozilla.org/MPL/                                       }
{                                                                      }
{    Software distributed under the License is distributed on an       }
{    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express       }
{    or implied. See the License for the specific language             }
{    governing rights and limitations under the License.               }
{                                                                      }
{                                                                      }
{**********************************************************************}

unit dws2FTPModule;

interface

uses
  dws2Comp, dws2Exprs, Classes, ftpobjunit;

type
  Tdws2FTPLib = class(TDataModule)
    customFTPUnit: Tdws2Unit;
    procedure customFTPUnitClassesTFTPConnectionMethodsFindFirstEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsFindNextEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsFindCloseEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsIsDirectoryEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsFilesizeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsAbortEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsFreeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsOpenEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetFileEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsPutFileEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsChangeDirEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsMakeDirEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsExecuteEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsCreateSAVFEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsSetHostEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetHostEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsSetUserIDEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetUserIDEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsSetPwdEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetPWDEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsSetDefaultDirEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetDefaultDirEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetStatusEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetCurrentDirEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsDeleteFileEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsRemoveDirEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsCloseEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsConnectEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsDisconnectEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsLastErrorEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsLastResponseEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsSetLogFileEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsSetMaskPasswordEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionMethodsGetMaskPasswordEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customFTPUnitClassesTFTPConnectionConstructorsCreateAssignExternalObject(
      Info: TProgramInfo; var ExtObject: TObject);
  private
    FScript: TDelphiWebScriptII;
    procedure SetScript(const Value: TDelphiWebScriptII);
  protected
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  published
    property Script: TDelphiWebScriptII read FScript write SetScript;
  end;

procedure Register;

var
  dws2FTPLib: Tdws2FTPLib;

implementation

{$R *.dfm}

procedure Register;
begin
  RegisterComponents('DWS2', [Tdws2FTPLib]);
end;

procedure Tdws2FTPLib.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited;
  if (Operation = opRemove) and (AComponent = FScript) then
    SetScript(nil);
end;

procedure Tdws2FTPLib.SetScript(const Value: TDelphiWebScriptII);
var
  x: Integer;
begin
  if Assigned(FScript) then
    FScript.RemoveFreeNotification(Self);
  if Assigned(Value) then
    Value.FreeNotification(Self);
  FScript := Value;
  for x := 0 to ComponentCount - 1 do
    if Components[x] is Tdws2Unit then
      Tdws2Unit(Components[x]).Script := Value;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsFindFirstEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  IsDir: boolean;
  size: integer;
  fn: string;
  FTPClientObj: TFtpClientObject;
  Specifier: string;
begin
  FTPClientObj := TFtpClientObject(ExtObject);
  Specifier := Info['Specifier'];
  FTPClientObj.FindFirst(Specifier, fn, isdir, size);
  Info.Result := fn;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsFindNextEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  IsDir: boolean;
  fn: string;
  Size: integer;
  FTPClientObj: TFtpClientObject;
begin
  FTPClientObj := TFtpClientObject(ExtObject);
  FTPClientObj.FindNext(fn, IsDir, Size);
  Info.Result := fn;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsFindCloseEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  FTPClientObj: TFtpClientObject;
begin
  FTPClientObj := TFtpClientObject(ExtObject);
  FTPClientObj.FindClose;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsIsDirectoryEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  Size: integer;
  IsDir: boolean;
  FTPClientObj: TFtpClientObject;
  Nome: string;
begin
  FTPClientObj := TFtpClientObject(ExtObject);
  Nome := Info['Value'];

  FtpClientObj.GetFileProperties(Nome, IsDir, Size);
  if IsDir then
    Info.Result := true
  else
    Info.Result := False;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsFilesizeEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  IsDir: boolean;
  Size: integer;
  FTPClientObj: TFtpClientObject;
  Nome, err: string;
begin
  FTPClientObj := TFtpClientObject(ExtObject);
  Nome := Info['Value'];
  err := FtpClientObj.GetFileProperties(Nome, IsDir, Size);

  if err <> '' then
  begin
    Info.Result := -1;
  end
  else
  begin
    if IsDir then
    begin
      err := Name + ' is a directory';
      Info.Result := -1;
    end
    else
    begin
      Info.Result := Size;
    end;
  end;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsAbortEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  FTPClientObj: TFtpClientObject;
begin
  FTPClientObj := TFtpClientObject(ExtObject);
  FtpClientObj.Abort;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionConstructorsCreateAssignExternalObject(
  Info: TProgramInfo; var ExtObject: TObject);
var
  FTPClientObj: TFtpClientObject;
begin
  FTPClientObj := TFtpClientObject.Create;
  ExtObject := FTPClientObj;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsFreeEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  FTPClientObj: TFtpClientObject;
begin
  FTPClientObj := TFtpClientObject(ExtObject);
  FTPClientObj.DisConnect;
  FTPClientObj.Free;
end;

procedure Tdws2FTPLib.customFTPUnitClassesTFTPConnectionMethodsOpenEval(
  Info: TProgramInfo; ExtObject: TObject);
var
  FTPClientObj: TFtpClientObject;
  err: string;
begin
  FTPClientObj := TFtpClientObject(ExtObject);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -