Q&A

  • 방법이 없나요?????
델파이 초보입니다...

다름이 아니라 제가 FTP프로그램을 하나 거의 배끼다 싶이해서 하나 만들었는데요...

텍스트파일만 받는건데요, 거기서 모든 텍스트파일을 다운받고 저장 시킨후 받아온 텍스트파일을 차례대로 읽고 텍스트 파일의 라인별로 DB에 넣고 싶거든요......

조금만 갈켜 주세요.... 자세한 알고리즘을 제가 잘 모르고 있는것 같아 답답하네요..



다운 받는 부분 소스 올립니다...

부탁 드립니다.....고수님들!!!!

===================================================================================

procedure TForm1.Downlist(Sender: TObject);

begin

NMFTP1.Download('test.txt', 'C:Aaa.txt'); <== 이부분이 하나의 텍스트만 받고 있잖아요???

이렇게 일일이 소스에서 받고 싶은 파일 명을 적어야 하나요???(단, 지금 이 소스부분은 edit박스가 없습니다.폼에서경로 적는데가 없어요... )



saveproc;

end;



procedure TForm1.saveproc;

begin

if FileExists('C:Aaa.txt')= True then

begin

Assignfile(READER,'C:Aaa.txt');

reset(Reader);

readln(reader,s);

{While not EOF(Reader) do

begin

readln(reader,s);

//RichEdit1.Lines.Add(S);

end}

end;

closefile(Reader);

end;

===================================================================================

이런 식으로 다운 받아 저장시키고 있는데 하나의 텍스트 파일만 받고 있거든요...

근데 그 FTP폴더의 모든 텍스트 파일을 받고 저장하고 차레대로 읽고 하고 싶어요...

제발 누가 저에게 희망의 등불이 좀 되어 주세요....

그럼 수고 하세요........

