Q&A

  • 텍스트파일을 어떻게 스트링그리드로 옮겨요?
안녕하세요. 이호림 이라고 합니다.



텍스트 파일은 아래와 같이 되어있습니다.



----------------------------------------

action : y

tag : n

mail : webmaster@poimax.com



action : y

tag : y

mail : test@poimax.com



action : n

tag : y

mail : welcome@poimax.com

----------------------------------------



위 텍스트의 내용을 스트링 그리드로 쉽게 옮기는 아래와 같이 옮길려고 합니다.

부디 고수님들의 좋은 답변 기다리겠습니다.



----------------------------------------

action tag mail

----------------------------------------

y n webmaster@poimax.com

n y test@poimax.com

y y test@poimax.com



꼭좀 부탁드려요

5  COMMENTS
  • Profile
    이성훈 2001.10.10 00:26
    이호림 wrote:

    > 안녕하세요. 이호림 이라고 합니다.

    >

    > 텍스트 파일은 아래와 같이 되어있습니다.

    >

    > ----------------------------------------

    > action : y

    > tag : n

    > mail : webmaster@poimax.com

    >

    > action : y

    > tag : y

    > mail : test@poimax.com

    >

    > action : n

    > tag : y

    > mail : welcome@poimax.com

    > ----------------------------------------

    >

    > 위 텍스트의 내용을 스트링 그리드로 쉽게 옮기는 아래와 같이 옮길려고 합니다.

    > 부디 고수님들의 좋은 답변 기다리겠습니다.

    >

    > ----------------------------------------

    > action tag mail

    > ----------------------------------------

    > y n webmaster@poimax.com

    > n y test@poimax.com

    > y y test@poimax.com

    >

    > 꼭좀 부탁드려요



    버튼 하나 갖다 놓고여 스트링 그리드 이름은 SG1입니다.

    파일명만 변경해서 하시면 됩니다.

    의문점 있으시면 연락주세요..

    그럼 즐프하세요..



    procedure TForm1.Button1Click(Sender: TObject);

    var F : TextFile;

    i, j, Pos_len, k : Integer;

    S : String;

    begin

    AssignFile(F,'C:1111.Txt');

    Reset(F);

    j := 0;

    k := 1;

    while not eof(F) do begin

    Readln(F,S);

    for i := 0 to length(S) -1 do begin

    if S[i] = ':' then begin // ':'까지의 길이를 구한다.

    Pos_len := length(S)-i ; //

    break;

    end;

    end;

    j := j+1;

    if j = 4 then begin // 4줄씩 한 레코드니깐

    j := 0;

    k := k+1;

    end;



    SG1.Cells[j, k] := Copy(S,i+2,Pos_Len-1);

    end;

    end;



  • Profile
    이호림 2001.10.10 01:10
    이성훈님께서 알려주신대로 했는데

    프로그램 실행시 에러창이 뜨네요....



    제발 고수님들 저좀 도와주세요~~~~~



    이성훈 wrote:

    > 이호림 wrote:

    > > 안녕하세요. 이호림 이라고 합니다.

    > >

    > > 텍스트 파일은 아래와 같이 되어있습니다.

    > >

    > > ----------------------------------------

    > > action : y

    > > tag : n

    > > mail : webmaster@poimax.com

    > >

    > > action : y

    > > tag : y

    > > mail : test@poimax.com

    > >

    > > action : n

    > > tag : y

    > > mail : welcome@poimax.com

    > > ----------------------------------------

    > >

    > > 위 텍스트의 내용을 스트링 그리드로 쉽게 옮기는 아래와 같이 옮길려고 합니다.

    > > 부디 고수님들의 좋은 답변 기다리겠습니다.

    > >

    > > ----------------------------------------

    > > action tag mail

    > > ----------------------------------------

    > > y n webmaster@poimax.com

    > > n y test@poimax.com

    > > y y test@poimax.com

    > >

    > > 꼭좀 부탁드려요

    >

    > 버튼 하나 갖다 놓고여 스트링 그리드 이름은 SG1입니다.

    > 파일명만 변경해서 하시면 됩니다.

    > 의문점 있으시면 연락주세요..

    > 그럼 즐프하세요..

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var F : TextFile;

    > i, j, Pos_len, k : Integer;

    > S : String;

    > begin

    > AssignFile(F,'C:1111.Txt');

    > Reset(F);

    > j := 0;

    > k := 1;

    > while not eof(F) do begin

    > Readln(F,S);

    > for i := 0 to length(S) -1 do begin

    > if S[i] = ':' then begin // ':'까지의 길이를 구한다.

    > Pos_len := length(S)-i ; //

    > break;

    > end;

    > end;

    > j := j+1;

    > if j = 4 then begin // 4줄씩 한 레코드니깐

    > j := 0;

    > k := k+1;

    > end;

    >

    > SG1.Cells[j, k] := Copy(S,i+2,Pos_Len-1);

    > end;

    > end;

    >

  • Profile
    irookie 2001.10.09 23:33
    텍스트 화일에 규칙이 보이는 군요.



    action : -> 8자

    tag : -> 5자

    mail : -> 6자



    화일 한줄씩 읽는 방법은 아시죠?



    한줄을 읽어 분석하는 예를 보이겠습니다.



    Readln( f, str );



    str_action := MidStr( str, 8, length(str) ); <- y가 들어가겠죠?



    감이 잡히시는지요?



    참고)

    function MidStr(const AText: string; const AStart, ACount: Integer): string;

    AText : 문자열

    AStart: 문자열에서의 시작위치

    ACount: 시작위치에서 몇자를 읽을것이냐...



    그럼, 20000



    i believe i can fly~~



    -------------



    이호림 wrote:

    > 안녕하세요. 이호림 이라고 합니다.

    >

    > 텍스트 파일은 아래와 같이 되어있습니다.

    >

    > ----------------------------------------

    > action : y

    > tag : n

    > mail : webmaster@poimax.com

    >

    > action : y

    > tag : y

    > mail : test@poimax.com

    >

    > action : n

    > tag : y

    > mail : welcome@poimax.com

    > ----------------------------------------

    >

    > 위 텍스트의 내용을 스트링 그리드로 쉽게 옮기는 아래와 같이 옮길려고 합니다.

    > 부디 고수님들의 좋은 답변 기다리겠습니다.

    >

    > ----------------------------------------

    > action tag mail

    > ----------------------------------------

    > y n webmaster@poimax.com

    > n y test@poimax.com

    > y y test@poimax.com

    >

    > 꼭좀 부탁드려요

  • Profile
    irookie 2001.10.10 00:02
    str_action := MidStr( str, 8, length(str) ); <- ' y'가 들어가겠죠?





    str_action := MidStr( str, 8, length(str)-8 ); 2자만 읽겠다는 야그죠.



    로 수정합니다.





    -------



    irookie wrote:

    > 텍스트 화일에 규칙이 보이는 군요.

    >

    > action : -> 8자

    > tag : -> 5자

    > mail : -> 6자

    >

    > 화일 한줄씩 읽는 방법은 아시죠?

    >

    > 한줄을 읽어 분석하는 예를 보이겠습니다.

    >

    > Readln( f, str );

    >

    > str_action := MidStr( str, 8, length(str) ); <- y가 들어가겠죠?

    >

    > 감이 잡히시는지요?

    >

    > 참고)

    > function MidStr(const AText: string; const AStart, ACount: Integer): string;

    > AText : 문자열

    > AStart: 문자열에서의 시작위치

    > ACount: 시작위치에서 몇자를 읽을것이냐...

    >

    > 그럼, 20000

    >

    > i believe i can fly~~

    >

    > -------------

    >

    > 이호림 wrote:

    > > 안녕하세요. 이호림 이라고 합니다.

    > >

    > > 텍스트 파일은 아래와 같이 되어있습니다.

    > >

    > > ----------------------------------------

    > > action : y

    > > tag : n

    > > mail : webmaster@poimax.com

    > >

    > > action : y

    > > tag : y

    > > mail : test@poimax.com

    > >

    > > action : n

    > > tag : y

    > > mail : welcome@poimax.com

    > > ----------------------------------------

    > >

    > > 위 텍스트의 내용을 스트링 그리드로 쉽게 옮기는 아래와 같이 옮길려고 합니다.

    > > 부디 고수님들의 좋은 답변 기다리겠습니다.

    > >

    > > ----------------------------------------

    > > action tag mail

    > > ----------------------------------------

    > > y n webmaster@poimax.com

    > > n y test@poimax.com

    > > y y test@poimax.com

    > >

    > > 꼭좀 부탁드려요

  • Profile
    맞나몰라 2001.10.10 06:31
    보니까 콜론 있넹...

    그걸 기준으로 그 뒤에 나오는 거 입력받으면 되져..

    카운트 3되면 담칸...

    허거거.. 나 천재...캬캬캬