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
[54746] Re:오늘도 질문을 올립니다.. 쿨럭;;;
설현도 [st8123] 1137 읽음    2008-10-03 16:32
[타이머 동작으로 100ms 마다 한번씩 해당 작업을 수행하고 싶다] 라는 말씀이시죠?

1. if - else문 제거

현재 소스를 보면 label이 다수 존재 합니다.
그리고 수행 동작들은 모두 동일합니다.

label 안의 내용만 틀리다면 이 label 들을 배열로 선언합니다.

[.h 파일] 
TLabel *lbl[10];   // 10개로 가정 하겠습니다.

[.cpp 파일]
그리고 OnCreate()나 OnShow()에서
lb[0] = Label1; ...... lbl[10] = Label10;
으로 좍~~~ 선언을 합니다.

그럼 타이머 안에서의 함수는
if(lbl[index]->Caption!="0.0.0.0")
{
... //
}
index += 1;

으로 수행 하면 될 것 같습니다.
index 관리는 따로 해주셔야 되구요

번외편 님이 쓰신 글 :
: 궁금한게 많아서여;;; 오늘도 질문좀 하려고 합니다.
: 동작하는데는 크게 문제가 없는데 왠지 타이머를 많이 쓰면 안될거 같아서요
: 아래처럼 cmd를 실행하려고 하는데 cmd모드를 너무 빨리 실행시켜서인지는 잘 모르겠지만
: 가끔 route.exe 응용프로그램 오류가 뜹니다.
: 그래서 timer로 두개를 나누었더니 해결이 되더군여 그런데 문제는 밑에 if문이 한두개가
: 아니라 여러개가 있어서요.. timer 갯수만 늘려서 해결하려니 해결하는 방법이 어려운게 아니라
: 왠지 쫌 꺼림찍하더라구여...
:
: 그래서 질문드립니다. 위쪽 if문이랑 아래쪽 if문이랑 다른 타이머나 통신포트쪽에 지장주지 않고
: 0.1초의 시간을 줄수 있는 방법이 없을까여? 물론 timer 여러개로 사용하는거 빼구여
: 좋은 방법좀 알려주셨으면 합니다.
:
: 그럼 이만..
:
:
: if(Label10->Caption!="0.0.0.0")
: {
:    sprintf(cmd_0,"route add 0.0.0.0 mask 0.0.0.0 %s metric 4",Label10->Caption);
:    STARTUPINFO si3;
:    PROCESS_INFORMATION pi3;
:    ZeroMemory( &si3, sizeof(si3) );
:    si3.cb = sizeof(si3);
:    CreateProcess( NULL, cmd_0, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &si3, &pi3 );
: }
:
: if(Label11->Caption!="0.0.0.0")
: {
:
:   char *addr1 = Label11->Caption.c_str();
:   long addrVal    = inet_addr(addr1);
:
:   IN_ADDR temp;
:   temp.s_addr = (addrVal & maskVal) | addVal;
:   sprintf(cmd_1,"route add 0.0.0.0 mask 0.0.0.0 %s metric 3",inet_ntoa(temp));
:   STARTUPINFO si4;
:   PROCESS_INFORMATION pi4;
:   ZeroMemory( &si4, sizeof(si4) );
:   si4.cb = sizeof(si4);
:   CreateProcess( NULL, cmd_1, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &si4, &pi4 );
: }

+ -

관련 글 리스트
54737 오늘도 질문을 올립니다.. 쿨럭;;; 번외편 985 2008/10/02
54746     Re:오늘도 질문을 올립니다.. 쿨럭;;; 설현도 1137 2008/10/03
54748         갑사합니다 ^^ 그런데 오류 문제가 이거때문이 아니었군여 ㅎㅎ... ㅠㅠ 번외편 1050 2008/10/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.