Q&A

  • (질문)제발 좀 알려주세요. 코드 어디가 잘못되었는지..
고수님들 부탁드립니다.



테이블 리스트의 내용을 파일에 저장할때 일련번호를 매길라고 하거든요.



리스트의 내용을 개별 파일로 저장시 일련번호 지정 대화상자가 뜨면서 사용자가 지정한 일련번호로 파일명이 저장되는 겁니다.



코드는 다음과 같습니다.



procedure ............



var

A: TAuctionData; // 테이타 내용

X: TfrmView; // 데이타를 텍스트로 보는 폼



begin

Result := TStringList.Create;

A := TAuctionData.Create;

X := TfrmView.Create(Self);

with A, DM.DQMaster do // 설정한 테이타 소스

begin

ID := FieldByName('ID').AsString;



.....생략.......



NOTES := FieldByName('NOTES').AsString;

end;

Result := X.Convert2(A); //데이타 내용을 텍스트폼으로 변환

X.Free;

end;





var

OutPut: TStringList; // 데이타 리스트

A : TAuctionData; // 데이타 내용

Footer: String; // 텍스트파일 생성시 포함되는 내용

sKey: String; // 의미 없는 빈칸 생성

sFileName: String; // 저장시 지정되는 파일명

ilNum : Integer; // 일련번호 지정 ★★★★



begin

try

ilnum := ''; //★★★★★★★

InputQuery('지정할 일련번호', '일련번호', ilNum);

if ilNum <> '' then

A := TAuctionData.Create;

OutPut := TStringList.Create;

OutPut.LoadFromFile(ExtractFilePath(Application.ExeName)+'Footer.txt');

Footer := OutPut.Text;

OutPut.Clear;



with DM.DQMaster do

begin

DisableControls;

First;

while not eof do // 테이블리스트 끝까지 ...

begin

sFileName := ExtractFilePath(Application.ExeName)+'EXPORT'+ //디렉토리설정 '.art-'+IntToStr(ilNum)+'.txt'; //저장될 파일명 지정

--> 이 부분이 일련번호 지정 값(1씩 증가됨) // ★★★★

OutPut.Clear;

sKey := '';

OutPut.Add(Data.Text); // 변환한 데이타 내용 텍스트파일에 첨가

OutPut.Add('');

OutPut.Add(Footer); // 지정한 Footer.txt내용 첨가

OutPut.Add('');

OutPut.Savetofile(sFileName); // 지정한 디렉토리와 파일명으로 저장

ilNum := ilNum + 1; // 일련번호값 증가시킴

Next; // 다음 리스트로 ..

end;

First;

EnableControls;

end;

finally

A.Free;

OutPut.Free;

end;

end;







★★★★표시가 들어간 라인에서 에러가 나고 컴파일이 안됩니다.

원하는 결과를 얻기 위해 어떻게 해줘야 하나요? 알려 주세요....제발 !!

