Class TStarFtp (unit FreeFtp)

Inherits from

TStarSocket

Constructors


constructor Create(AOwner: TComponent);



Functions

procedure ChangeDirectory(name: string);


procedure CreateDirectory(dir: string);


procedure DeleteDirectory(dir: string);


procedure DeleteFile(filename: string);


procedure FatalError(e: FtpError);


procedure FTPRefresh;


procedure GetFile;


procedure GetURL;


procedure IssueCommand(command: string);


procedure ListFile;


procedure ListURL;


procedure Login;


procedure PutFile;


procedure PutURL;


procedure Quit;


procedure RenameFile(oldname,newname: string);


procedure StopTransfer;


destructor Destroy;


procedure LookupNameDone;


function CheckError: Boolean;


procedure CloseProc;


procedure DataDoListing(sender: TObject);


procedure DataFileDisconnected(sender: TObject);


procedure DataListConnected(sender: TObject);

============================== data connection routines=================

procedure DataListDisconnected(sender: TObject);


procedure DataRetrFile(sender: TObject);


procedure DataStorConnected(sender: TObject);


procedure DidConnect(Sender: TObject);


procedure DirURL;


procedure DoDisconnect(Sender: TObject);


procedure DoFtpError(e: FtpError);


procedure DoFtpInfo(info: FtpInfo; add: string);


procedure DoRead(Sender: TObject);

if Assigned(FOnRead) then FOnRead(Sender);

function ExtractLast(line: string): string;


procedure FtpLogin(line:string);


function GetWinsockStarted: Boolean;


procedure LoadURL;


procedure Proceed(s: string;n: integer);


procedure QuitListURL;


procedure QuitURL;


procedure Ready;

PostMessage(Handle,FTP_ERROR,Ord(e),0);

function RecvText : string;


procedure SetDirectories(s: TStrings);


procedure SetFiles(s: TStrings);


procedure SetList(s: TStrings);


function SetupDataPort: string;


procedure SetWinsockStarted(b: Boolean);


procedure StoreURL;


procedure TimedOut(Sender: TObject);


procedure UserMessageHandler(var Message: TMessage);


procedure Write(line: string);


Properties

property FtpPort : u_short


property FtpServer : string


property Ftp_URL : string


property InitialDirectory : string


property LocalFile : string


property RemoteFile : string


property ServerType : TFTPServerType


property Success : Boolean


property TimeOutArp :


property TimeOutConnect :


property TransferMode : TTransferType


property UserAccount : string


property UserName : string


property UserPassword : string


property Version : string


property WinsockStarted : Boolean


property BytesTransferred : LongInt


property Connected : Boolean


property Directories : TStrings


property DoingListing : Boolean


property Error : FtpError


property Files : TStrings


property Listing : TStrings


property TransferTime : LongInt


Events

event OnDirectoryChanged : TNotifyEvent


event OnDirectoryCreated : TNotifyEvent


event OnDirectoryDeleted : TNotifyEvent


event OnFileDeleted : TNotifyEvent


event OnFileReceived : TNotifyEvent


event OnFileRenamed : TNotifyEvent


event OnFileStored : TNotifyEvent


event OnFtpError : TFtpErrorEvent


event OnFtpInfo : TFtpInfoEvent


event OnFtpNeedInfo : TFtpInfoNeededEvent


event OnFtpQuit : TNotifyEvent


event OnFtpReady : TNotifyEvent


event OnListingDone : TNotifyEvent


event OnLoggedIn : TNotifyEvent


Variables

Busy : Boolean;


Aborted : Boolean;


buffer : array[0..2048] of Char;


Bytes : Longint;


ControlConnected : Boolean;


DataClient : integer;


DataConnected : Boolean;


datafile : file;


DataID : integer;


DataPartialLine : string;


DataSocket : TStarSocket;


DummyS : string;


FAcct : string;


FDataSuccess : Boolean;


FDirectories : TStrings;


FDirectory : string;


FDirectoryChanged : TNotifyEvent;


FDirectoryCreated : TNotifyEvent;


FDirectoryDeleted : TNotifyEvent;


FDoingListing : Boolean;


FError : FtpError;


FFile : string;


FFileDeleted : TNotifyEvent;


FFileReceived : TNotifyEvent;


FFileRenamed : TNotifyEvent;


FFiles : TStrings;


FFileStored : TNotifyEvent;


FFTPQuit : TNotifyEvent;


FileOpened : Boolean;


FList : TStrings;


FListingDone : TNotifyEvent;


FLoggedIn : TNotifyEvent;


FMode : TTransferType;


FOnError : TFtpErrorEvent;


FOnReady : TNotifyEvent;


FPass : string;


fReady : Boolean;


FSelection : string;


FSuccess : Boolean;


FtpInfoEvent : TFtpInfoEvent;


FtpInfoEvt : TFtpInfoEvent;


FtpLastAction : TFtpLastAction;


FtpProc : TNewLineProc;


FType : TFTPServerType;


FURL : string;


FUSer : string;


FVersion : string;


Intermediate : Boolean;


ListeningSocket : TStarSocket;


LoggedIn : Boolean;


NeedInfo : TFtpInfoNeededEvent;


OnHold : Boolean;


PartialLine : string;


Pending : Boolean;


ReadyMain : Boolean;


ReadyPort : Boolean;


Response : string;


rnto : string;


SaveList : Boolean;


StartTime : Longint;


step : integer;


TransferAborted : Boolean;


TrTime : Longint;


urlfile : string;


URLMode : Boolean;


