🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.internet.socket
Article #5519

Re: Indy ftp server with c++ HELP PLEASE

#5519
From: Brian
Date: Tue, 17 Aug 2004 22:54
108 lines
4023 bytes
Thank you gambit, here are my events so far:

void __fastcall TfrmMain::IdFTPServer1RetrieveFile(
      TIdFTPServerThread *ASender, const AnsiString AFileName,
      TStream *&VStream)
{
        VStream = NULL;

        try
        {
                VStream = new TFileStream(AFileName, fmOpenRead |
                fmShareDenyWrite);
        }
        catch(Exception&)
        {
                // an error occured opening the file for reading
        }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::IdFTPServer1StoreFile(
      TIdFTPServerThread *ASender, const AnsiString AFileName,
      bool AAppend, TStream *&VStream)
{
        VStream = NULL;

        WORD mode = fmCreate;
        if(AAppend)
                mode = (fmOpenReadWrite | fmShareDenyWrite);

        try
        {
                VStream = new TFileStream(AFileName, mode);
        }
        catch(Exception&)
        {
                // an error occured opening the file for writing
        }

}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::IdFTPServer1AfterUserLogin(
      TIdFTPServerThread *ASender)
{
        // ASender is an autocreated thread for us
        // Instance of struct for settings
        TFtpClient*    AClient;
        AClient = new TFtpClient;

        ASender->HomeDir = '/';
        ASender->CurrentDir = '/';

        // Our struct for various settings
        AClient->Thread = ASender;
        AClient->IP = ASender->Connection->Socket->Binding->PeerIP.c_str() ;
        AClient->RootPath = "c:\\" ; // Need function to return
        // Pass this struct to our ASender thread
        ASender->Data = AClient;

}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::IdFTPServer1ListDirectory(
      TIdFTPServerThread *ASender, const AnsiString APath,
      TIdFTPListItems *ADirectoryListing)
{
        TSearchRec sr;
        if( FindFirst(APath + "*.*", faAnyFile, sr) == 0 )
        {
            do
            {
                //if( sr.Name == "." || sr.Name = ".." )
                //    continue;

                TIdFTPListItem *Item = ADirectoryListing->Add();

                if( sr.Attr & faDirectory )
                    Item->ItemType = ditDirectory;
                else
                    Item->ItemType = ditFile;

                Item->FileName = sr.Name;
                Item->Size = sr.Size;
                Item->ModifiedDate = FileDateToDateTime(sr.Time);
            }
            while( FindNext(sr) == 0 );
            FindClose(sr);
        }



}

"Remy Lebeau \(TeamB\)" <gambit47.no.spam@no.spam.yahoo.com> wrote:
>
>"Brian" <brianb@p3mc.net> wrote in message
>news:412281ad@newsgroups.borland.com...
>
>> I tried the code in the link. It gets an empty list when i login.
>
>Please show your listing code as well.
>
>
>Gambit
>
>
Technical Details
Message-ID: <41228c9c$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!fr.ip.ndsoftware.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <4122792e$1@newsgroups.borland.com> <41227d66$1@newsgroups.borland.com> <412281ad@newsgroups.borland.com> <41228904$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 11508e,da1fa7af1cf4859f
X-Google-Attributes: gid11508e,public
X-Google-Language: ENGLISH,ASCII-7-bit
From: "Brian" <brianb@p3mc.net>
Sender: "Brian" <brianb@p3mc.net>
Reply-To: "Brian" <brianb@p3mc.net>
Subject: Re: Indy ftp server with c++ HELP PLEASE
Newsgroups: borland.public.cppbuilder.internet.socket
X-User-Info: 202.139.43.133     
X-Forwarded-For: 144.55.44.145, 144.55.32.32, 144.55.9.4
References: <4122792e$1@newsgroups.borland.com> <41227d66$1@newsgroups.borland.com> <412281ad@newsgroups.borland.com> <41228904$1@newsgroups.borland.com>
NNTP-Posting-Host: 207.105.83.66
Message-ID: <41228c9c$1@newsgroups.borland.com>
Date: 17 Aug 2004 15:54:20 -0700
X-Trace: newsgroups.borland.com 1092783260 207.105.83.66 (17 Aug 2004 15:54:20 -0700)
Lines: 109
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!fr.ip.ndsoftware.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail