창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


질문게시판
- 반드시 검색을 하신 후 원하는 답변을 찾을 수 없을 때, 질문을 올려주세요.


LIST ALL
Posted by 박무진2012-02-04 15:49:40, Hit : 3439
00초전...이라는 조건을 만들려는데...
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=qna&no=2512
00초전...
00분전...
이라는 조건을 만들려는데...
며칠을 이렇게 저렇게 해봐도...ㅎㅎㅎ...
사고력의 한계인지...
아니면 언어의 한계인지...

예를들어...
10분전 ...은...

만일 (시각시풀어(현재시간)=시
       그리고 시각분풀어(현재시간)=분-10)
     {         }

10초전...은...

만일 (시각시풀어(현재시간)=시
       그리고 시각분풀어(현재시간)=분
       그리고 시각초풀어(현재시간)=초-10)
     {         }


문법은 통과됐는데
10분전에...
10초전에...반응이 없군요...
"-10"   ...   이거를 의미가 있게 하려면...
어떻게 해야할지...난감하군요...
뭐...걸음마단계이니...
며칠을 이렇게 저렇게 해봐야...
무엇이 부족한 것인지 알수가 없군요...
어떠한 함수가 있는 것인지...
조언을 부탁드립니다.

지상현   2012-02-04 PM 8:38:41  
창조에서 사용하는 시간 단위는, 1899년 12월 30일을 기준으로 한 '일' 단위입니다.
예를 들어 2011년 1월 13일은 1899년 12월 30일부터 40,556일 지났으므로 그때 '현재시간'도 40556이란 값을 갖습니다.

시간 단위는 날짜 말고도 시각을 표시할 수 있는데, 단위가 '일'이기 때문에 시간은 소숫점으로 표시합니다.
1시간은 1/24일이라 할 수 있으므로 0.04166... 으로 표시합니다.
같은 방법으로, 오후 8시 27분은 18/24 + 27/24/60 으로 표시합니다. 계산하면 0.76875가 나오네요.

이렇게 하면 우선 간단하게 시각을 표시할 수 있습니다.
현재시각보다 10초 전이라면, 현재시각에서 10/24/60/60 을 빼주면 되겠지요.

이때, 시각을 검사하는 부분 (만일 문)이 정확히 그 시각에 실행되지 않으면 의미가 없습니다.
시계 등을 사용해서 검사한다고 해도, 정확한 간격으로 실행이 보장되는 것이 아니기 때문에, 등호를 사용하여 검사하시면 놓칠 수도 있습니다.

예를 들어 18시 47분 32초에 동작해야 할 때, 31초에 검사하고 다시 검사했을 때 33초였다면 동작하지 않을 것입니다.
시간차를 구해서 (단순히 뺄셈으로 됩니다) 그 숫자가 10분 (10/24/60이 되겠죠)보다 크면 동작하지 않고, 10분보다 작거나 같아지는 순간 동작하게 하면 놓치지 않고 10분 전에 동작할 수 있겠지요. 물론 부등호를 사용하면 9분, 8분 전에도 동작할 것이므로 한 번 동작하면 꺼버리는 처리도 필요하겠네요.
박무진   2012-02-05 AM 9:02:59  
감사합니다.
10초는 10/24/60/60 = 0.0001574 ,
10분은 10/24/60 = 0.006944444 라는 숫자를 사용해야하는군요...
그러면 10초전에 버튼0 를 눌러라고 하려면

현재날짜:=수를문(날짜년풀어(현재시간))+수를문(날짜월풀어(현재시간))+수를문(날짜일풀어(현재시간));
현재시각:=수를문(시각시풀어(현재시간))+수를문(시각분풀어(현재시간))+수를문(시각초풀어(현재시간));
알람날짜:=년+월+일;
알람시각:=시+분+초;

만일(현재시각>=알람시각-0.0001574) //부등호를 사용하고
{ 버튼0.눌러;
시계0.제어:=거짓; } //한번만 눌러라고 시계를 거짓으로...

이렇게 하면...되는 것인가요?
10분전이라면 -0.006944444 를 써넣고
10초후나 10분후라면 - 를 + 로 바꾸면 된다는...

