텍스트 파일을 테이블(DBF, Paradox, RDB...)로 이동하는 프로그램을
만들었는데, 처리속도가 상당히 느립니다.
텍스트 데이터가 약15,000건인데 5,000건 처리하는데 약2시간 정도가
걸리네요... 처리속도를 빠르게 하는 방법을 알려주시면 감사하겠습니다.
또 한가지 질문은 DBF의 N(Numeric) 필드 속성이 정수형이 맞습니까?
참고로 제가 코딩한 내용입니다.
procedure TForm_Conv.SB_ConvClick(Sender: TObject);
var
s : string;
f : textfile;
begin
assignfile(f, OpenDialog1.FileName);
reset(f);
while not seekeof(f) do
begin
readln(f,s);
if ((ord(s[1])=10) and (ord(s[2])=13)) then
begin
T_Dest.Append;
end
else
begin
with T_Dest do
begin
Append; Edit;
Fields[0].AsString := Copy(s, 1, Pos('|', s)-1);
System.Delete(s, 1, Pos('|', s));
Fields[1].AsString := Copy(s, 1, Pos('|', s)-1);
System.Delete(s, 1, Pos('|', s));
:
:
Post;
end;
end;
end;
closefile(f);
end;
> 텍스트 파일을 테이블(DBF, Paradox, RDB...)로 이동하는 프로그램을
> 만들었는데, 처리속도가 상당히 느립니다.
> 텍스트 데이터가 약15,000건인데 5,000건 처리하는데 약2시간 정도가
> 걸리네요... 처리속도를 빠르게 하는 방법을 알려주시면 감사하겠습니다.
>
> 또 한가지 질문은 DBF의 N(Numeric) 필드 속성이 정수형이 맞습니까?
>
> 참고로 제가 코딩한 내용입니다.
> procedure TForm_Conv.SB_ConvClick(Sender: TObject);
> var
> s : string;
> f : textfile;
> begin
> assignfile(f, OpenDialog1.FileName);
> reset(f);
>
> while not seekeof(f) do
> begin
> readln(f,s);
> if ((ord(s[1])=10) and (ord(s[2])=13)) then
> begin
> T_Dest.Append;
> end
> else
> begin
> with T_Dest do
> begin
> Append; Edit;
> Fields[0].AsString := Copy(s, 1, Pos('|', s)-1);
> System.Delete(s, 1, Pos('|', s));
> Fields[1].AsString := Copy(s, 1, Pos('|', s)-1);
> System.Delete(s, 1, Pos('|', s));
> :
> :
> Post;
> end;
> end;
> end;
> closefile(f);
> end;
>