말씀해주신 모든 내용이 도움이 되었구요.
오지라퍼가 아니라 구세주..감사합니다
빌더초보 님이 쓰신 글 :
: 저도 초보라서 히리님이 고민하는게 제 상식을 벗어나는거라 캐치를 못하고 있는것인지 잘 모르겠네요.
: 조심스럽게 끄적이자면...
:
: 원하는것이, 메세지 표시를 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를 이용해야 한다면 방법을 좀 알려주시면 감사하겠습니다 ...