달력

102022  이전 다음

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  


소스 및 프로그램 등록

추후 버튼 관련 부분 수정 예정.
Posted by 곰아리

댓글을 달아 주세요

윈도우 확장 스타일을 WS_EX_APPWINDOW를 주시면, TaskBar에 나타나고, WS_EX_TOOLWINDOW 속성을 주시면, 테스크 바에 나타나지 않습니다.


스타일을 변경해주면 된다.

Posted by 곰아리

댓글을 달아 주세요

<그림 1>

네이트온에 보면 싸이연동에서 사용하는 사용자 옆에 싸이버튼을 필요에 의해서 만들어봤습니다.
중점을 둬야 하는 부분은 OnKillFocus 와 GetFirstVisibleItem, GetNextVisibleItem 를 이용합니다.

아래 소스 코드 참조

버튼 동작은 OnCommand 에서 잡아서 처리 하면 됩니다.


Posted by 곰아리

댓글을 달아 주세요

트리컨트롤을 사용하는 경우 포커스가 아웃하는 경우 포커스가 아래와 같이 변경된다.
<그림 1>

OnKillFocus 를 이용하여 포커스 아웃시에도 선택된 아이템이 선택 되어 있도록 한다.
.... 헤더파일
public:
    afx_msg void OnKillFocus(CWnd* pNewWnd);

.... 소스파일

ON_WM_KILLFOCUS()

.... 중간 생략

void CTreeButton::OnKillFocus(CWnd* pNewWnd)
{
    //CTreeCtrl::OnKillFocus(pNewWnd);

    // TODO: 여기에 메시지 처리기 코드를 추가합니다.
}
위와 같이 코드를 변경하면 아래와 같이 된다.
<그림 2>

이와 같은 방식으로 선택되어 있는 상태로 가질 수 있다.
Posted by 곰아리

댓글을 달아 주세요

이번에는 break와 continue를 사용하는 방법을 알아 보도록 하겠습니다. 그런데, 이번에는 C와 동일하게 사용하기 때문에 간단히 설명만 하고 넘어 가도록 하겠습니다.

break : 말그대로 중단 하라는 명령어 입니다.
          for나 while문 수행중 특정한 값이 나오면 중지 할경우 사용을 합니다.

continue : 루프가 반복을 할때 건너 띄우고자 할경우 쓰입니다.
              만약 짝수가 오면 건너 띄워라 이런 식으로 됩니다..^^

자세한 설명은 첨부 하지 않도록 하겠습니다.^^
너무 간단하잖아요..^^

'프로그램메모 > SHELL SCRIPT' 카테고리의 다른 글

[SHELL] 함수 사용하기  (0) 2008.01.21
[SHELL] AND리스트 OR리스트 알아 보기  (0) 2008.01.21
[SHELL] CASE 문 사용하기  (0) 2008.01.21
[SHELL] 입력받기  (0) 2008.01.21
[SHELL] until문 사용하기  (0) 2008.01.21
Posted by 곰아리

댓글을 달아 주세요

우선 함수란?

함수란....^^  설명을 할려니 고민이 되네요..^^  하나의 덩어리라고 설명을 하면 될까요..^^  실행중에 불러서 쓰게 되죠..^^
그런데, 같은 일을 하는경우 똑같은 코딩을 2번 3번써야하는 경우가 있습니다.
그런경우에 아주 잘쓸수가 있습니다..^^
한번으로 2번 3번 쓰고 싶은 맘큼 쓸수가 있기 때문입니다..^^
프로그램을 구조화 하는데 정말 좋은 방법 입니다..^^

형식

function_name () {
    statements
}

이와 같은 형태로 구성이 됩니다..^^

예제

#!/bin/sh

test() {
   echo "This is Test!!"
}

echo "script starting"
test
echo "script ended"

exit 0

----------------------------------------
결과는 모두 아실것이라고 생각 하겠습니다..^^

이제 지역변수와 전역 변수를 애기를 하겠습니다.

변수는 앞서서 설명을 하였습니다...^^

예제
#!/bin/sh
sample="전역변수"

foo() {
       local sample="지역변수"
       echo "함수내부"
       echo $sample
}

echo "script starting"
echo $sample

foo

echo "script ended"
echo $sample

