Q&A

  • 도와주세요~ 조금 급합니다.ㅠㅠ
오늘은 비가 그쳤네요.

습기 때문인지 무척 더워요.

한가지 질문이 있는데영..

고수님들 좀 갈켜 주셈...



frmmain : project/option 에서 mainform으로 잡음 (autoform)

폼스타일은 mdi폼임



frmlogin : 로그인 창으로 로그인이 성공하면 frmmain창을 불러옴(물론 자신은 종

료 되어야됨)

아이디나 패스워드를 잘못 입력 하면 최대 3번 입력 가능

3번 잘못 기입 했을 경우 모든 프로그램 종료.

normal 폼



////////////////소스/////////////////////////////

===================frmmain의 로긴 불러 오기======================

procedure Tfrmmain.FormCreate(Sender: TObject);

begin

frmLogin := TfrmLogin.create(self);

frmLogin.showmodal; <-frmmain이 메인폼이니깐 로그인창을 모달폼으로 써야 될것 같은 실은 잘 모르겠음

end;

=================frmlogin=======================================



if RecordCount = 0 then <- 디비에 아디와 패스워드의 카운트 조건식

begin

showmessage('ID 혹은 PASS가 틀렸습니다.');

gi_count := gi_count + 1; <- 전역 변수로 폼 생성시 0로 초기화

if gi_count = 3 then

begin

showmessage('3번 틀렸으므로 프로그램을 종료 합니다.');

//frmLogin.close; <- 종료 해버리면 frmmain창이 뜸 아마 모달폼이라서

그런것 같은 (원래는 뜨면 안돼영 ㅠㅠ)

frmmain.close;

end;

end

else

begin

showmessage(edtUser.text + '님 어서 오십시요.');

frmLogin.close; <-당근 모달폼이니깐. 종료하면 frmmain창이 뜸

end;



입니다.



사실 위에 처럼 코딩 해야 하는지 안해야 하는지도 잘 모르겠습니다.

그냥.. 직감적으로 생각이 나서 코딩 한거라...

위의 이상한 방벙 말고 정석적인 로그인과 메인창을 뛰우는 방법 없겠습니까.

frmlogin창을 메인폼으로 잡으니깐.. frmmain이 mdi폼이라서 그런지

폼이 생성이 잘 안돼네요. access에러만 날뿐..



고수님들

염치 불구 하고 말합니다.

가르켜 주세요.

아니면 위의 관계를 속시원히 해결 할수 있는 소스 하나만 올려 주어도

좋고요..

그럼 즐꼬요





