제가 지금 어떤 프로그램 안에 이 소스를 잡아 넣고 싶은데요....
다른 소스의 한 프로시저 안에 잡아 넣는 방법은 없나요????
아님 이 소스를 한 프로시저 안에다가 몽땅 잡아 넣을 수는 없나요??
그래야 다른 프로그램이 돌아 갈 것 같아서리.....
아니면 다른 프로그램에서 하나의 버튼으로 이 NMFTP 프로그램이 실행되게 할 수 있는 방법은 없을까요??
조언 꼭 부탁 드립니다.... 즐거운 추석 보내세요......
그럼 꼭 조언 좀 해 주세요.............
소스 :
unit UFtp_juni1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, Psock, NMFtp, Db, DBTables;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
NMFTP1: TNMFTP;
Label3: TLabel;
Label4: TLabel;
Label7: TLabel;
Label8: TLabel;
Button6: TButton;
RemoteTxt: TEdit;
Database1: TDatabase;
Query1: TQuery;
DataSource1: TDataSource;
StatusBar1: TStatusBar;
HostTxt: TEdit;
PortTxt: TEdit;
UserTxt: TEdit;
PassTxt: TEdit;
LocalTxt: TEdit;
RichEdit1: TRichEdit;
Button4: TButton;
Memo1: TMemo;
Query2: TQuery;
DataSource2: TDataSource;
Database2: TDatabase;
procedure NMFTP1Success(Trans_Type: TCmdType);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure NMFTP1ListItem(Listing: String);
procedure NMFTP1PacketRecvd(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure saveproc;
procedure NMFTP1Connect(Sender: TObject);
procedure NMFTP1Failure(var handled: Boolean; Trans_Type: TCmdType);
procedure NMFTP1TransactionStop(Sender: TObject);
procedure NMFTP1HostResolved(Sender: TComponent);
procedure NMFTP1InvalidHost(var handled: Boolean);
procedure NMFTP1PacketSent(Sender: TObject);
procedure NMFTP1TransactionStart(Sender: TObject);
procedure NMFTP1Disconnect(Sender: TObject);
procedure NMFTP1Error(Sender: TComponent; Errno: Word; Errmsg: String);
procedure NMFTP1Status(Sender: TComponent; Status: String);
procedure NMFTP1UnSupportedFunction(Trans_Type: TCmdType);
procedure NMFTP1ConnectionFailed(Sender: TObject);
//procedure SaveLog;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
savecnt: integer;
savedate :TDateTime;
implementation
{$R *.DFM}
var
Q: Integer;
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.Button1Click(Sender: TObject);
begin
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
if E.message='something'
then writeln('poo');
end
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
NMFTP1.Disconnect;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Q := 1;
NMFTP1.Nlist;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Q := 1;
NMFTP1.List;
end;
procedure TForm1.NMFTP1ListItem(Listing: String);
begin
Memo1.Lines.Add(IntToStr(Q)+': '+Listing);
Inc(Q);
end;
procedure TForm1.NMFTP1PacketRecvd(Sender: TObject);
begin
StatusBar1.SimpleText := IntToStr(NMFTP1.BytesRecvd)+' of '+IntToStr(NMFTP1.BytesTotal);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
NMFTP1.Download(RemoteTxt.Text, LocalTxt.Text);
saveproc;
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.NMFTP1TransactionStop(Sender: TObject);
begin
StatusBar1.SimpleText := 'Data Transfer Complete';
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.NMFTP1PacketSent(Sender: TObject);
begin
StatusBar1.SimpleText := IntToStr(NMFTP1.BytesSent)+' of '+IntToStr(NMFTP1.BytesTotal);
end;
procedure TForm1.NMFTP1TransactionStart(Sender: TObject);
begin
StatusBar1.SimpleText := 'Beginning Data Transfer';
end;
procedure TForm1.NMFTP1Disconnect(Sender: TObject);
begin
If StatusBar1 <> nil then
StatusBar1.SimpleText := 'Disconnected';
end;
procedure TForm1.NMFTP1Error(Sender: TComponent; Errno: Word;
Errmsg: String);
begin
ShowMessage('Error '+IntToStr(Errno)+': '+Errmsg);
end;
procedure TForm1.NMFTP1Status(Sender: TComponent; Status: String);
begin
If StatusBar1 <> nil then
StatusBar1.SimpleText := status;
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.NMFTP1ConnectionFailed(Sender: TObject);
begin
ShowMessage('Connection Failed');
end;
end.
NMFTP프로그램Form을 부른다는 이야기 같은데 ...
다른 프로그램에서 실행(Exe를 실행)시키신다면
NMFTP프로그램Form이 하나의 실행화일로 되어있다면
WinExe나 ShellExecute를 사용해 보세요...
(이건 아마도 검색에서 찾으시면 나올것 같고...)
하나의 Project에서 실행 하신다면
buttonClick Event에
Application.CreateForm(NMFTP프로그램Form, TNMFTP프로그램Form );
NMFTP프로그램Form.Show;//(NMFTP프로그램Form.Showmodal)
이런식으로 사용하셔도 될것 같은데요
그럼... ^^;
델초보쭈니~ wrote:
> 제가 지금 어떤 프로그램 안에 이 소스를 잡아 넣고 싶은데요....
> 다른 소스의 한 프로시저 안에 잡아 넣는 방법은 없나요????
> 아님 이 소스를 한 프로시저 안에다가 몽땅 잡아 넣을 수는 없나요??
> 그래야 다른 프로그램이 돌아 갈 것 같아서리.....
> 아니면 다른 프로그램에서 하나의 버튼으로 이 NMFTP 프로그램이 실행되게 할 수 있는 방법은 없을까요??
> 조언 꼭 부탁 드립니다.... 즐거운 추석 보내세요......
> 그럼 꼭 조언 좀 해 주세요.............