1  COMMENTS
  • Profile
    1999.06.22 20:13
    강동연 께서 말씀하시기를...

    > 고수님들 부탁드립니다.

    >

    > 테이블 리스트의 내용을 파일에 저장할때 일련번호를 매길라고 하거든요.

    >

    > 리스트의 내용을 개별 파일로 저장시 일련번호 지정 대화상자가 뜨면서 사용자가 지정한 일련번호로 파일명이 저장되는 겁니다.

    >

    > 코드는 다음과 같습니다.

    >

    > procedure ............

    >

    > var

    > A: TAuctionData; // 테이타 내용

    > X: TfrmView; // 데이타를 텍스트로 보는 폼

    >

    > begin

    > Result := TStringList.Create;

    > A := TAuctionData.Create;

    > X := TfrmView.Create(Self);

    > with A, DM.DQMaster do // 설정한 테이타 소스

    > begin

    > ID := FieldByName('ID').AsString;

    >

    > .....생략.......

    >

    > NOTES := FieldByName('NOTES').AsString;

    > end;

    > Result := X.Convert2(A); //데이타 내용을 텍스트폼으로 변환

    > X.Free;

    > end;

    >

    >

    > var

    > OutPut: TStringList; // 데이타 리스트

    > A : TAuctionData; // 데이타 내용

    > Footer: String; // 텍스트파일 생성시 포함되는 내용

    > sKey: String; // 의미 없는 빈칸 생성

    > sFileName: String; // 저장시 지정되는 파일명

    > ilNum : Integer; // 일련번호 지정 ★★★★

    >

    > begin

    > try

    > ilnum := ''; //★★★★★★★

    > InputQuery('지정할 일련번호', '일련번호', ilNum);

    > if ilNum <> '' then

    > A := TAuctionData.Create;

    > OutPut := TStringList.Create;

    > OutPut.LoadFromFile(ExtractFilePath(Application.ExeName)+'Footer.txt');

    > Footer := OutPut.Text;

    > OutPut.Clear;

    >

    > with DM.DQMaster do

    > begin

    > DisableControls;

    > First;

    > while not eof do // 테이블리스트 끝까지 ...

    > begin

    > sFileName := ExtractFilePath(Application.ExeName)+'EXPORT'+ //디렉토리설정 '.art-'+IntToStr(ilNum)+'.txt'; //저장될 파일명 지정

    > --> 이 부분이 일련번호 지정 값(1씩 증가됨) // ★★★★

    > OutPut.Clear;

    > sKey := '';

    > OutPut.Add(Data.Text); // 변환한 데이타 내용 텍스트파일에 첨가

    > OutPut.Add('');

    > OutPut.Add(Footer); // 지정한 Footer.txt내용 첨가

    > OutPut.Add('');

    > OutPut.Savetofile(sFileName); // 지정한 디렉토리와 파일명으로 저장

    > ilNum := ilNum + 1; // 일련번호값 증가시킴

    > Next; // 다음 리스트로 ..

    > end;

    > First;

    > EnableControls;

    > end;

    > finally

    > A.Free;

    > OutPut.Free;

    > end;

    > end;

    >

    >

    >

    > ★★★★표시가 들어간 라인에서 에러가 나고 컴파일이 안됩니다.

    > 원하는 결과를 얻기 위해 어떻게 해줘야 하나요? 알려 주세요....제발 !!



    안녕하세요.. 자세한 내용은 파악이 안 되지만 별표한 라인에서 에러가 나는

    이유는 간단하네요.

    iLNum이라는 변수는 integer로 선언이 되어있죠..그런데 에러나는 라인에는

    iLNum := ''; 이라고 되어있네요 이러면 Incompatible Type인가 뭐

    이런 에러가 나지 않던가요. 정수형 변수에 스트링형의 null은 들어가지

    않아요... 그밖에 문제는 이걸 먼저 해결 하고 난 다음에 해결 해야 겠지요

    그럼 즐거운 하루 되세요

    • 최선기
    • 1999.06.23 02:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 모승열
      1999.06.29 11:26
      최선기 께서 말씀하시기를... > 아래 질문을 했는데.. 혹시나 이해 못 하실까봐 다시 합니다. > 제 질문...
    • 남윤혁
    • 1999.04.15 22:13
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 남윤혁
      1999.04.16 02:34
      -.-;; 무슨말인지 잘모르겠네요... 다시 정리해서 올립니다. 아래의 함수는 그리기 전용함수입니다. ...
    • 남윤혁
      1999.04.16 00:37
      다시 질문입니다. 제가 XPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSX ); YPI:= GetDeviceCaps( ...
    • 이정욱
      1999.04.16 01:06
      화면 출력 후 XPI := GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSX); YPI := GetDeviceCaps(Printe...
    • 안치봉
      1999.04.15 23:28
      남윤혁 wrote: > 으아... 미치겠습니다. > > 인쇄를 하기 위해서 > > 매핑모드 바꾼거 까지는 좋았...
    • Faster
    • 1999.04.15 22:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.16 18:42
      > Faster wrote: > 출력물(QuickReport)에 대해 자세히 알고 싶습니다. > > 델파이 책중에 QuickReport...
    • 모승열
      1999.06.29 11:24
      신현숙 께서 말씀하시기를... > 안녕하세요.. > 질문이 있어서리~~ > ^^;; > > Mdi 폼에 mdi child ...
    • nuki
    • 1999.06.23 00:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.06.23 00:41
      OnDrawCell 이벤트에서 직접 코딩을 해 주시면 됩니다. 이경우 현재 그려질 셀의 Canvas를 얻을...
    • 남윤혁
    • 1999.04.15 22:13
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 남윤혁
      1999.04.16 02:34
      -.-;; 무슨말인지 잘모르겠네요... 다시 정리해서 올립니다. 아래의 함수는 그리기 전용함수입니다. ...
    • 남윤혁
      1999.04.16 00:37
      다시 질문입니다. 제가 XPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSX ); YPI:= GetDeviceCaps( ...
    • 이정욱
      1999.04.16 01:06
      화면 출력 후 XPI := GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSX); YPI := GetDeviceCaps(Printe...
    • 안치봉
      1999.04.15 23:28
      남윤혁 wrote: > 으아... 미치겠습니다. > > 인쇄를 하기 위해서 > > 매핑모드 바꾼거 까지는 좋았...
    • bds
    • 1999.06.22 23:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.06.23 00:36
      키필드에 값이 지정되지 않아서 나는 에러입니다. 해당 테이블의 프라이머리 키필드는 반드시 값이 지...
    • ppyp
    • 1999.06.22 23:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이영일
      1999.04.15 19:10
      CUP랑 BIOS의 시리얼번호나 Product ID를 알구 싶은데 어떨게 해야 하나요... CPU의 벤더는 구할수 있는데...
    • 김영대
      1999.04.15 20:12
      > 이영일 wrote: > CUP랑 BIOS의 시리얼번호나 Product ID를 알구 싶은데 어떨게 해야 하나요... > CPU의...
    • 김영대
      1999.04.15 20:12
      > 이영일 wrote: > CUP랑 BIOS의 시리얼번호나 Product ID를 알구 싶은데 어떨게 해야 하나요... > CPU의...
    • bds
    • 1999.06.22 21:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      1999.06.22 21:30
      bds 께서 말씀하시기를... > 무더운 여름에 고생많으십니다. > DBMemo로 입력하려고 합니다. > DBMemo...
    • 이순희
    • 1999.04.15 08:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • bluepine
      1999.04.17 01:18
      이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
    • 글쎄요.
      1999.04.15 19:02
      이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
    • 김영해
    • 1999.04.15 08:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 손용석
      1999.06.22 19:58
      이제 델파이를 배우기 시작한 초보생인데 어디엔가 델파이 한글 도움말이 있다고 들었는데 아무리...
    • 이정욱
      1999.04.15 10:21
      아래 작업전환을 막는것이 있습니다. 이 코드는 나이렉스의 팁 게시판에서 가져왔습니다. var Form1:...
    • 김영해
      1999.04.17 07:48
      감사합니다.이정욱님 많은 도움이 되었습니다.
    • 이동화
    • 1999.04.15 08:56
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 배재민
      1999.06.22 19:36
      엑세스를 이용하여 프로그램을 만들었습니다. 그리고 Delphi 4.0 CD에 있는 인스톨 쉴드 2.02를 이용하...
    • 김영해
      1999.04.15 09:20
      이동화 wrote: > 안녕하세요! > 프린터에대해서 궁금한게 있습니다. 아니 지금 되지가 않습니다. > 프린...
    • 김경수
      1999.06.22 19:57
      안녕하세요. 저도 그런적이 있었거든요. 근데 실제 설치할 컴퓨터(저같은경우 win95)에 access가 설치되...
    • 이동화
      1999.04.15 09:39
      김영해 wrote: > 이동화 wrote: > > 안녕하세요! > > 프린터에대해서 궁금한게 있습니다. 아니 지금 되...
    • 진은정
      1999.06.22 19:54
      InstallSheild인지 BDE인지, 하여간 DAO랑 잘 어울리질 못하더군요, 저도 이것때문에 무척 고생을 했...
    • 강동연
    • 1999.06.22 19:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.06.22 20:13
      강동연 께서 말씀하시기를... > 고수님들 부탁드립니다. > > 테이블 리스트의 내용을 파일에 저장할때 ...