3  COMMENTS
  • Profile
    탈초보하자 2001.08.01 21:02
    1

  • Profile
    최용일 2001.08.01 20:45
    안녕하세요. 최용일입니다.



    뭐~ 프로그래밍에 있어서 정도는 없다고 봅니다만....



    이 경우는 메인폼의 OnCreate에서 하기보다는 프로젝트 소스에서 하시는 것이 더 좋을듯 하네요...



    Project/View Source메뉴에서 프로젝트 파일을 여신 뒤에 하세요... uses절에 frmLogin



    폼 유닛을 추가해주시구요...



    프로젝트 파일



    ......

    begin

    Application.Initialize;



    frmLogin := TfrmLogin.create(nil);

    if frmLogin.ShowModal = mrOk then // 성공적으로 로긴되었으면...

    begin // 로긴창 닫구 메인폼 실행

    frmLogin.Free;

    Application.CreateForm(TDesktopForm, DesktopForm);

    Application.Run;

    end

    else // 그냥 로긴창만 닫는다.

    frmLogin.Free;

    end;



    =================frmlogin=======================================



    if RecordCount = 0 then <- 디비에 아디와 패스워드의 카운트 조건식

    begin

    showmessage('ID 혹은 PASS가 틀렸습니다.');

    gi_count := gi_count + 1; <- 전역 변수로 폼 생성시 0로 초기화

    if gi_count = 3 then

    begin

    showmessage('3번 틀렸으므로 프로그램을 종료 합니다.');

    ModalResult := mrCancel;

    end;

    end

    else

    begin

    showmessage(edtUser.text + '님 어서 오십시요.');

    ModalResult := mrOK;

    end;



    대강 위와 같은 방식이 되겠네요...



    질문하실때는 제목은 제대로 적어주세요... 급하다거나 그런말은 쓰시지 마시구요...



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



    탈초보하자 wrote:

    > 오늘은 비가 그쳤네요.

    > 습기 때문인지 무척 더워요.

    > 한가지 질문이 있는데영..

    > 고수님들 좀 갈켜 주셈...

    >

    > frmmain : project/option 에서 mainform으로 잡음 (autoform)

    > 폼스타일은 mdi폼임

    >

    > frmlogin : 로그인 창으로 로그인이 성공하면 frmmain창을 불러옴(물론 자신은 종

    > 료 되어야됨)

    > 아이디나 패스워드를 잘못 입력 하면 최대 3번 입력 가능

    > 3번 잘못 기입 했을 경우 모든 프로그램 종료.

    > normal 폼

    >

    > ////////////////소스/////////////////////////////

    > ===================frmmain의 로긴 불러 오기======================

    > procedure Tfrmmain.FormCreate(Sender: TObject);

    > begin

    > frmLogin := TfrmLogin.create(self);

    > frmLogin.showmodal; <-frmmain이 메인폼이니깐 로그인창을 모달폼으로 써야 될것 같은 실은 잘 모르겠음

    > end;

    > =================frmlogin=======================================

    >

    > if RecordCount = 0 then <- 디비에 아디와 패스워드의 카운트 조건식

    > begin

    > showmessage('ID 혹은 PASS가 틀렸습니다.');

    > gi_count := gi_count + 1; <- 전역 변수로 폼 생성시 0로 초기화

    > if gi_count = 3 then

    > begin

    > showmessage('3번 틀렸으므로 프로그램을 종료 합니다.');

    > //frmLogin.close; <- 종료 해버리면 frmmain창이 뜸 아마 모달폼이라서

    > 그런것 같은 (원래는 뜨면 안돼영 ㅠㅠ)

    > frmmain.close;

    > end;

    > end

    > else

    > begin

    > showmessage(edtUser.text + '님 어서 오십시요.');

    > frmLogin.close; <-당근 모달폼이니깐. 종료하면 frmmain창이 뜸

    > end;

    >

    > 입니다.

    >

    > 사실 위에 처럼 코딩 해야 하는지 안해야 하는지도 잘 모르겠습니다.

    > 그냥.. 직감적으로 생각이 나서 코딩 한거라...

    > 위의 이상한 방벙 말고 정석적인 로그인과 메인창을 뛰우는 방법 없겠습니까.

    > frmlogin창을 메인폼으로 잡으니깐.. frmmain이 mdi폼이라서 그런지

    > 폼이 생성이 잘 안돼네요. access에러만 날뿐..

    >

    > 고수님들

    > 염치 불구 하고 말합니다.

    > 가르켜 주세요.

    > 아니면 위의 관계를 속시원히 해결 할수 있는 소스 하나만 올려 주어도

    > 좋고요..

    > 그럼 즐꼬요

    >

    >

  • Profile
    탈초보하자 2001.08.01 21:04
    최용일 wrote:

    > 안녕하세요. 최용일입니다.

    >

    > 뭐~ 프로그래밍에 있어서 정도는 없다고 봅니다만....

    >

    > 이 경우는 메인폼의 OnCreate에서 하기보다는 프로젝트 소스에서 하시는 것이 더 좋을듯 하네요...

    >

    > Project/View Source메뉴에서 프로젝트 파일을 여신 뒤에 하세요... uses절에 frmLogin

    >

    > 폼 유닛을 추가해주시구요...

    >

    > 프로젝트 파일

    >

    > ......

    > begin

    > Application.Initialize;

    >

    > frmLogin := TfrmLogin.create(nil);

    > if frmLogin.ShowModal = mrOk then // 성공적으로 로긴되었으면...

    > begin // 로긴창 닫구 메인폼 실행

    > frmLogin.Free;

    > Application.CreateForm(TDesktopForm, DesktopForm);

    > Application.Run;

    > end

    > else // 그냥 로긴창만 닫는다.

    > frmLogin.Free;

    > end;

    >

    > =================frmlogin=======================================

    >

    > if RecordCount = 0 then <- 디비에 아디와 패스워드의 카운트 조건식

    > begin

    > showmessage('ID 혹은 PASS가 틀렸습니다.');

    > gi_count := gi_count + 1; <- 전역 변수로 폼 생성시 0로 초기화

    > if gi_count = 3 then

    > begin

    > showmessage('3번 틀렸으므로 프로그램을 종료 합니다.');

    > ModalResult := mrCancel;

    > end;

    > end

    > else

    > begin

    > showmessage(edtUser.text + '님 어서 오십시요.');

    > ModalResult := mrOK;

    > end;

    >

    > 대강 위와 같은 방식이 되겠네요...

    >

    > 질문하실때는 제목은 제대로 적어주세요... 급하다거나 그런말은 쓰시지 마시구요...

    >

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

    >

    > 탈초보하자 wrote:

    > > 오늘은 비가 그쳤네요.

    > > 습기 때문인지 무척 더워요.

    > > 한가지 질문이 있는데영..

    > > 고수님들 좀 갈켜 주셈...

    > >

    > > frmmain : project/option 에서 mainform으로 잡음 (autoform)

    > > 폼스타일은 mdi폼임

    > >

    > > frmlogin : 로그인 창으로 로그인이 성공하면 frmmain창을 불러옴(물론 자신은 종

    > > 료 되어야됨)

    > > 아이디나 패스워드를 잘못 입력 하면 최대 3번 입력 가능

    > > 3번 잘못 기입 했을 경우 모든 프로그램 종료.

    > > normal 폼

    > >

    > > ////////////////소스/////////////////////////////

    > > ===================frmmain의 로긴 불러 오기======================

    > > procedure Tfrmmain.FormCreate(Sender: TObject);

    > > begin

    > > frmLogin := TfrmLogin.create(self);

    > > frmLogin.showmodal; <-frmmain이 메인폼이니깐 로그인창을 모달폼으로 써야 될것 같은 실은 잘 모르겠음

    > > end;

    > > =================frmlogin=======================================

    > >

    > > if RecordCount = 0 then <- 디비에 아디와 패스워드의 카운트 조건식

    > > begin

    > > showmessage('ID 혹은 PASS가 틀렸습니다.');

    > > gi_count := gi_count + 1; <- 전역 변수로 폼 생성시 0로 초기화

    > > if gi_count = 3 then

    > > begin

    > > showmessage('3번 틀렸으므로 프로그램을 종료 합니다.');

    > > //frmLogin.close; <- 종료 해버리면 frmmain창이 뜸 아마 모달폼이라서

    > > 그런것 같은 (원래는 뜨면 안돼영 ㅠㅠ)

    > > frmmain.close;

    > > end;

    > > end

    > > else

    > > begin

    > > showmessage(edtUser.text + '님 어서 오십시요.');

    > > frmLogin.close; <-당근 모달폼이니깐. 종료하면 frmmain창이 뜸

    > > end;

    > >

    > > 입니다.

    > >

    > > 사실 위에 처럼 코딩 해야 하는지 안해야 하는지도 잘 모르겠습니다.

    > > 그냥.. 직감적으로 생각이 나서 코딩 한거라...

    > > 위의 이상한 방벙 말고 정석적인 로그인과 메인창을 뛰우는 방법 없겠습니까.

    > > frmlogin창을 메인폼으로 잡으니깐.. frmmain이 mdi폼이라서 그런지

    > > 폼이 생성이 잘 안돼네요. access에러만 날뿐..

    > >

    > > 고수님들

    > > 염치 불구 하고 말합니다.

    > > 가르켜 주세요.

    > > 아니면 위의 관계를 속시원히 해결 할수 있는 소스 하나만 올려 주어도

    > > 좋고요..

    > > 그럼 즐꼬요

    > >

    > >