텍스트파일 안에 있는 데이터가
윤영훈 | 27 | 남 | 178 |
강수경 | 24 | 여 | 168 |
김현중 | 27 | 남 | 176 |
이제현 | 27 | 남 | 170 |
강희정 | 25 | 여 | 158 |
....
요런식으로 있는 상태에서
파일불러오기
-> 텍스트라인수까지 while루프
-> 라인하나씩 불러오기 (Readln같은걸로..)
-> For루프로 한글자씩 읽어오기
-> 구분자로 사용된 '|' 을 만나면 한글자씩 읽어오며 저장했던 글자를 테이블에 필드변로 저장.
(저는 AdvStringGrid쓰고 있습니다)
-> For루프 종료
-> while루프 종료.
-> 테이블 총 레코드 수까지 while루프
-> Insert into로 필드별로 레코드값입력
-> while 종료.
이렇게 하는 게 맞는 순서인가요?
검색을 해서 코드는 몇가지 봤는데,
전체적인 흐름에 대한 설명은 드물어서... 궁금해서 질문올립니다.
텍스트파일이라면 파일에서 라인별로 읽어와서 파싱하는것 보다는 TStringList를 쓰시면 좀 더 편하게 코딩하실 수 있을것 같네요...
파싱은 ExtractStrings 이란 함수를 이용하시면 편하구요...
var
Source, LineData: TStringList;
Index: Integer;
begin
Source := TStringList.Create;
LineData := TStringList.Create;
try
Source.LoadFromFile(텍스트파일풀패스);
for Index := 0 to Source.Count - 1 do
begin
LineData.Clear;
ExtractStrings([' | '], [''], Source[Index], LineData);
// LineData[0] = 윤영훈
// LineData[1] = 27
// LineData[2] = 남
// LineData[3] = 178
DB에저장하거나 화면에 보여주기;
end;
finally
Source.Free;
LineData.Free;
end;
end;