텍스트 파일을 배열로 읽어야 합니다..
예를 들면
procedure Read_text(sFileDir:String);
var sFileName: string;
AString: string;
FromF: TextFile;
begin
AssignFile(FromF, sFileDir);
Reset(FromF);
while not Eof(FromF) do
begin
ReadLn(FromF, A, B, C, D, E, F);
end;
CloseFile(FromF);
end;
이렇게 해서 한줄씩 읽어서 DB에 저장해야 합니다.
그것두 구분자가 없이...배열의 칸 만큼..
예를 들어..
Var
A:String[6];
한줄을 읽어서...A 만큼 잘라서 읽고 그뒤로...B.....C...D..
이렇게 끈어 읽어야 합니다.
변수를 그렇게 많이 쓸수도 없는 노릇이구..
변수 몇개를 여러개의 텍스트 파일에 적용시킬수 없을까요..?
정녕 끈어서 읽는데...Copy를 써야 합니까..??
ㅠ.ㅠ
고수님들 뭔 방법이 없을까요...??
도저히 방법이 안떠오르네요....
고수님들..방법이 있음 좀 가르쳐 주실래요..??
예문을 올려 주심 더 좋아요..!!~
^.~
좀 도와 주심 감사하겠습니다..
날 무지하게 덥네... ^^
선행작업이 필요합니다..
원본 소스의 데이터를 가지런하게 만드는 방법이죠
컬럼의 위치를 같게 하거나,, 구분자로 ,(컴마) ;(세미콜론) 같은걸 삽입해서
하는 방법등이 있습니다.
원본 소스의 데이터가 컬럼의 위치가 동일하다면 레코드를 써서 읽어 오는 방법이 짱입니다.
TYPE
TMYREC = RECORD
AA : STRING[10];
BB : STRING[20];
END;
VAR RR : TMYREC;
.
.
.
READLN(FF,RR); <---이렇게 하면 RR.AA,RR.BB 처럼 바로 참조 할수가 있죠.. 물론 COPY 없이
하지만 두번쨰.. 컴마 또는 세미콜론 같은 구분자로 되어 있다면..
펑션을 만들어야 합니다... 아래처럼요...
Function CutString(sSource: String; iSEQ: Integer; sSubstr: String): String;
Var
ii: Integer;
iLen: Integer;
isLen: Integer;
iPos: Integer;
iCnt: Integer;
iStart: Integer;
src: String;
Begin
iLen := Length(sSource);
isLen := Length(sSubstr);
iCnt := 0;
iStart := 1;
For ii := 1 To (iLen - isLen + 1) Do
Begin
If Copy(sSource, ii, isLen) = sSubstr Then
Begin
inc(iCnt);
If iCnt = iSEQ Then
Begin
src := Copy(sSource, iStart, (ii - iStart));
break;
End;
iStart := ii + isLen;
End;
End;
CutString := src;
End;
READLN(FF,SS); <- SS가 '123,232,433,3332,343.3,233'
CutString(SS,1,','); <- 123 을 가져옵니다.
답이 되었을랑가 모르겠네요..
수거.~