Annonceindlæg fra Barco
27. februar 2005 - 13:18
#1
hvis du bruger componentet nmftp1, har jeg lidt. det er kun selve forbindelsen men den kan udbygget med download upload som jeg også har liggende et eller andet sted.. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Psock, NMFtp, StdCtrls, ComCtrls; type TForm1 = class(TForm) NMFTP1: TNMFTP; StatusBar1: TStatusBar; HostTxt: TEdit; PortTxt: TEdit; UserTxt: TEdit; PassTxt: TEdit; Edit7: TEdit; Edit6: TEdit; CheckBox1: TCheckBox; Button1: TButton; Button2: TButton; Button3: TButton; Memo1: TMemo; procedure NMFTP1ListItem(Listing: String); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure NMFTP1Disconnect(Sender: TObject); procedure NMFTP1Connect(Sender: TObject); procedure NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType); procedure NMFTP1ConnectionFailed(Sender: TObject); procedure NMFTP1Error(Sender: TComponent; Errno: Word; Errmsg: String); procedure NMFTP1HostResolved(Sender: TComponent); procedure NMFTP1InvalidHost(var Handled: Boolean); procedure NMFTP1PacketRecvd(Sender: TObject); procedure NMFTP1PacketSent(Sender: TObject); procedure NMFTP1Success(Trans_Type: TCmdType); procedure NMFTP1TransactionStart(Sender: TObject); procedure NMFTP1TransactionStop(Sender: TObject); procedure NMFTP1UnSupportedFunction(Trans_Type: TCmdType); procedure NMFTP1Status(Sender: TComponent; Status: String); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} var Q: Integer; procedure TForm1.NMFTP1ListItem(Listing: String); begin Memo1.Lines.Add(IntToStr(Q)+': '+Listing); Inc(Q); end; procedure TForm1.Button1Click(Sender: TObject); begin If CheckBox1.Checked then Begin NMFTP1.Proxy := Edit6.Text; NMFTP1.ProxyPort := StrToInt(Edit7.Text); End; NMFTP1.Host := HostTxt.Text; NMFTP1.Port := StrToInt(PortTxt.Text); NMFTP1.Timeout := 5000; NMFTP1.UserID := UserTxt.Text; NMFTP1.Password := PassTxt.Text; try NMFTP1.Connect; except On E:Exception do writeln(E.message); end end; procedure TForm1.Button2Click(Sender: TObject); begin Q := 1; try NMFTP1.NList; except end; end; procedure TForm1.Button3Click(Sender: TObject); begin NMFTP1.Disconnect; end; procedure TForm1.NMFTP1Disconnect(Sender: TObject); begin If StatusBar1 <> nil then StatusBar1.SimpleText := 'Disconnected'; end; procedure TForm1.NMFTP1Connect(Sender: TObject); begin StatusBar1.SimpleText := 'Connected'; end; procedure TForm1.NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType); begin Case Trans_Type of cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir failure'; cmdMakeDir: StatusBar1.SimpleText := 'MakeDir failure'; cmdDelete: StatusBar1.SimpleText := 'Delete failure'; cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir failure'; cmdList: StatusBar1.SimpleText := 'List failure'; cmdRename: StatusBar1.SimpleText := 'Rename failure'; cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore failure'; cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore failure'; cmdDownload: StatusBar1.SimpleText := 'Download failure'; cmdUpload: StatusBar1.SimpleText := 'Upload failure'; cmdAppend: StatusBar1.SimpleText := 'UploadAppend failure'; cmdReInit: StatusBar1.SimpleText := 'ReInit failure'; cmdAllocate: StatusBar1.SimpleText := 'Allocate failure'; cmdNList: StatusBar1.SimpleText := 'NList failure'; cmdDoCommand: StatusBar1.SimpleText := 'DoCommand failure'; end; end; procedure TForm1.NMFTP1ConnectionFailed(Sender: TObject); begin ShowMessage('Connection Failed'); end; procedure TForm1.NMFTP1Error(Sender: TComponent; Errno: Word; Errmsg: String); begin ShowMessage('Error '+IntToStr(Errno)+': '+Errmsg); end; procedure TForm1.NMFTP1HostResolved(Sender: TComponent); begin StatusBar1.SimpleText := 'Host resolved'; end; procedure TForm1.NMFTP1InvalidHost(var Handled: Boolean); begin ShowMessage('Invalid Host'); end; procedure TForm1.NMFTP1PacketRecvd(Sender: TObject); begin StatusBar1.SimpleText := IntToStr(NMFTP1.BytesRecvd)+' of '+IntToStr(NMFTP1.BytesTotal); end; procedure TForm1.NMFTP1PacketSent(Sender: TObject); begin StatusBar1.SimpleText := IntToStr(NMFTP1.BytesSent)+' of '+IntToStr(NMFTP1.BytesTotal); end; procedure TForm1.NMFTP1Success(Trans_Type: TCmdType); begin Case Trans_Type of cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir success'; cmdMakeDir: StatusBar1.SimpleText := 'MakeDir success'; cmdDelete: StatusBar1.SimpleText := 'Delete success'; cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir success'; cmdList: StatusBar1.SimpleText := 'List success'; cmdRename: StatusBar1.SimpleText := 'Rename success'; cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore success'; cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore success'; cmdDownload: StatusBar1.SimpleText := 'Download success'; cmdUpload: StatusBar1.SimpleText := 'Upload success'; cmdAppend: StatusBar1.SimpleText := 'UploadAppend success'; cmdReInit: StatusBar1.SimpleText := 'ReInit success'; cmdAllocate: StatusBar1.SimpleText := 'Allocate success'; cmdNList: StatusBar1.SimpleText := 'NList success'; cmdDoCommand: StatusBar1.SimpleText := 'DoCommand success'; end; end; procedure TForm1.NMFTP1TransactionStart(Sender: TObject); begin StatusBar1.SimpleText := 'Beginning Data Transfer'; end; procedure TForm1.NMFTP1TransactionStop(Sender: TObject); begin StatusBar1.SimpleText := 'Data Transfer Complete'; end; procedure TForm1.NMFTP1UnSupportedFunction(Trans_Type: TCmdType); begin Case Trans_Type of cmdChangeDir: ShowMessage('ChangeDir unsupported'); cmdMakeDir: ShowMessage('MakeDir unsupported'); cmdDelete: ShowMessage('Delete unsupported'); cmdRemoveDir: ShowMessage('RemoveDir unsupported'); cmdList: ShowMessage('List unsupported'); cmdRename: ShowMessage('Rename unsupported'); cmdUpRestore: ShowMessage('UploadRestore unsupported'); cmdDownRestore: ShowMessage('DownloadRestore unsupported'); cmdDownload: ShowMessage('Download unsupported'); cmdUpload: ShowMessage('Upload unsupported'); cmdAppend: ShowMessage('UploadAppend unsupported'); cmdReInit: ShowMessage('ReInit unsupported'); cmdAllocate: ShowMessage('Allocate unsupported'); cmdNList: ShowMessage('NList unsupported'); cmdDoCommand: ShowMessage('DoCommand unsupported'); end; end; procedure TForm1.NMFTP1Status(Sender: TComponent; Status: String); begin // If StatusBar1 <> nil then // StatusBar1.SimpleText := status; end; end.