Q&A

  • TEXT파일에서 특정라인 추출 ~_-
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  COMMENTS
  • Profile
    sunhee 1999.08.02 18:41
    안녕하세요. 선희덕이라고 합니다.



    이렇게 하면 될꺼 같네요.



    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);