2  COMMENTS
  • Profile
    초보의비애 2001.10.11 23:33
    초보임다 wrote:

    > 델파이 초보입니다...

    > 다름이 아니라 제가 FTP프로그램을 하나 거의 배끼다 싶이해서 하나 만들었는데요...

    > 텍스트파일만 받는건데요, 거기서 모든 텍스트파일을 다운받고 저장 시킨후 받아온 텍스트파일을 차례대로 읽고 텍스트 파일의 라인별로 DB에 넣고 싶거든요......

    > 조금만 갈켜 주세요.... 자세한 알고리즘을 제가 잘 모르고 있는것 같아 답답하네요..

    >

    > 다운 받는 부분 소스 올립니다...

    > 부탁 드립니다.....고수님들!!!!

    > ===================================================================================

    > procedure TForm1.Downlist(Sender: TObject);

    > begin

    > NMFTP1.Download('test.txt', 'C:Aaa.txt'); <== 이부분이 하나의 텍스트만 받고 있잖아요???

    > 이렇게 일일이 소스에서 받고 싶은 파일 명을 적어야 하나요???(단, 지금 이 소스부분은 edit박스가 없습니다.폼에서경로 적는데가 없어요... )

    >

    > saveproc;

    > end;

    >

    > procedure TForm1.saveproc;

    > begin

    > if FileExists('C:Aaa.txt')= True then

    > begin

    > Assignfile(READER,'C:Aaa.txt');

    > reset(Reader);

    > readln(reader,s);

    > {While not EOF(Reader) do

    > begin

    > readln(reader,s);

    > //RichEdit1.Lines.Add(S);

    > end}

    > end;

    > closefile(Reader);

    > end;

    > ===================================================================================

    > 이런 식으로 다운 받아 저장시키고 있는데 하나의 텍스트 파일만 받고 있거든요...

    > 근데 그 FTP폴더의 모든 텍스트 파일을 받고 저장하고 차레대로 읽고 하고 싶어요...

    > 제발 누가 저에게 희망의 등불이 좀 되어 주세요....

    > 그럼 수고 하세요........





    지가 허접인지라 도움이 안될거라 생각하지만 참고삼아 함 보세염..



    텍스트 파일의 한 라인씩 DB에 저장시킨다면 텍스트화일이 어떤 형식으로 파일이 만들어져있을거라 생각되네요. 그럼 한라인씩 List에 저장하킨후 해당 DB Field에 넣어 주면 될거 같은데..



    procedure TForm1.saveproc;

    var StrList: TStringList;

    begin

    StrList := TStringList.Create;



    try



    if FileExists('C:Aaa.txt')= True then

    begin

    Assignfile(READER,'C:Aaa.txt');

    reset(Reader);

    try

    readln(reader,s);

    While not EOF(Reader) do

    begin

    StrList.Add(s);

    readln(reader,s);

    end

    if s <> '' then

    StrList.Add(s);

    finally

    closefile(Reader);

    end;

    end;



    Table.Edit;

    Table.FieldByName('aaa').AsString := StrList.Strings[0];

    // Strings[0]은 텍스트파일의 첫번째 라인이 됩니다.

    Table.FieldByName('bbb').AsString := StrList.Strings[1];

    // Strings[1]은 텍스트파일의 두번째 라인이 됩니다.

    Table.Post;



    만약 한 Field에 파일 데이터를 모두 넣으신다면

    Table.fieldByName ('aaa').AsMemo := StrList.Text; 로 바꿔주시면 됨다



    finally

    StrList.Free;

    end;

    end;





    NMFTP1.Download('test.txt', 'C:Aaa.txt');



    이부분도 FTP의 먼저 다운받을 파일명을 List로 작성하여 루프를 돌리시면 될거 같네염....

    saveproc;에 파일명을 같이 날려주시구요. saveproc('C:Aaa.txt');



    그럼 SaveProc는 아래와 같은 형태가 되겠죠.

    procedure TForm1.SaveProc(AFName: String);

    begin

    if FileExists(AFName)= True then

    begin

    Assignfile(READER,AFName);

    .

    .

    end;

    end;

  • Profile
    초보임다 2001.10.12 02:18
    님아!! 감사합니다... ^^

    많은 참고하겠습니다...

    일단 약간의 길이 보이는것 같네요~~ ^^;;







    초보의비애 wrote:

    > 초보임다 wrote:

    > > 델파이 초보입니다...

    > > 다름이 아니라 제가 FTP프로그램을 하나 거의 배끼다 싶이해서 하나 만들었는데요...

    > > 텍스트파일만 받는건데요, 거기서 모든 텍스트파일을 다운받고 저장 시킨후 받아온 텍스트파일을 차례대로 읽고 텍스트 파일의 라인별로 DB에 넣고 싶거든요......

    > > 조금만 갈켜 주세요.... 자세한 알고리즘을 제가 잘 모르고 있는것 같아 답답하네요..

    > >

    > > 다운 받는 부분 소스 올립니다...

    > > 부탁 드립니다.....고수님들!!!!

    > > ===================================================================================

    > > procedure TForm1.Downlist(Sender: TObject);

    > > begin

    > > NMFTP1.Download('test.txt', 'C:Aaa.txt'); <== 이부분이 하나의 텍스트만 받고 있잖아요???

    > > 이렇게 일일이 소스에서 받고 싶은 파일 명을 적어야 하나요???(단, 지금 이 소스부분은 edit박스가 없습니다.폼에서경로 적는데가 없어요... )

    > >

    > > saveproc;

    > > end;

    > >

    > > procedure TForm1.saveproc;

    > > begin

    > > if FileExists('C:Aaa.txt')= True then

    > > begin

    > > Assignfile(READER,'C:Aaa.txt');

    > > reset(Reader);

    > > readln(reader,s);

    > > {While not EOF(Reader) do

    > > begin

    > > readln(reader,s);

    > > //RichEdit1.Lines.Add(S);

    > > end}

    > > end;

    > > closefile(Reader);

    > > end;

    > > ===================================================================================

    > > 이런 식으로 다운 받아 저장시키고 있는데 하나의 텍스트 파일만 받고 있거든요...

    > > 근데 그 FTP폴더의 모든 텍스트 파일을 받고 저장하고 차레대로 읽고 하고 싶어요...

    > > 제발 누가 저에게 희망의 등불이 좀 되어 주세요....

    > > 그럼 수고 하세요........

    >

    >

    > 지가 허접인지라 도움이 안될거라 생각하지만 참고삼아 함 보세염..

    >

    > 텍스트 파일의 한 라인씩 DB에 저장시킨다면 텍스트화일이 어떤 형식으로 파일이 만들어져있을거라 생각되네요. 그럼 한라인씩 List에 저장하킨후 해당 DB Field에 넣어 주면 될거 같은데..

    >

    > procedure TForm1.saveproc;

    > var StrList: TStringList;

    > begin

    > StrList := TStringList.Create;

    >

    > try

    >

    > if FileExists('C:Aaa.txt')= True then

    > begin

    > Assignfile(READER,'C:Aaa.txt');

    > reset(Reader);

    > try

    > readln(reader,s);

    > While not EOF(Reader) do

    > begin

    > StrList.Add(s);

    > readln(reader,s);

    > end

    > if s <> '' then

    > StrList.Add(s);

    > finally

    > closefile(Reader);

    > end;

    > end;

    >

    > Table.Edit;

    > Table.FieldByName('aaa').AsString := StrList.Strings[0];

    > // Strings[0]은 텍스트파일의 첫번째 라인이 됩니다.

    > Table.FieldByName('bbb').AsString := StrList.Strings[1];

    > // Strings[1]은 텍스트파일의 두번째 라인이 됩니다.

    > Table.Post;

    >

    > 만약 한 Field에 파일 데이터를 모두 넣으신다면

    > Table.fieldByName ('aaa').AsMemo := StrList.Text; 로 바꿔주시면 됨다

    >

    > finally

    > StrList.Free;

    > end;

    > end;

    >

    >

    > NMFTP1.Download('test.txt', 'C:Aaa.txt');

    >

    > 이부분도 FTP의 먼저 다운받을 파일명을 List로 작성하여 루프를 돌리시면 될거 같네염....

    > saveproc;에 파일명을 같이 날려주시구요. saveproc('C:Aaa.txt');

    >

    > 그럼 SaveProc는 아래와 같은 형태가 되겠죠.

    > procedure TForm1.SaveProc(AFName: String);

    > begin

    > if FileExists(AFName)= True then

    > begin

    > Assignfile(READER,AFName);

    > .

    > .

    > end;

    > end;