Q&A

  • ★ 파일업로드....
저기요~~



저좀 도와 주세요....



여기 게시판에 있는 소스로 컴파일 해봐도....



컴파일은 되는데... 시행시키면.... XXXX



ㅠ.ㅠ 어떠카죠? ㅠ.ㅠ 도와주세요...



파일 업로드 할수 있게... 도와주세요...



제발.... ㅠ.ㅠ



1  COMMENTS
  • Profile
    조규춘 2000.06.02 09:53
    왕초보 wrote:

    > 저기요~~

    >

    > 저좀 도와 주세요....

    >

    > 여기 게시판에 있는 소스로 컴파일 해봐도....

    >

    > 컴파일은 되는데... 시행시키면.... XXXX

    >

    > ㅠ.ㅠ 어떠카죠? ㅠ.ㅠ 도와주세요...

    >

    > 파일 업로드 할수 있게... 도와주세요...

    >

    > 제발.... ㅠ.ㅠ

    >



    음냐.. FTP를 말씀하시는 거군요.. 푸힝.

    자 첫번째 소스... 자료를 선택해서 보내는 소스

    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    Psock, NMFtp, StdCtrls, ExtCtrls, FileCtrl;



    type

    TForm1 = class(TForm)

    Btn_Connect: TButton;

    Lst_SvrFile: TListBox;

    Btn_Disconnect: TButton;

    FileListBox1: TFileListBox;

    DirectoryListBox1: TDirectoryListBox;

    DriveComboBox1: TDriveComboBox;

    Rad_FileType: TRadioGroup;

    NMFTP1: TNMFTP;

    procedure Btn_ConnectClick(Sender: TObject);

    procedure NMFTP1ListItem(Listing: String);

    procedure Lst_SvrFileDblClick(Sender: TObject);

    procedure FileListBox1DragOver(Sender, Source: TObject; X, Y: Integer;

    State: TDragState; var Accept: Boolean);

    procedure FileListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);

    procedure Lst_SvrFileDragOver(Sender, Source: TObject; X, Y: Integer;

    State: TDragState; var Accept: Boolean);

    procedure Lst_SvrFileDragDrop(Sender, Source: TObject; X, Y: Integer);

    procedure Btn_DisconnectClick(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    private

    procedure Dis_File(SvrDir : string);

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    uses Unit2;



    {$R *.DFM}



    procedure TForm1.Btn_ConnectClick(Sender: TObject);

    begin

    if Form2.ShowModal = mrOk then

    begin

    try

    Lst_SvrFile.Clear;

    NMFTP1.Host := Form2.Edt_IP.Text;

    NMFTP1.Port := 21;

    NMFTP1.UserID := Form2.Edt_User.Text;

    NMFTP1.Password := Form2.Edt_Passwd.Text;

    NMFTP1.Connect;

    NMFTP1.List;

    Lst_SvrFile.Items.Add(' [..]');

    except

    NMFTP1.Disconnect;

    Lst_SvrFile.Clear;

    end;

    end;

    end;



    procedure TForm1.NMFTP1ListItem(Listing: String);

    begin

    if (Listing[1] = '-') or (Listing[1] = 'd') or (Listing[1] = 'r') then

    Lst_SvrFile.Items.Add(Listing);

    end;



    procedure TForm1.Lst_SvrFileDblClick(Sender: TObject);

    var

    SvrFile, SvrDir : string;

    begin

    SvrFile := Lst_SvrFile.Items.Strings[Lst_SvrFile.ItemIndex];

    if UpperCase(Copy(SvrFile, 1, 1)) = 'D' then

    begin

    SvrDir := NMFTP1.CurrentDir + '/' + Copy(SvrFile, LastDelimiter(' ', SvrFile) + 1, Length(SvrFile));

    Dis_File(SvrDir);

    exit;

    end;

    if SvrFile = ' [..]' then begin

    if LastDelimiter('/', NMFTP1.CurrentDir) = 1 then exit;

    SvrDir := Copy(NMFTP1.CurrentDir, 0, LastDelimiter('/', NMFTP1.CurrentDir) - 1);

    Dis_File(SvrDir);

    exit;;

    end;

    end;



    procedure TForm1.Dis_File(SvrDir : string);

    begin

    Lst_SvrFile.Clear;

    Lst_SvrFile.Items.Add(' [..]');

    NMFTP1.ChangeDir(SvrDir);

    NMFTP1.List;

    end;



    procedure TForm1.FileListBox1DragOver(Sender, Source: TObject; X,

    Y: Integer; State: TDragState; var Accept: Boolean);

    begin

    if Source is TListBox then Accept := true;

    end;



    procedure TForm1.FileListBox1DragDrop(Sender, Source: TObject; X,

    Y: Integer);

    var

    DownFile, SvrFile : string;

    begin

    if Source is TListBox then

    begin

    SvrFile := Lst_SvrFile.Items.Strings[Lst_SvrFile.ItemIndex];

    if Rad_FileType.ItemIndex = 0 then NMFTP1.Mode(MODE_ASCII)

    else NMFTP1.Mode(MODE_IMAGE);



    DownFile := NMFTP1.CurrentDir + '/' + Copy(SvrFile, LastDelimiter(' ', SvrFile) + 1, Length(SvrFile));

    NMFTP1.Download(DownFile, Copy(SvrFile, LastDelimiter(' ', SvrFile) + 1, Length(SvrFile)));

    FileListBox1.Update();

    end;

    end;



    procedure TForm1.Lst_SvrFileDragOver(Sender, Source: TObject; X,

    Y: Integer; State: TDragState; var Accept: Boolean);

    begin

    if Source is TFileListBox then Accept := true;

    end;



    procedure TForm1.Lst_SvrFileDragDrop(Sender, Source: TObject; X,

    Y: Integer);

    begin

    if Source is TFileListBox then

    begin

    if Rad_FileType.ItemIndex = 0 then NMFTP1.Mode(MODE_ASCII)

    else NMFTP1.Mode(MODE_IMAGE);

    NMFTP1.Upload(FileListBox1.FileName, ExtractFileName(FileListBox1.FileName));

    Dis_File(NMFTP1.CurrentDir);

    end;

    end;



    procedure TForm1.Btn_DisconnectClick(Sender: TObject);

    begin

    NMFTP1.Disconnect;

    Lst_SvrFile.Clear;

    end;



    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

    begin

    NMFTP1.Disconnect;

    end;



    end.







    두번째로 로긴 연결하는 소스(소스라기 보다는 기냥 폼....)

    unit Unit2;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm2 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Edt_IP: TEdit;

    Edt_User: TEdit;

    Edt_Passwd: TEdit;

    Button1: TButton;

    Button2: TButton;

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form2: TForm2;



    implementation



    {$R *.DFM}



    end.



    행복하셔요.. 푸히~! 조규춘올림.