Q&A

  • 세이브 다이얼로그에서여..
SDE_file.FileName := '';
  if SDE_file.Execute then begin
    Buffer := SDE_file.FileName;
    try
      AssignFile(OutF, Buffer);
      ReWrite(OutF);
      except begin
        Application.MessageBox(' 파일이 현재 사용중이거나 열 수 없는 파일인지 확인하십시오. ',
                                       '파일 열기 오류', mb_Ok + mb_ICONERROR);
        system.Exit;
      end;
    end;
    if IOResult <> 0 then begin
      Application.MessageBox(' 자료파일을 생성할 수 없습니다. 다시 시도하세요 ',
                                      '오류', mb_Ok + mb_ICONWARNING);
      system.Exit;
    end;
  end;
:
:(생략)-파일에 저장될 내용 만드는 부분
:
Write(OutF, start+Data+sData);
system.Close(OutF);

이렇게 구성되어 있거는든여..
근데 다이얼로그가 열려서 확인 버튼을 누르면 상관이 없는데
취소 버튼을 누르면
Write(OutF,~) 부분에서 103 에러가 떠여..
그래서 이 부분을 처리하고 싶은데..
어찌 해야 하나요?

if문 같은 조건문을 써서 취소가 눌릴때는 실행안되게 하려고 있는데..
조건을 어떻게 써야하는 지 몰라서요.
다른 방법이라도 괜찮습니다..
많은 지도 부탁드립니다..^^;
5  COMMENTS
  • Profile
    최용일 2002.12.27 22:37
    안녕하세요. 최용일입니다.

    if Dialog.Execute then
    begin
      파일열기;
      파일쓰기;
      파일닫기;
    end;

    이런식으로 되어야 하는데... 님께서 하신거는

    if Dialog.Execute then
    begin
      파일열기;
    end;
    파일쓰기;
    파일닫기;

    이렇게 되어있네요... 그러니가 취소버튼을 누르면 파일을 열지않고 바로 쓰니까 에러가 나는 겁니다... 로직을 바꾸세요...

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

  • Profile
    LuckyBoy 2002.12.27 21:27
    MessageBox의 Help를 찾아보시면 답이 나와 있습니다..

    하시고 싶은 메세지를 띄울때.. 다음과 같이 해보세요..

    if Application.MessageBox('계속하시겠습니까?',  '파일 열기 오류',     MB_OKCANCEL) = IDCancel then
        ShowMessage('Cance')
    else ShowMessage('OK');

    버튼을 어떤것을 선택하는냐에 따라서 다음 행하는 작업을 선택할 수
    있습니다..

    그럼 즐프하세요..
  • Profile
    도니 2002.12.27 21:50
    또 메세지 박스가 아니라요..
    세이브다이얼로그에서...취소를 누르면..
    저 밑에 파일 저정하는 부분에서 에러가 납니다..
    그래서 취소를 눌렀을때 그부분을 넘기고 싶어서..
    그방법에 대해 질문을 한겁니다..
    예를 들면..
    if not(취소버튼) then
      write();
    이런식으로요...
    취소버튼에 어떤 조건이 들어가야하는지...ㅠ.ㅠ

  • Profile
    구창민 2002.12.27 22:08
    안녕하세요~ 구창민입니다

    취소시에는 if SaveDialog.FileName = '' then 이렇게 비교하면 되겠죠.

    즐건 프로그래밍 하세여~


  • Profile
    도니 2002.12.27 22:28
    • 박성훈
      2003.01.16 22:12
      정확히는 모르지만요. 권한설정이 바뀌었거나 tcp/ip쪽에 이상이 생겼을 수 있습니다. mysql지우고 새...
    • 델사랑
    • 2002.12.28 07:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.12.28 23:49
      안녕하세요~ 구창민입니다. 제가 예전에 사용한 소규모 MDB 를 압축하고 복구했던 방법입니다. 참고...
    • 권민호
      2002.12.28 13:13
      ------------------------- ZipMaster라는 콤포넌트를 이용하면 됩니다.(자료실에 있지 않나?) 하지만 한...
    • 전덕성
    • 2002.12.28 05:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2003.01.16 22:14
      혹시 쿼리와 DBGrid붙여놓고 쿼리한 값으로 직접 입력을 하시나요? 그렇다면 쿼리컴포넌트의 RequestLiv...
    • 소울해커
      2002.12.28 08:53
      uses Buttons; ... private SpeedBtn: TSpeedButton; ... procedure TForm1.FormCreate(Se...
    • 최용일
      2002.12.28 22:31
      안녕하세요. 최용일입니다. DBGrid와 연결된 Query컴포넌트에서 필드추가하시고 그 필드의 OnSetText이...
    • 윤승환
      2002.12.28 08:33
      제생각에는 방법이 없는듯 한데요. 디비그리드는 쿼리 자체를 받는것이기 때문에 디비그리드 자체에서 ...
    • 윤승환
      2002.12.28 08:29
      이렇게 하심이 어떨까요...   str := StringGrid1.Cells[0,1];   i := pos('(주...
    • 소울해커
      2002.12.28 08:19
      TBV_SANGHO := StringReplace(SG_Gird.Cells[2,I],'(주)','',rfReplaceAll]);             ...
    • 김수경
      2002.12.28 19:30
      메모 내용을 보관한 *.dbt File이 없어서 열어 볼 수가 없습니다. 첨부해 주세요
    • 남충희
      2002.12.31 04:19
      var   wSt : WideString; begin   wSt := Edit1.Text;    &nb...
    • 권민호
      2002.12.28 13:24
      -------------------------------------------- 글쎄요 저같으면 대충 아래와 같이 해보겠습니다. var i,...
    • 도니
    • 2002.12.27 21:47
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2002.12.28 00:45
      혹시 예전의 질답게시판을 찾아보셨는지요? 위에 보면 초보자들이 처음시작을 하는데 필요한 상식이라고 ...
    • 도니
      2002.12.28 00:51
      그렇군요..거기도 한번 검색해 봐야겠네요.>^^;; 출력할때 마다 값이 증가한다는건요.. 프리뷰에서 미...
    • 임형호
      2002.12.28 01:26
      혹시 찾고 계신게 ForceNewPage 속성이 아니신지요..???
    • 열심히
      2002.12.27 22:48
      출력할떄마다 값이 증가하는 이유는.. 메모리 해제가 제대로 안됐던것 같네요... create(appli...
    • 2002.12.28 00:30
      혹시 BeforePrint라는 Event에서 값을 설정한게 아닙니까? BeforePrint는 Preview에서도 그리고 Print를 ...
    • 도니
      2002.12.28 00:13
      메모리 해제할 필요없이 출력한번하고난뒤에 초기화를 해주면 될꺼 같은데.. 어디서 해줘야하는지요.. ...
    • jangumma
      2002.12.28 05:12
      혹시 이걸 찾는 건 아닌지? TQRExpr의 속성 중 ResetAfterPrint를 True로 설정 하심이... TQRLabel을...
    • • • •
    • 최용일
      2002.12.27 22:34
      안녕하세요. 최용일입니다. 허~ 질문이 참 황당하네요... 뭐 아무런 설명도 없이 무작정 발신자 번호 표...
    • 미니
    • 2002.12.27 21:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.12.27 22:50
      안녕하세요~ 구창민입니다. 아래 코드는 파워러브델파이에 기고 되었던 MDI 차일드 폼을 DLL 로 사용...
    • 미니
      2002.12.27 23:02
      답변주셔서 감사합니다. 죄송하지만 제가 질문을 잘못한거 같군요 ! 제 말은 메인폼에서 호출할 DLL폼이 ...
    • 도니
    • 2002.12.27 21:08
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.12.27 22:37
      안녕하세요. 최용일입니다. if Dialog.Execute then begin   파일열기;   파일...
    • LuckyBoy
      2002.12.27 21:27
      MessageBox의 Help를 찾아보시면 답이 나와 있습니다.. 하시고 싶은 메세지를 띄울때.. 다음과 같이 해...
    • 도니
      2002.12.27 21:50
      또 메세지 박스가 아니라요.. 세이브다이얼로그에서...취소를 누르면.. 저 밑에 파일 저정하는 부분에서 ...
    • 구창민
      2002.12.27 22:08
      안녕하세요~ 구창민입니다 취소시에는 if SaveDialog.FileName = '' then 이렇게 비교하면 되겠죠. ...
    • 도니
      2002.12.27 22:28
    • 최용일
      2002.12.27 22:42
      안녕하세요. 최용일입니다. 좌표로 자식윈도우핸들구할때는 ChildWindowFromPoint 이 함수 쓰구요... ...
    • 초보짱..
    • 2002.12.27 15:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2002.12.27 23:29
      안녕하세요~ 구창민입니다. 아래 코드처럼,   try     ...  &...
    • 초보짱..
      2002.12.28 02:37
      --------------------- 님 감사합니다....^^ 그런데 그렇게 해보니 에러메세지스트링은 받을수 있는데 ...
    • goodlsw
    • 2002.12.27 10:57
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 엄화용
    • 2002.12.27 09:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2002.12.27 20:43
      조인이 하나만 걸린게 아니라 두번 걸렸다는 뜻인데요.. 이 세개의 테이블을 조인하면서 님이 원하시는 ...
    • Formas
    • 2002.12.27 07:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • DelChoBo
      2002.12.27 21:00
      아래와 같이 pchar()로 해보시길.. MessageBox(0,pchar(inttostr(100)),'test',MB_OK) 그럼..
    • DelChoBo
      2002.12.27 20:53
      pas에서와 동일합니다. uses에 해당 컴포넌트에 관련된 파일을 추가해 주시고, var 부분에 선언, Create ...