我晕,用idFtp组件,下载个文件,竟然要写一堆代码。感觉到Delphi7的设计思路跟以前好像不一样了,注意了灵活性,确丧失了原来的封装完整性!!!
D6的NmFtp几句代码就可完成任务,到7里面还得搞流,还得输出,感觉像个半成品。  为什么不提供一个成形的方法呢,这样我机得关心界面,又得操作底层,真是烦人!!最近用了几天D7,有些地方很不顺,用了半天TCPServer后发觉很不爽,只得又安装了6的ServerSocket组件,现在发觉NMFtp又不见了,真是搞不懂,为什么设计了新的之后,旧的就不能保留下呢。
另外那个控件面板上点右键,弹出框竟然跑到上边屏幕的外面去了,真是很不爽!!唉,牢骚归牢骚,还得用啊!!就是怀疑Borland的工程师是怎么想的!!???

解决方案 »

  1.   

    更可恨的是
    idFtp1.Get('20060517102422.mp3',tStream);打完括号后,第二个参数提示的是文件名,但是鼠标放到Get方法上,提示的第二个参数,竟然是TStream,晕,这么重要的方法,这么明显的错误,晕,晕,晕!!!!
      

  2.   

    好笑,我总以为写入sTream中之后,还要sTream.SavetoFile之类的,谁知道查了半天资料,竟然发现,是不用保存的,自动写入。 Borland的工程师总能让人琢磨不透,晕。弄了半天,终于弄成了,Fuck这个IdFtp工程师一次,如果她是个女的!!  idFtp1.Connect(true);
      if idFtp1.Connected then
      begin
        tStream:=TFileStream.Create('c:\20060517102422.mp3',fmCreate);
        idFtp1.Get('20060517102422.mp3',tStream,false);
        tStream.Free;
      end
      else
      begin
        ShowMessage('jkjk');
      end;
      

  3.   

    猪头啊你?
    连重载的方法都不懂。
    这TIdFTP.Get方法有写到TStream的一个,也有写到文件的一个。
      

  4.   

    DelphiGuy() ( ) 信誉:100    Blog 
    请你试一下,直接写文件的函数,第二个参数如果是文件名的话,绝对报错,不知道你试过没有??
      

  5.   

    一直觉得Indy是不错的LYFTP基于Indy架构,一样强大好用
      

  6.   

    我感觉clientsocket serversocket更好用一点。
      

  7.   

    结了,第二个参数为文件名是可以的,出错的原因是,我Get之前没有执行连接函数。 晕!!