질문을드립니다.
file의 한레코드의 값을 구해서 인덱스를 곱해서 위치를 알고싶습니다.
인덱스는 레코드 첫글자부터 3자리입니다..
원래 하려는 의도는 file의 레코드 한줄을 읽어와서 한줄씩 디비에 저장하려구합니다.
중간에 멈추어 졌을경우를 생각해서 멈추었을때의 인덱스를 저장해두고
다시 프로그램을 돌리면 멈춘순간의 레코드 다음부터 읽어서 저장하려하는데
그 멈춘순간의 위치를 찾는것을 못하겠습니다..
이위치를 잡아주는게 pointer인가요??
델파이에서 한번두 pointer를 접해본적이 없는데요..
어떻게 해야하는지
file은 이렇게 들어가 있습니다.
001 1231231213213131313123131231
002 5332423423424234234234234234
003 2326599446464646464646464669
. .
. .
. .
. .
만약 001이 있는 한줄을 읽은후 프로그램이 죽으면 다시 실행하면 002의 한 레코드를 읽어야 하는데 그 위치를 어떻게 잡아야 하는지 모르겠습니다..
AssignFile(F, sss); //파일할당
Reset(f); //파일열구
Readln(f,s); //한라인을 읽어들입니다.
b := strtoint(IntToStr(Length(s))); //레코드길이를 구하기
j := strtoint(xx); //001줄에서 멈추었을시 xx는 인덱스값을 변수로 받고
yy := b*j; //한레코드값*index값을 곱한값을변수에넣구
그담에 레코드 다음번째의 002가 있는 레코드위치를 어떻게 찾나요...
그걸모르겟어요--;
두번째 002부터 readln으로 읽어야 하는데..
아시는분 부탁드립니다...
^^;
파일의 지정된 위치로 이동시켜주는 Seek이라는 함수가 있습니다.
델파이 헬프보시고 사용하세요... 지금 델파이가 없어서 파라매터들이 잘 생각이 안나네요... 쩝~
^^ 항상 즐코하세요...