exit 0
-----------------------------------------------
sample라는 변수가 선언이되고 출력이 된 다음....
foo라는 함수안으로 들어가서 sample는 지역변수로 바뀌어 진후에 쓰이고 다시 돌아와 전역변수의 값으로 돌아 오게 됩니다..^^

결과가 궁금하시다구요..^^ 그럼 실행을 시켜 보시기 바랍니다..^^

결과
-------------------------------------------------
script starting
전역변수
함수내부
지역변수
script ended
전역변수
--------------------------------------------------
결과는 이와 같이 나오게 됩니다.
이해가 되시는지 궁금하군요..^^

그럼 이제 값을 반환 하는 방법을 알아 보도록 하겠습니다..^^

예제
#!/bin/sh
check () {
echo "당신의 이름이 $temp 입니까?"
while true
do
echo -n "당신의 이름이 맞습니까?"
read x
case "$x" in
[yY]*) return 0;;
[nN]*) return 1;;
*) echo "잘못된 입력입니다."
esac
done
}

echo "당신의 이름을 입력하세요"
read temp
if check "$temp"
then
echo "안녕하세요 $temp 방갑습니다."
else
echo "당신은 누구신가요?"
fi
exit 0
---------------------------------------------------
결과를 예측해보시기 바랍니다.

'프로그램메모 > SHELL SCRIPT' 카테고리의 다른 글

[SHELL] break와 continue 사용하기  (0) 2008.01.21
[SHELL] AND리스트 OR리스트 알아 보기  (0) 2008.01.21
[SHELL] CASE 문 사용하기  (0) 2008.01.21
[SHELL] 입력받기  (0) 2008.01.21
[SHELL] until문 사용하기  (0) 2008.01.21
Posted by 곰아리

댓글을 달아 주세요

조건문을 할경우 여러게의 if문으로 조건이 맞아야 실행할 경우가 있습니다.

이럴때에는 AND리스트나 OR리시트를 쓰면 됩니다.

AND리스트 : &&
OR리스트 : ||

이 연산자를 가지고 실행을 할수 있습니다.

형식

if [-f file_one] && echo "echo" && [-f file_two ] && echo "ddd"
then
   echo "^^"
else
   echo "T.T"
fi

이런식으로 가능합니다..^^

OR리스트

형식
if [-f file_one] || echo "echo" || [-f file_two ] || echo "ddd"
then
   echo "^^"
else
   echo "T.T"
fi

이와 같은 형식으로 사용이 가능합니다.

'프로그램메모 > SHELL SCRIPT' 카테고리의 다른 글

[SHELL] break와 continue 사용하기  (0) 2008.01.21
[SHELL] 함수 사용하기  (0) 2008.01.21
[SHELL] CASE 문 사용하기  (0) 2008.01.21
[SHELL] 입력받기  (0) 2008.01.21
[SHELL] until문 사용하기  (0) 2008.01.21
Posted by 곰아리

댓글을 달아 주세요

이번에는 CASE문을 사용하는 방법을 알아 보도록 하겠습니다.
말그대로 선택하는 문 입니다..^^

형식
case variable in
  pattern [ | parrern] ....) statements;;
  pattern [ | parrern] ....) statements;;
  ...
esac

이와 같은 형식을 가지고 있습니다..^^

여기서 패턴이 끝날때 이중 세미콜론(;;)을 사용하게 됩니다.

예제
#!/bin/sh

echo "당근을 좋아 하나요?(yes/no)"
read temp

case "$temp" in
   yes) echo "당근을 좋아 하시군요..^^";;
   no) echo "당근을 싫어하시군요! 그런 어떤 야채를?";;
   *) echo "yes 아니면 no로 답을 해주세요";;
esac

exit 0

-------------------------------------------------------
이런 식으로 구성이 됩니다..^^

그럼 여러패턴을 사용하는 방법을 알아 보도록 하겠습니다.

예제
#!/bin/sh

echo "당근을 좋아 하나요?(yes/no)"
read temp

case "$temp" in
   yes | y | YES | Y) echo "당근을 좋아 하시군요..^^";;
   n* | N*) echo "당근을 싫어하시군요! 그런 어떤 야채를?";;
   *) echo "죄송합니다. 정확히 입력해주세요!";;
esac

exit 0

