Q&A

  • [또다른질문]DataModule 사용해서 하는데...문제점..
번거롭게 자꾸..질문을 올리게 되는군요..!!

다름이 아니오라...!!

계속 질문을 드렸던 내용인데.....

조금 다르게 DataModule을 사용해서..아래와 같이 짜 보았습니다...

근데..Apply 시키니까...아래 표시한 부분에 걸려 넘어가질 않습니다..!!

제가 DataModule을 사용하는거에 잘못된 부분이 있나요....!!

함..고수님들께서 보시고 지적 바랍니다..!!

감사합니다..!!



procedure TForm1.Button1Click(Sender: TObject);

var

f : TextFile;

s, s1, s2, s3 : String;

Str_len, Pos1_len, Pos2_len, Pos3_len, Pos4_len, i : Integer;

begin

OpenDialog1.Execute;

if OpenDialog1.FileName <> '' then

begin

Assignfile(F, OpenDialog1.FileName);

reset(F);



with DataModule2 do

begin

with Table1 do

begin

Active := True;

while not eof(F) do

|________________________> 이부분에서 걸려서 넘어가질않습니다..!!



begin

readln(F,S);

Table1.Append;

Table1.Edit;



Str_len := length(S);

Pos1_len := Pos(' ', S)-1;



S1 := Copy(S, Pos1_len+2, Str_len);

Pos2_len := Pos(' ', Copy(S1, 0, Str_len))-1;



S2 := Copy(S1, Pos2_len+2, Str_len);

Pos3_len := Pos(' ', Copy(S2, 0, Str_len))-1;



S3 := Copy(S2,Pos3_len+2,Str_len);

Pos4_len := Pos(' ', Copy(S3, 0, Str_len))-1;





FieldByName('a').asString := Copy(S , 0, Pos1_len);

FieldByName('b').asString := Copy(S1, 0, Pos2_len);

FieldbyName('c').asString := Copy(S2, 0, Pos3_len);

FieldByName('d').AsString := Copy(S3, 0, Pos4_len);

Post;

Next;

end;

closefile(F);

end;

end;

end;

end;



end.

