Q&A

  • readln에서 발생하는 에러인데 뭔지 모르겠네요..
procedure TForm1.Button1Click(Sender: TObject);
var
file_key : string;
dir_key : string;
fData : TextFile;
S : string;
Lencount : integer;
i : integer;
comma : string;
gubun : string;
fname : string;
begin

  file_key := 'version.ini';
  dir_key  := 'c:\tmp\';
  FileMode := 0;

  with  NMFTP1  do
    begin
      Host := '172.18.1.15';
      Port := 21;
      Userid := 'portal_ftp1';
      password := 'portal';
      disconnect;
      connect;
      changedir('papco/설비관리/');

      if FileExists(dir_key + file_key) then
        begin
          AssignFile(fData, dir_key + file_key);
          Reset(fData);
          while not EOF(fData) do
            begin
              Readln (fData, S);     {여기서 too many parameters 라는 에러가 발생하는데 }
              lencount := length(S);

              for i := 1 to lencount do
                comma := copy(S,i,1);
                if comma = ',' then
                  begin
                    gubun := copy(S,1,lencount -1);
                    fname := copy(S,lencount,50);
                    if gubun = 'Maximo' then
                      begin
                      changedir('papco/설비관리/maximo/');
                      download(fname,'c:\tmp\maximo\' + fname);
                      end;
                    if gubun = 'Report' then
                      begin
                      changedir('papco/설비관리/report/');
                      download(fname,'c:\tmp\report\' + fname);
                      end;
                  end;
            end;
            CloseFile(fData);
        end;
    end;
end;

위 소스에서 Readln 부분에서 에러가 발생하는데 어떤 문제인지 모르겠습니다.
2  COMMENTS
  • Profile
    이승민 2005.09.30 22:24
    이부분을 수정하셔야 할듯 싶네요 -> with  NMFTP1  do
    지금 델파이 버젼이 틀려서 확인을 할수가 없지만
    NMFTP1 가 Readln Procedure 를 가지고 있어서 그런것 같습니다.
    님께서 생각하신 Text  관련 Procedure 가 아니라는 거죠
    그래서 with 문없애시는 것이 좋을듯 싶네요

  • Profile
    최용일 2005.10.01 07:16
    안녕하세요. 최용일입니다.

    readln앞에 유닛명을 붙여서 범위를 명확히 해주셔도 됩니다.

    System.readln(fData, S);

    ^^ 항상 즐코하세요...