감사합니다.
박무진   2012-02-05 AM 9:44:58  
문법에서 문제가 있다고해서 ..
.만일(현재시각>=알람시각-0.0001574) //현재시간으로 바꿨습니다...
그리고 아래처럼 적었는ㄷ[요...

현재날짜:=수를문(날짜년풀어(현재시간))+수를문(날짜월풀어(현재시간))+수를문(날짜일풀어(현재시간));
현재시각:=수를문(시각시풀어(현재시간))+수를문(시각분풀어(현재시간))+수를문(시각초풀어(현재시간));
알람날짜:=년+월+일;
알람시각:=시+분+초;

만일(매일알람=0)
{ 만일(알람날짜=현재날짜)
{ 만일(현재시간>=알람시각-0.0001574)
{ 버튼0.눌러;
시계0.제어:=거짓; }
} }

아니면 만일(매일알람=1)
{ 만일(현재시간>=알람시각-0.0001574)
{ 버튼0.눌러;
시계0.제어:=거짓; }
}

뭐가 문제인지...만일( ) { } ...이러한 것이 잘못한 것인지...
시간을 입력하자마자 버튼을 누르고 마는군요...
입력한 시간 10초전이 아니라...
지상현   2012-02-05 AM 10:29:34  
'현재시간'은 창조에서 지금 시간을 알려주는 함수로, 시간 말고도 날짜 정보가 포함되어 있습니다.
그런데 비교하실때 사용하신 '알람시각'은 단순히 시+분+초 로 만드셨기 때문에, 서로 단위를 같게 만들어야 제대로 된 비교가 되겠지요.

마찬가지로 1일 = 1 로 해서, 시분초는 각각 1/24일, 1/24/60일, 1/24/60/60일로 바꾸고 (이렇게 하면 1보다 작게 됩니다),
여기에 날짜 정보도 더해줘야 똑같은 단위가 됩니다.

그렇지만 번거롭기 때문에, 다음 함수를 사용하면 쉽게 날짜를 만들 수 있습니다.

알람날짜 := 날짜합쳐(년, 월, 일);
알람시각 := 알람날짜 + 시각합쳐(시, 분, 초, 밀리초);

'현재시간'에는 날짜도 포함되기 때문에, 여기서 날짜를 빼주거나, 아니면 비교할 알람시각에서 날짜를 더해주어야 서로 맞습니다. 저는 알람시각에 더해주었습니다.
이렇게 하면 날짜와 시간을 따로 비교할 필요 없이, 한 번만 비교하면 날짜와 시간이 한번에 비교됩니다.
박무진   2012-02-05 PM 7:59:46  
감사합니다...
날짜와 시간이...
실수로 표현이 될때와
문자로 표현이 될때를 구별을 해야하는군요...
이제 겨우 좀...구별이 되는 듯 합니다...
이렇게나 자세히 알려주셔서 진심으로 감사드립니다.
이젠 좀...개념이 선 듯...합니다...
LIST ALL               GO TO THE TOP


N
Category
   Subject
Posted by
Date
H
2156 기타
    !!!@@!!!! [1]
정성지 2003/01/13  3928
2155 창조
    상진님상현님 질문입니다. CreateAllBrowser... [2]
권선중 2007/10/09  4139
2154 창조
    쌩초보가 하나 좀 문의드립니다. [2]
이유리 2005/12/16  2899
2153 창조
    저기요 제가 스타를.. [3]
wjdtjdwl 2003/01/13  3446
2152 창조
    질문이요[작업표시줄] [3]
황유찬 2007/01/05  4512
2151 창조
    허프만 코드 압축법? 창조로 구현가능할까요.. [4]
권선중 2005/09/04  4436
2150 창조
   !미부!쿄시로님께 질문입니다;; [5]
강현구 2003/02/10  3461
2149 기타
   %(퍼센트)의 의미? [6]
세죠위그이 2004/05/05  3479
2148 창조
   <꼭 보지 말것!>제 프로그램에서 오류... [10]
우유중독 2006/07/01  3010
2147 창조
   <중요!>환경문을 이용해서 명령어를 저... [1]
우유중독 2006/06/30  3158
2146 창조
   <질문> 실수선언한담에 수에 플러스시... [1]
오니즈카 2003/01/03  3448
2145 창조
   (긴급) MNP2 Lite 재생시 로그파일의 생성
신용주 2009/11/06  4342
2144 창조
   (리플답변요청)손상진님의 HTTP로 데이터 주... [14]
이희창 2007/04/03  3945
2143 창조
   (어디서본것같은데..)마우스 오른쪽버튼... [3]
이희창(빙고) 2006/02/27  4319
2142 창조
   *****궁금한 질문***** [3]
창조ⓕⓐⓝ 2003/01/29  3754
2141 창조
   *.mdb 파일에 관해~ [1]
청송 2005/12/06  2960
2140 기타
   *.rar 파일이 읽어지지 않아요~ [5]
성인e 2005/11/02  4877
2139 창조
   *.reg 파일을 ㅎ메모에서 읽어들이려면...;;;; [11]
바람 2009/02/25  4057
2138 창조
   , 대신 * 문자로 바꾸기 [2]
날아라KTX 2015/10/11  3665
2137 창조
   -_- 지상현님이 루나 인터페이스 사용하는 것...
JYBSoft 2003/03/04  3557
2136 창조
   -_-; 어떻게 창틀무로 프로그래밍 하죠? [2]
황은수 2002/11/05  4681
2135 창조
   . [6]
.. 2010/07/07  4065
2134 창조
   .. [1]
.. 2009/10/18  3934
2133 창조
   ...
.. 2011/06/12  4295
창조
   00초전...이라는 조건을 만들려는데... [5]
박무진 2012/02/04  3439
LIST ALL   1 [2][3][4][5][6][7][8][9][10]..[87] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인