4  COMMENTS
  • Profile
    버섯 2001.12.20 03:08
    Commom wrote:

    > 번거롭게 자꾸..질문을 올리게 되는군요..!!

    > 다름이 아니오라...!!

    > 계속 질문을 드렸던 내용인데.....

    > 조금 다르게 DataModule을 사용해서..아래와 같이 짜 보았습니다...

    > 근데..Apply 시키니까...아래 표시한 부분에 걸려 넘어가질 않습니다..!!

    > 제가 DataModule을 사용하는거에 잘못된 부분이 있나요....!!

    > 함..고수님들께서 보시고 지적 바랍니다..!!

    > 감사합니다..!!

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > f : TextFile;

    > s, s1, s2, s3 : String;

    > Str_len, Pos1_len, Pos2_len, Pos3_len, Pos4_len, i : Integer;

    > begin

    > OpenDialog1.Execute;

    > if OpenDialog1.FileName <> '' then

    > begin

    > Assignfile(F, OpenDialog1.FileName);

    > reset(F);

    >

    > with DataModule2 do

    > begin

    > with Table1 do

    > begin

    > Active := True;

    > while not eof(F) do

    > |________________________> 이부분에서 걸려서 넘어가질않습니다..!!

    >

    > begin

    > readln(F,S);

    > Table1.Append;

    > Table1.Edit;

    >

    > Str_len := length(S);

    > Pos1_len := Pos(' ', S)-1;

    >

    > S1 := Copy(S, Pos1_len+2, Str_len);

    > Pos2_len := Pos(' ', Copy(S1, 0, Str_len))-1;

    >

    > S2 := Copy(S1, Pos2_len+2, Str_len);

    > Pos3_len := Pos(' ', Copy(S2, 0, Str_len))-1;

    >

    > S3 := Copy(S2,Pos3_len+2,Str_len);

    > Pos4_len := Pos(' ', Copy(S3, 0, Str_len))-1;

    >

    >

    > FieldByName('a').asString := Copy(S , 0, Pos1_len);

    > FieldByName('b').asString := Copy(S1, 0, Pos2_len);

    > FieldbyName('c').asString := Copy(S2, 0, Pos3_len);

    > FieldByName('d').AsString := Copy(S3, 0, Pos4_len);

    > Post;

    > Next;

    > end;

    > closefile(F);

    > end;

    > end;

    > end;

    > end;

    >

    > end.





    Missing Operator or semicolon 하고 나옵니까?

    Table 에도 Eof 라는 메소드가 있어서 그렇습니다.

    with 문을 없애고 해보세여..

    그럼될껍니다.



    즐코





  • Profile
    Commom 2001.12.20 03:30
    with 문을 사용하지 않으면 어떻게 Datamodule(Table) 연결해서 쓰죠..?

    에러는 그 메세지가 맞구요.!!

    아직 제가초보라서...

    조금 더 자세하게 설명 부탁드립니다..!!

    감사합니다..!!



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

    버섯 wrote:

    > Commom wrote:

    > > 번거롭게 자꾸..질문을 올리게 되는군요..!!

    > > 다름이 아니오라...!!

    > > 계속 질문을 드렸던 내용인데.....

    > > 조금 다르게 DataModule을 사용해서..아래와 같이 짜 보았습니다...

    > > 근데..Apply 시키니까...아래 표시한 부분에 걸려 넘어가질 않습니다..!!

    > > 제가 DataModule을 사용하는거에 잘못된 부분이 있나요....!!

    > > 함..고수님들께서 보시고 지적 바랍니다..!!

    > > 감사합니다..!!

    > >

    > > procedure TForm1.Button1Click(Sender: TObject);

    > > var

    > > f : TextFile;

    > > s, s1, s2, s3 : String;

    > > Str_len, Pos1_len, Pos2_len, Pos3_len, Pos4_len, i : Integer;

    > > begin

    > > OpenDialog1.Execute;

    > > if OpenDialog1.FileName <> '' then

    > > begin

    > > Assignfile(F, OpenDialog1.FileName);

    > > reset(F);

    > >

    > > with DataModule2 do

    > > begin

    > > with Table1 do

    > > begin

    > > Active := True;

    > > while not eof(F) do

    > > |________________________> (F) 이부분에서 걸려서 넘어가질않습니다..!!

    > >

    > > begin

    > > readln(F,S);

    > > Table1.Append;

    > > Table1.Edit;

    > >

    > > Str_len := length(S);

    > > Pos1_len := Pos(' ', S)-1;

    > >

    > > S1 := Copy(S, Pos1_len+2, Str_len);

    > > Pos2_len := Pos(' ', Copy(S1, 0, Str_len))-1;

    > >

    > > S2 := Copy(S1, Pos2_len+2, Str_len);

    > > Pos3_len := Pos(' ', Copy(S2, 0, Str_len))-1;

    > >

    > > S3 := Copy(S2,Pos3_len+2,Str_len);

    > > Pos4_len := Pos(' ', Copy(S3, 0, Str_len))-1;

    > >

    > >

    > > FieldByName('a').asString := Copy(S , 0, Pos1_len);

    > > FieldByName('b').asString := Copy(S1, 0, Pos2_len);

    > > FieldbyName('c').asString := Copy(S2, 0, Pos3_len);

    > > FieldByName('d').AsString := Copy(S3, 0, Pos4_len);

    > > Post;

    > > Next;

    > > end;

    > > closefile(F);

    > > end;

    > > end;

    > > end;

    > > end;

    > >

    > > end.

    >

    >

    > Missing Operator or semicolon 하고 나옵니까?

    > Table 에도 Eof 라는 메소드가 있어서 그렇습니다.

    > with 문을 없애고 해보세여..

    > 그럼될껍니다.

    >

    > 즐코

    >

    >

  • Profile
    최용일 2001.12.20 03:48
    with문은 코딩을 편하게 하기 위해서 쓰는것일뿐, 쓰나 안쓰나 차이는 없구요...



    그에러는 System유닛의 Eof함수와 TTable의 Eof메소드가 같은 이름으로 인해서



    with문 내에서 서로 충돌하는 것일겁니다...



    아래와 같이 함수의 출처를 명확히 해주세요...



    while not Eof(F) do



    >>>>>>>>>>>>>>



    while not System.Eof(F) do



    ^^ 항상 즐코하세요...



    Commom wrote:

    > with 문을 사용하지 않으면 어떻게 Datamodule(Table) 연결해서 쓰죠..?

    > 에러는 그 메세지가 맞구요.!!

    > 아직 제가초보라서...

    > 조금 더 자세하게 설명 부탁드립니다..!!

    > 감사합니다..!!

    >

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

    > 버섯 wrote:

    > > Commom wrote:

    > > > 번거롭게 자꾸..질문을 올리게 되는군요..!!

    > > > 다름이 아니오라...!!

    > > > 계속 질문을 드렸던 내용인데.....

    > > > 조금 다르게 DataModule을 사용해서..아래와 같이 짜 보았습니다...

    > > > 근데..Apply 시키니까...아래 표시한 부분에 걸려 넘어가질 않습니다..!!

    > > > 제가 DataModule을 사용하는거에 잘못된 부분이 있나요....!!

    > > > 함..고수님들께서 보시고 지적 바랍니다..!!

    > > > 감사합니다..!!

    > > >

    > > > procedure TForm1.Button1Click(Sender: TObject);

    > > > var

    > > > f : TextFile;

    > > > s, s1, s2, s3 : String;

    > > > Str_len, Pos1_len, Pos2_len, Pos3_len, Pos4_len, i : Integer;

    > > > begin

    > > > OpenDialog1.Execute;

    > > > if OpenDialog1.FileName <> '' then

    > > > begin

    > > > Assignfile(F, OpenDialog1.FileName);

    > > > reset(F);

    > > >

    > > > with DataModule2 do

    > > > begin

    > > > with Table1 do

    > > > begin

    > > > Active := True;

    > > > while not eof(F) do

    > > > |________________________> (F) 이부분에서 걸려서 넘어가질않습니다..!!

    > > >

    > > > begin

    > > > readln(F,S);

    > > > Table1.Append;

    > > > Table1.Edit;

    > > >

    > > > Str_len := length(S);

    > > > Pos1_len := Pos(' ', S)-1;

    > > >

    > > > S1 := Copy(S, Pos1_len+2, Str_len);

    > > > Pos2_len := Pos(' ', Copy(S1, 0, Str_len))-1;

    > > >

    > > > S2 := Copy(S1, Pos2_len+2, Str_len);

    > > > Pos3_len := Pos(' ', Copy(S2, 0, Str_len))-1;

    > > >

    > > > S3 := Copy(S2,Pos3_len+2,Str_len);

    > > > Pos4_len := Pos(' ', Copy(S3, 0, Str_len))-1;

    > > >

    > > >

    > > > FieldByName('a').asString := Copy(S , 0, Pos1_len);

    > > > FieldByName('b').asString := Copy(S1, 0, Pos2_len);

    > > > FieldbyName('c').asString := Copy(S2, 0, Pos3_len);

    > > > FieldByName('d').AsString := Copy(S3, 0, Pos4_len);

    > > > Post;

    > > > Next;

    > > > end;

    > > > closefile(F);

    > > > end;

    > > > end;

    > > > end;

    > > > end;

    > > >

    > > > end.

    > >

    > >

    > > Missing Operator or semicolon 하고 나옵니까?

    > > Table 에도 Eof 라는 메소드가 있어서 그렇습니다.

    > > with 문을 없애고 해보세여..

    > > 그럼될껍니다.

    > >

    > > 즐코

    > >

    > >

  • Profile
    Commom 2001.12.20 03:56
    감사합니다...!!^^



    연말연시 잘보내시기 바랍니다..!!