C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[70620] 감사합니다.
히리 [] 3056 읽음    2014-01-06 08:54
말씀해주신 모든 내용이 도움이 되었구요.

오지라퍼가 아니라 구세주..감사합니다

빌더초보 님이 쓰신 글 :
: 저도 초보라서 히리님이 고민하는게 제 상식을 벗어나는거라 캐치를 못하고 있는것인지 잘 모르겠네요.
: 조심스럽게 끄적이자면...
:
: 원하는것이, 메세지 표시를 DB를 '불러오는 동안 내내' 하는 것인지
: 불러오는 동안 잠깐 보였다 사라지게 하는것 인지에 따라 다를것 같은데요.
:
: 전자라면 함수(DB_connect) 시작부분에 폼을 띄우고, 함수 종료 부분에 폼을 닫으면 된다는 말이었습니다.
:
: 후자일 경우, '정확히 몇초동안 보였다가 사라져야된다' 라면 타이머를 써야겠지만...
: 그게 아니라면 DB_connect 함수의 중간의 적절한 위치에서 폼을 닫으면 될것 같습니다.
:
: 고민하는게 이런게 아니라면 이 아래부터는 안보셔도 됩니다.
:
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: 	TForm *TmpForm = new TForm(Application);
: 	TmpForm->BorderStyle=bsDialog;
: 	TmpForm->BorderIcons >> biSystemMenu;
: 	TmpForm->Height=200;
: 	TmpForm->Width=300;
: 	TmpForm->Position=poOwnerFormCenter;
: 
: 	TLabel *TmpLabel = new TLabel(Application);
: 	TmpLabel->Parent=TmpForm;
: 	TmpLabel->AutoSize=false;
: 	TmpLabel->Top=50;
: 	TmpLabel->Width=TmpForm->ClientWidth;
: 	TmpLabel->Height=30;
: 	TmpLabel->Alignment=taCenter;
: 	TmpLabel->Font->Size=15;
: 	TmpLabel->Caption="DB를 불러오는 중입니다.";
: 
: 	TProgressBar *TmpProgressBar = new TProgressBar(Application);
: 	TmpProgressBar->Parent=TmpForm;
: 	TmpProgressBar->Width=TmpForm->ClientWidth-40;
: 	TmpProgressBar->Left=20;
: 	TmpProgressBar->Top=100;
: 	TmpProgressBar->Position=0;
: 	TmpProgressBar->Min=0;
: 	TmpProgressBar->Max=50;
: 
: 	TmpForm->Show();
: 
: 	//함수 시작
: 	TDateTime A=Now();
: 	double mSec=1.0/24/60/60/10;
: 
: 	while(TmpProgressBar->Position<50) {
: 		double B=Now()-A;
: 		if (B>=mSec) {
: 			TmpProgressBar->Position++;
: 			A=Now();
: 		}
: 	}
: 	//함수종료
: 
: 	TmpForm->Close();
: 	delete TmpProgressBar;
: 	delete TmpLabel;
: 	delete TmpForm;
: }
: 

:
: 메세지를 보여주고, 0.1초 단위로 Progressbar가 증가하게 하며, 5초뒤에 메세지를 닫는 코드인데
: 함수시작/종료 사이부분을 DB_connect라고 생각하시면 되겠습니다.
:
: TmpProgressBar->Max 에 DB_connect에서 총 반복되는 for문의 Count를 넣고
: 그 for문 안에 'TmpProgressBar->Position++'를 넣어주시면 되겠습니다.
:
: 시작 시에 총 for문 Count를 모른다면 TmpProgressBar 설정 부분에
: TmpProgressBar->Style=pbstMarquee; 를 추가하시거나
: ProgressBar를 안쓰시면 될듯 합니다.
:
: 이상 불금에 잠은 안오는데 할게 없는 초보 오지라퍼 였습니다.
:
:
:
:
:
: 히리 님이 쓰신 글 :
: : 흠 그걸 타이머를 이용해서 해야하는지 어떤 컴포넌트를 이용해서 해야하는지 잘 모르겠습니다 ㅠ..
: :
: : 빌더초보 님이 쓰신 글 :
: : : 그냥 간단하게 시작할때 폼 띄우고 끝날때 닫으면 되지 않을까... 하고 지나가던 초보가 생각해봅니다.
: : :
: : : 히리 님이 쓰신 글 :
: : : : DB를 불러오는동안 (예를들어 DB_connect라는 함수를 실행시키는 동안)약간 시간이 걸리는 사이에 "DB를 불러오는중입니다." 이런 메세지가 표시된 창을 띄우고싶은데 Timer를 이용해야 할지 어떡해야할지 잘 모르겠네요..초보라;TTimer를 이용해야 한다면 방법을 좀 알려주시면 감사하겠습니다 ...

+ -

관련 글 리스트
70607 로딩창을 띄우고 싶은데요 히리 2787 2014/01/03
70612     Re:로딩창을 띄우고 싶은데요 둘리.CSIEDA 3246 2014/01/04
70608     Re:로딩창을 띄우고 싶은데요 빌더초보 2740 2014/01/03
70609         Re:Re:로딩창을 띄우고 싶은데요 히리 2659 2014/01/03
70611             Re:Re:Re:로딩창을 띄우고 싶은데요 빌더초보 3211 2014/01/04
70620                 감사합니다. 히리 3056 2014/01/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.