-------------------------------------------------------
이와 같이 구성을 하여 사용할수 있습니다..^^

이것에서 [yY] | [Yy] 이와 같은 형태로 만들수도 있습니다.

그럼 이제 여러 문장을 실행 하는 방법을 알아 보도록 하겠습니다.

더할껀지 뺄건지 확이해서 계산하는 프로그램을 작성 해보도록 하겠습니다..

예제
#!/bin/sh

echo "두수는 덧셈인지 뺄셈인지 선택하세요"
read val
echo "첫번째 수를 입력하세요:"
read first
echo "두번째 수를 입력하세요:"
read sec

case "$val" in
   +) echo `expr $first + $sec`
       echo "입니다";;
   -) echo `expr $first - $sec`
       echo "입니다.";;
   *) echo "잘못된 연산자 입니다.";;
esac
---------------------------------------------
아주 간단한 스크립트 입니다.^^

case문에 대하여 이해를 하셨는지 궁금하군요..^^

'프로그램메모 > SHELL SCRIPT' 카테고리의 다른 글

[SHELL] 함수 사용하기  (0) 2008.01.21
[SHELL] AND리스트 OR리스트 알아 보기  (0) 2008.01.21
[SHELL] 입력받기  (0) 2008.01.21
[SHELL] until문 사용하기  (0) 2008.01.21
[SHELL] while 문 사용하기  (0) 2008.01.21
Posted by 곰아리

댓글을 달아 주세요

C 같은 scanf로 하여 입력을 받게 됩니다..^^

SHELL도 프로프트 상에서 입력을 받을수 있습니다...^^

어떻게 받는지 알아 보도록 하겠습니다..^^

예제
#!/bin/sh

echo "이름을 입력하세요..: "
read name
echo "당신의 이름은 $name 입니다."

--------------------------------------------------
아주 간단한 프로그램 입니다.

그럼 두수를 입력 받아 덧셈을 하는 프로그램을 만들어 보도록  합시다..^^

예제
#!/bin/sh
echo "첫번째 수를 입력하세요:"
read temp
echo "두번째 수를 입력하세요:"
read temp2

echo `expr $temp +  $temp2`
-------------------------------------------
아주 간단하게 두수를 더하는 스크립트를 만들수 있습니다.

간단하게 입력을 받을수 있습니다.

그러나, SHELL은 이와 같이 사용자에게 입력을 받는일은 그렇게 많지 안습니다.

'프로그램메모 > SHELL SCRIPT' 카테고리의 다른 글

[SHELL] AND리스트 OR리스트 알아 보기  (0) 2008.01.21
[SHELL] CASE 문 사용하기  (0) 2008.01.21
[SHELL] until문 사용하기  (0) 2008.01.21
[SHELL] while 문 사용하기  (0) 2008.01.21
[SHELL] for를 사용  (0) 2008.01.21
Posted by 곰아리

댓글을 달아 주세요

until문은 while문과 동일합니다..^^

그러나, while문 조건이 반대가 됩니다.
while 루프와 매우 비슷하지마, 테스트 조건이 반대이다. 다시 말해 루프는 조건이 참인 동안이 아니라 참이 될때까지 계속 한다.

until문은 어떤 결과가 발생할 때까지 계속해서 반복하기 원하는 경우에 적합핟. 예를 들어, 우리가 명령 라인에서 입력한 로그인 이름을 다른 사용자가 이용한 때 동작하는 경보를 설정 할수 있다.

그럼 한번 맹글어 봅시다..^^

예제
#!/bin/sh

until who | grep "$1" > /dev/null
do
    sleep 60
done

#경고음을 내고 사용자게 알려준다.

echo -e \\a
echo "***** $1 has just logged in *****"

exit0
-----------------------------------------------------
이렇게 프로그램을 맹글수 있습니다.

쉘은 이런 목적으로 사용합니다..^^

'프로그램메모 > SHELL SCRIPT' 카테고리의 다른 글

[SHELL] CASE 문 사용하기  (0) 2008.01.21
[SHELL] 입력받기  (0) 2008.01.21
[SHELL] while 문 사용하기  (0) 2008.01.21
[SHELL] for를 사용  (0) 2008.01.21
[SHELL] IF문의 예제...  (0) 2008.01.21
Posted by 곰아리

댓글을 달아 주세요