TEXT파일에서 임의로 한라인을 추출하여
EDIT1에 대입하려고 합니다.
음 도움말을 뒤져봤지만 못찾았습니다.
음 추측으로는 Reset(F)와 ReadLn 사이에 무언가 들어가야 겠는데
아시는 분 있으면 답변부탁드립니다.
--------------3일째 이문제로 고민하는 델파이 초심자가
<참고>
var
F: TextFile;
FileName: string;
s: string;
begin
randomize;
FileName:= Extractfilepath(Application.ExeName) + '명언1.txt';
AssignFile(F, FileName); //파일을 할당한다
Reset(F); //존재하는 파일을 연다
ReadLn(F,s); //1라인을 읽어옴
Edit1.text:=s;
CloseFile(F);
이렇게 하면 될꺼 같네요.
1. 우선 전체 텍스트파일의 라인수를 읽어와야겠네요.
while문을 돌려서 chr(13)의 값을 나오지 않을 때 까지 읽으면 전체 라인수를
얻을 수 있겠고요.
2. a := random(totaline)
여기서 totaline은 전체 라인수, a는 임의의 숫자가 되겠군요.
for i:=0 to a-1 do begin
readln(f, s);
end;
readln(f, s);
하면 되지 않을까요?
너무 무식한 방법인가?
지강명 께서 말씀하시기를...
> TEXT파일에서 임의로 한라인을 추출하여
> EDIT1에 대입하려고 합니다.
> 음 도움말을 뒤져봤지만 못찾았습니다.
> 음 추측으로는 Reset(F)와 ReadLn 사이에 무언가 들어가야 겠는데
> 아시는 분 있으면 답변부탁드립니다.
> --------------3일째 이문제로 고민하는 델파이 초심자가
>
> <참고>
> var
> F: TextFile;
> FileName: string;
> s: string;
>
>
> begin
> randomize;
> FileName:= Extractfilepath(Application.ExeName) + '명언1.txt';
> AssignFile(F, FileName); //파일을 할당한다
> Reset(F); //존재하는 파일을 연다
>
>
> ReadLn(F,s); //1라인을 읽어옴
> Edit1.text:=s;
> CloseFile(F);