URLProc : TURLProc;



Constructors


constructor Create(AOwner: TComponent);


Functions


procedure ChangeDirectory(name: string);


procedure CreateDirectory(dir: string);


procedure DeleteDirectory(dir: string);


procedure DeleteFile(filename: string);


procedure FatalError(e: FtpError);


procedure FTPRefresh;


procedure GetFile;


procedure GetURL;


procedure IssueCommand(command: string);


procedure ListFile;


procedure ListURL;


procedure Login;


procedure PutFile;


procedure PutURL;


procedure Quit;


procedure RenameFile(oldname,newname: string);


procedure StopTransfer;


destructor Destroy;


procedure LookupNameDone;


function CheckError: Boolean;


procedure CloseProc;


procedure DataDoListing(sender: TObject);


procedure DataFileDisconnected(sender: TObject);


procedure DataListConnected(sender: TObject);

============================== data connection routines=================


procedure DataListDisconnected(sender: TObject);


procedure DataRetrFile(sender: TObject);


procedure DataStorConnected(sender: TObject);


procedure DidConnect(Sender: TObject);


procedure DirURL;


procedure DoDisconnect(Sender: TObject);


procedure DoFtpError(e: FtpError);


procedure DoFtpInfo(info: FtpInfo; add: string);


procedure DoRead(Sender: TObject);

if Assigned(FOnRead) then FOnRead(Sender);


function ExtractLast(line: string): string;


procedure FtpLogin(line:string);


function GetWinsockStarted: Boolean;


procedure LoadURL;


procedure Proceed(s: string;n: integer);


procedure QuitListURL;


procedure QuitURL;


procedure Ready;

PostMessage(Handle,FTP_ERROR,Ord(e),0);


function RecvText : string;


procedure SetDirectories(s: TStrings);


procedure SetFiles(s: TStrings);


procedure SetList(s: TStrings);


function SetupDataPort: string;


procedure SetWinsockStarted(b: Boolean);


procedure StoreURL;


procedure TimedOut(Sender: TObject);


procedure UserMessageHandler(var Message: TMessage);


procedure Write(line: string);


Properties


property FtpPort : u_short


property FtpServer : string


property Ftp_URL : string


property InitialDirectory : string


property LocalFile : string


property RemoteFile : string


property ServerType : TFTPServerType


property Success : Boolean


property TimeOutArp :


property TimeOutConnect :


property TransferMode : TTransferType


property UserAccount : string


property UserName : string


property UserPassword : string


property Version : string


property WinsockStarted : Boolean


property BytesTransferred : LongInt


property Connected : Boolean


property Directories : TStrings


property DoingListing : Boolean


property Error : FtpError


property Files : TStrings


property Listing : TStrings


property TransferTime : LongInt


Events


event OnDirectoryChanged : TNotifyEvent


event OnDirectoryCreated : TNotifyEvent


event OnDirectoryDeleted : TNotifyEvent


event OnFileDeleted : TNotifyEvent


event OnFileReceived : TNotifyEvent


event OnFileRenamed : TNotifyEvent


event OnFileStored : TNotifyEvent


event OnFtpError : TFtpErrorEvent


event OnFtpInfo : TFtpInfoEvent


event OnFtpNeedInfo : TFtpInfoNeededEvent


event OnFtpQuit : TNotifyEvent


event OnFtpReady : TNotifyEvent


event OnListingDone : TNotifyEvent


event OnLoggedIn : TNotifyEvent


Variables


Busy : Boolean;


Aborted : Boolean;


buffer : array[0..2048] of Char;


Bytes : Longint;


ControlConnected : Boolean;


DataClient : integer;


DataConnected : Boolean;


datafile : file;


DataID : integer;


DataPartialLine : string;


DataSocket : TStarSocket;


DummyS : string;


FAcct : string;


FDataSuccess : Boolean;


FDirectories : TStrings;


FDirectory : string;


FDirectoryChanged : TNotifyEvent;


FDirectoryCreated : TNotifyEvent;


FDirectoryDeleted : TNotifyEvent;


FDoingListing : Boolean;


FError : FtpError;


FFile : string;


FFileDeleted : TNotifyEvent;


FFileReceived : TNotifyEvent;


FFileRenamed : TNotifyEvent;


FFiles : TStrings;


FFileStored : TNotifyEvent;


FFTPQuit : TNotifyEvent;


FileOpened : Boolean;


FList : TStrings;


FListingDone : TNotifyEvent;


FLoggedIn : TNotifyEvent;


FMode : TTransferType;


FOnError : TFtpErrorEvent;


FOnReady : TNotifyEvent;


FPass : string;


fReady : Boolean;


FSelection : string;


FSuccess : Boolean;


FtpInfoEvent : TFtpInfoEvent;


FtpInfoEvt : TFtpInfoEvent;


FtpLastAction : TFtpLastAction;


FtpProc : TNewLineProc;


FType : TFTPServerType;


FURL : string;


FUSer : string;


FVersion : string;


Intermediate : Boolean;


ListeningSocket : TStarSocket;


LoggedIn : Boolean;


NeedInfo : TFtpInfoNeededEvent;


OnHold : Boolean;


PartialLine : string;


Pending : Boolean;


ReadyMain : Boolean;


ReadyPort : Boolean;


Response : string;


rnto : string;


SaveList : Boolean;


StartTime : Longint;


step : integer;


TransferAborted : Boolean;


TrTime : Longint;


urlfile : string;


URLMode : Boolean;


URLProc : TURLProc;