블로그 이미지
settler12

Notice

Recent Comment

Recent Trackback

Archive

calendar

        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
  • 73,982total
  • 0today
  • 6yesterday
2013.04.12 10:27 Etc
posted by settler12
2012.12.28 14:50 Development/MATLAB

MATLAB의 figure window를 full screen으로 만들어 주는 함수들...


방법1.

crsz = get(0,'ScreenSize');

figure('Position', crsz);

 


방법2.

figure('units','normalized','outerposition',[0 0 1 1])



-----------------------------------------------------------------


데이터를 찍을때 figure 하나에 부드럽게 업데이트하는 방법 

drawnow!!

posted by settler12
2012.12.14 21:09 Development/MFC

1. 경고 레벨을 달리해서 컴파일하기.
#pragma warning( push, 3 )
#include "myinclude.h"
#pragma warning( pop )

이렇게 하면 전체의 프로젝트 warning level 이 4이더라도, myinclude.h 만 warning level 3으로 컴파일된다고 하네요.  ( 저런거 보면 #pragma 를 디게 잘만든거같기도 합니다.  어떻게 저렇게 다양한 용법으로, 쓰기 쉽게 만들었을까 하는 생각도).


2. warning 끄는거.
#pragma warning (disable : 4244 )

C4244번 possible loss of data 경고를 끄는 것입니다.


3. console 창 띄우기
#pragma comment ( linker, "/entry:WinMainCRTStartup /subsystem:console" )

프로젝트의 옵션에서도 할 수 있는데, 옵션 조절보다는 이게 편할때도 있습니다.

4. 라이브러리 링크
#pragma comment ( lib, "MyLlib.Lib" )

이것도 옵션에서 하는 것 보다 전 이게 더 나아보이네요.



-------------------------------------------------------------------------------------------------------------


MFC환경에서 콘솔창을 이용한 Deubgging방법


다음과 같은 명령을 추가하면 된다.
(이 방법 말고도 직접 프로젝트 설정가서 하는 방법도 있다.)

유니코드 환경에서는 다음과 같은 명령을

#pragma comment(linker, "/entry:wWinMainCRTStartup /subsystem:console")


멀티바이트 환경에서는 다음과 같은 명령을 추가하면 된다.

#pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console")


w는 아마도 wide의 약자가 아닐까 싶다.  

entry의 함수가 문자집합(유니코드,멀티)와 맞지 않으면 링커 에러를 일으키게 된다.

#ifdef _DEBUG
 #ifdef UNICODE
  #pragma comment(linker, "/entry:wWinMainCRTStartup /subsystem:console")
  #else 
  #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console")
 #endif
#endif

이런식으로 아예 해놓는것도 나쁘지 않겟다. ㅋ



쓸때는 printf를 이용하여 쓰기!!

posted by settler12
2012.03.13 15:21 Etc

아웃룩을 이용한다면, 유용한 팁일듯...
가끔 새로운 메일을 작성하고자 할때,
아웃룩 누르고 세메일 누르고 여러번의 작업이 필요로 한다...
근데 html 코드를 조금만 응용하면 이메일을 보내는데 있어 몇번의 클릭질을 덜수 있다.

그것은 바로가기에 mailto라는 명령어를 사용하면 된다.

Mailto 관련 문법 HTML문법
 <a href="mailto:aaa@gmail.com">mail_to_aaa_Gmail</a>

요로코롬 쓸수가 있다.... 여기에 제목이나 등등 몇가지 옵션을 더하여 사용할수도 있다.
&cc=...       : 참조
&bcc=...      : 숨은 참조
&subject=... : 제목 추가할때 사용
&body=...     : 내용추가

예제를 보게되면 아래와 같다.
example)   <a href="mailto:aaa@gmail.com&cc=ggg@gmail.com&subject=aaa">mail_to_aaa_Gmail</a> 

위의 글은 MySoul님이 작성하신 내용을 조금 변형한 내용입니다.
(http://www.cyworld.com/idle_lazarus/9102989)

자 그렇다면...이제 바탕화면의 아이콘 같이 만들어서 더블클릭만으로 이메일을 보낼수 있는 창을 띄보도록 하자..
이미 다들 감이 왔을 것이다...

바로가기 아이콘을 마우스 우클릭을 통해 만든다...


그리고  항목 위치 입력(T)란에
     mailto:aaa@mgail.com&ccggg@gmai..com&subject=aaa

요로코롬 치고 아이콘을 만들면... 바로 나온다. 
posted by settler12
2011.07.18 13:55 Development/MFC
 누수된 메모리의 주소가 있을경우에 사용 가능한 방법
#ifdef _DEBUG
#define CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <ctrdbg.h>
#endif

WinMain()함수에 _CrtDumpMemoryLeaks(); 함수 콜

위와같이 셋팅한다음에
debug모드로 실행 후 종료 한다.

그러면 아래와 같은 형태의 메모리 누수 메시지가 출력된다.
---------------------------------------------------
Detected memory leaks!
Dumping objects ->
{57} normal block at 0x003E5D38, 36 bytes long.
Data: <           > 00000000000000000000000000000
...
Object dump complete
---------------------------------------------------
 
1. 57이란 숫가자 메모리 누수 발생된 프로그램의 주소값이다. 아래의 함수를 이용하여 위치에서 중단점을 멈추게 한다.
_crtSetBreakAlloc(56);

2. visual studio에 있는 기능을 이용한 검색 방법
 Ctrl+B를 누르게 되면 새 중단점에서 함수(F)라는 항에  '0x003E5D38' 주소를 넣어 멈추게 하여 누수되는 위치를 찾는다.
posted by settler12
2011.05.25 21:42 Development

bat(배치)파일 문법
일괄처리(Batch) 파일 #1

1.배치파일(Batch File, 일괄처리용 화일)

1.1. 배치파일?
Batch(배치)는 '한 묶음','한벌'의 의미하며, 배치파일은 여러 가지 명령어를 한 파일에 모아 작업하는 파일, 즉 하나의 일을 처리하기 위해 여러번 내리는 명령어를 한 번만에 처리할 수 있도록 만들어 놓은 실행파일이다.

① 확장자 이름은 반드시 'BAT'이어야 한다.
② 파일명은 도스의 내부명령어 이름을 피하라.
③ COM, EXE 파일의 이름을 피하라.

④ 명령어 이름이 서로 같아 충돌할 때, DOS는 도스키-->내부명령-->외부명령( *.COM-->*.EXE)-->*.BAT) 순으로 실행한다.

다만 '파일명.BAT'라고 확장자 이름까지 써서 명령을 내리면 이런 문제는 해결된다.

⑤ BAT파일은 표준 ASCII 문장(Text) 파일이어야 한다.


1.2. BAT파일 만드는 방법.
일반 도스 명령어와 배치전용 명령어를 사용하여 다음의 3가지 방식을 사용하여 아스키 문장파일 형식으로 만든다.

① COPY명령사용 .... C:\>COPY CON XXXX.BAT
② 문서편집기 이용 ... 'EDIT', 'SAN'
③ 문서 작성기(WordProcessor) .. 아래한글,훈민정음 등


작성 예①) C:\>COPY CON SAMPLE.BAT <엔터>
───── CLS
DIR A:
V3 C:
^Z
1 File(s) Copied

<설명1> COPY 명령을 사용하여 텍스트 파일 만드는 방법을 이용한다.
CON은 장치 파일명으로 여기서는 키보드를 지칭한다.키보드로 입력한 문자를 SAMPLE.BAT라는 파일명으로 복사.출력하라는 뜻이다.

입력한 배치 내용을 보면
화면을 깨끗이지우고(CLS), A드라이브의 파일목록을 보이라, 그리고 C 디스크에 바이러스 감염 여부를 점검.치료하라는 명령이다.

줄을 바꿀 때는 항상 엔터하면 된다. 끝낼 때는 언제나 Ctrl+Z 또는 F6키를 누르고 엔터하면 1개 파일이 복사되었다는 메시지가 나오면서 C루트에 SAMPLE.BAT란 파일이 1개 생긴다.

<실행> C:\>SAMPLE <엔터>하면 배치파일 내용 순서데로 명령을 실행한다.

-----

작성 예②) C:\>EDIT <엔터>

도스 편집기 화면이 뜬다. 이때 ESC키를 한번 눌러 메시지 상자를 제거하고 깨끗한 화면에다 첫째 줄부터 입력하되, 줄을 바꿀 때는 엔터한다.

CLS
DIR A:
V3 C:

끝내려고 저장글쇠(@F,S)를 누르면 파일이름을 써넣으라고 상자자 나온다. SAMPLE.BAT라고 입력하고 <엔터>하여 저장한 후, 에디트를 끝(@F, X)낸다.그러면 C루트 디렉토리에 SAMPLE.BAT 라는 배치파일이 생긴다.

<실행> C:\>SAMPLE <엔터>하면 C루트에 있는 SAMPLE.BAT 파일이 실행된다.


******* 배치파일 내용에 파일스펙 경로명을 쓸 때 주의점.****

ⓐ 배치파일 내용 중에
C:\GAME\SUPER\SUPER.EXE 라고 해놓으면

현재 도스 작업방을 바꾸지 말고 C:\GAME\SUPER\ 방에있는 SUPER.EXE를 실행하라는 뜻이기 때문에 경우에 따라서는 실행이 되지 않는다.

ⓑ 배치 내용을 아래와 같이 하면 틀림없이 실행하게 된다.
C:
CD\GAME\SUPER
SUPER

현재 도스작업방이 먼저 C드라이브로 바뀌고,절대경로명 CD\GAME\SUPER
디렉토리로 이동한 후에 SUPER.EXE 파일을 실행한다 ******


1.3.배치파일 명령어들

① 일반적인 도스명령를 그대로 사용한다.

CLS COPY DEL DIR DATE TIME PAYH PROMPT CHKDSK 등등.

② 배치에만 사용하는 전용 명령가 있다.
ECHO REM PAUSE CALL GOTO CHOICE IF FOR SHIFT
(메아리)(설명) (쉼) (부름) (가기) (선택) (조건)(순환) (옮김)


ⓐ REM
[베치파일 속에 달고 싶은 설명.주석]....설명이 화면에 나옴.

ⓑ PAUSE
배치파일 실행중 일시 멈추게함.
화면에 'Press any key to continue...'
(계속하려면 아무키나 누르세요)

배치실행을 중단하려면 Ctrl+C키를 누른다. 그러면 화면에
'Terminate batch job (Y/N)?'
(배치작업을 끝내겠읍니까?) Yes / No

ⓒ ECHO 명령
형식> ECHO 문자열
에코명령 다음에 오는 문자열을 화면에 나타낸다.

ECHO ON
이후부터 '명령어'라인을 화면에 보인다.(도스 초기값)

ECHO OFF
이후 실행되는 명령어 라인을 화면에 나타내지 않는다.
화면이 깨끗하고, 화면출력속도.가독성 증가한다.
'ECHO OFF'라는 그 자체까지 보이지 않게 하려면 @ 을 앞에 쓴
다.( @ECHO OFF )

ECHO
현재 ECHO ON/OFF 상태를 확인한다.


<예> C:\>COPY CON EDIT2.bat
ECHO OFF
이후에 실행되는 명령어는 화면에 나타나지 않는다.
화면에 ECHO OFF 자체는 나타난다.

TB
태백한글을 메모리에 상주 띄우기.
각자 지원되는 다른 한글코드(HANME,HT,DKBY 등)를
실행하면 된다.
한글도스인 때는 HBIOS.COM을 실행한다.

PAUSE
잠시 중지. 엔터하면 다시 진행한다.

CLS
화면청소

ECHO 'This is Hangul Edit.'
'문자열'을 화면에 출력한다.

PAUSE
REM NOW,DOS EDIT IS HANGUL EDITOR.

REM 다음에 오는 설명은 화면에 나오지 않는다. 다만
사용자가 배치파일 내용을 볼 때 참고할 내용이다.

ECHO ON
이후에 실행되는 명령어는 화면에 나타남

EDIT
도스 에디터 화면이 나오면 한글로 문서를 작성.저장한
후 끝낸다.

@ECHO OFF

이후에 실행되는 명령어는 화면에 나타나지 않는다.
ECHO OFF자체도 나타나지않음.

TB/U
태백한글 메모리서 제거한다.

CLS
^Z
CTRL+Z 또는 F6를 누른다.

1 File(s) Copied

실습을 위하여 일부러 여러가지 명령 종류를 써 보았으며,한글로 설 명을 하느라고 줄이 떨어졌으나 각자 실습할 때는 영문글자 부분만 쓰고 엔터하여 줄울 바꾸고 줄간격을 붙여가며 쓴다.

<실행 예> C:\>EDIT2 <엔터> 하면

위의 내용을 순서데로 실행하고 도스 문서편집기가 화면에 나타난다. 문서작성기를 끝내면 한글프로그램을 메모리에서 제거하고 도스로 나온다. (계속)


제14장 배치파일 #2 (계속)

1.4 배치파일 전용 명령에서
? 판단과 분기에 관한 명령 .... CALL, CHOICE, IF, GOTO

앞에서 공부한 배치파일의 경우는 입력된 명령어들의 순서데로 실행되었었지만, 판단과 분기의 명령들은 명령어의 실행의 흐름을 사용자가 임의로 변경,지정할 수있어 배치파일의 기능을 보다 강력하게 한다.

분기 명령..배치파일의 순차적 수행을 필요에 따라 변경할 때 사용하며
배치파일에 프로그램적 기능을 갖게하는 명령이다.

조건분기(Conditional Branching).......IF명령

무조건분기(Unconditional Branching)...GOTO명령

① CALL [배치파일 인자]

배치파일 실행 중 다른 배치파일을 도중에 호출하여 실행시키고 다시
원래 배치파일로 돌아오게 하는 명령이다.

<예> H1.BAT의 내용이 'DIR C:\ > A:MDIRLIST.TXT' ( C루트의 파일목
록을 A드라이브에 MDIRLIST.TXT 란 파일로 출력하라) 이라고 하자.

C:\>COPY CON H2.BAT
CALL H1.BAT
TYPE A:MDIRLIST
^Z

<실행> C:\>H2 엔터하면 H1.BAT란 배치파일을 불러(CALL) 실행하여 MDIRLIST.TXT 파일을 A드라이브에 만든 후, 다시 H2.BAT 파일로 돌아와서 A드라이브의 'MDIRLIST.TXT' 파일을 화면에 타이프해 보인다.


② IF 조건

주어진 조건에 따라 명령을 선별적으로 선택.실행케 하는 명령이다.

IF EXIST [파일이름] [명령]
찾는 파일이 존재하면 명령을 실행하라

IF NOT EXIT [파일이름] [명령]
찾는 파일이 없으면 명령을 실행하라

<예> IF EXIST *.BAK DEL *.BAK
BAK라는 백업파일이 있으면 모두 지워버리라.


IF [NOT] "문자열1" == "문자열2" [명령]
"문자열1"과 "문자열2"가 서로 일치 [불일치] 하면 명령을 실행하라. (양쪽 비교 문자열의 영문 대소문자를 구분한다)
==은 EQ로, !=은 같지 않다는 부호인데 NE로 대신할 수 있다.
문자열은 " " 으로 반드시 구분하고 부호와는 한 칸 띈다.

<예> C:\>COPY CON TEST1.BAT
@ECHO OFF
IF "%1" == "A" ECHO TESTING A
IF NOT "%1" == "A" ECHO IT IS NOT EQUAL.
^z

<실행> C:\>TEST1 A 엔터하면 화면에 TESTING A 라고 표시한다.
C:\>TEST1 C 엔터하면 A와 같지 않으므로 IT IS NOT EQUAL 라고 표시한다.

IF [NOT] ERRORLEVEL [값] [명령]
IF명령 바로 앞에서 수행되었던 프로그램이 수행을 마치면서 남긴 종료코드(ExitCode)를 검사하여 지정 값보다 크면(작으면) 명령을 실행하라는 뜻이다.

종료코드를 발생하는 명령어(FORMAT,XCOPY,COPY,BACKUP,RESTORE 등 일
반 도스명령어들 메뉴얼 참조)들은 0~255 범위에서 종료코드(EXITCODE)
값을 가지는데
에를 들면 XCOPY명령에서 성공적 수행일 때는 0, 화일이 없을 때 1, CTRL+C로 중단하면 2, 초기화 오류발생 때는 4, 디스크 에러에는 5를 반환하는 식으로 정해저 있다.

예> C:\>COPY CON XY.BAT
XCOPY %1 A:
IF NOT ERRORLEEVEL 0 ECHO COPY FAILED !
IF ERRORLEVEL 0 ECHO SUCCESSFULLY !
^Z

실행> C:\>XY *.* 엔터하면 성공적 수행여부에 따라 'FAILED !' 또는
'SUCCESSFULLY !' 라는 메시지가 나온다.

③ GOTO [레이블이름]
레이블 이름이 있는 행으로 실행 순서를 옮긴다.
'레이블(Label)'은 8자이 내로, 레이블 앞에는 콜론(:)을 사용한다.

<예> 현재 디렉토리에 *.HWP 파일을 C:\HNCDOC 디렉토리로 옮겨주는
배치파일을 만들어 보자.

C:\>COPY CON HWPMV.BAT
@ECHO OFF
IF NOT EXIST *.HWP GOTO FIRST
MOVE /-Y *.HWP C:\HNCDOC
ECHO HWPFILE MOVE DONE !
GOTO END
:FIRST
ECHO *.HWP FILE NOT FOUND !
:END
^Z

실행> C:\>HWPMV 엔터하면 C루트 디렉토리에 있는 모든 HWP 파일을 C:\HNCDOC 디렉토리로 옮기고 'HWP 파일을 모두 옮겼다'는 메시지를 화면에 보이고 END(끝) 레이블로 와서 도스상태로 빠저나 온다. 옮길 HWP 파일이 없으면 ' HWP 파일을 찾지 못했다'는 메시지가 나오고 끝(END) 낸다.

GOTO 문에서는 항상 END 레이블로 배치를 끝낸다.

배치 안에서 COPY,XCOPY,MOVE 명령은 /-Y 스위치를 써야 만이 목적지에 같은 이름의 파일이 있을 경우 덮어 쓸지여부를 확인하는 메시지를 출력한다.

④ 의사변수(Dummy Variables 가상의 변수)

바꿔 쓸 수 있는 인자(Replaceable Parameter)를 의사변수라 하며,
%0 ~ %9(10개)으로 표시한다.

형식> C:\>명령어 파일1 파일2 " " " " " " 파일9
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

작성예1> C:\>COPY CON DIRALL.BAT
DIR %1
pause
DIR %2
pause
type %0
^Z

실행예> C:\>DIRALL A: B: (엔터)

설명> 위 '실행 예'에서 명령어 DIRALL(.BAT)은 %0, A:은 %1, B:은 %2 에 해당하므로 '작성예1'의 내용 중 %1,%2,%0에 대입하여 명령을 수행한 결과가 화면에 나오게 된다. 즉 화면에는 'DIR A:'과, 'DIR B:'이 차례로 출력되고 멈췄다가 'DIRALL.BAT' 파일 내용이 출력된다.


작성예2> C:\>COPY CON EDIT2.BAT
@ECHO OFF
CLS
TB .....tb라는 프로그램을 메모리에 설치
EDIT %1 ......%1은 '지정 파일'로 대체된다.
TB/U .......태백 한글을 메모리에서 제거
^Z

실행예> C:\>EDIT2 SAMPLE.TXT (엔터)
%0 %1

설명> 위 '실행예'에서 명령어(EDIT2.BAT)는 %0, 파일1(SAMPLE.TXT)은 %1 에 해당하므로, '작성예2'의 배치파일 내용중 %1 대신에 SAMPLE.TXT라는 텍스트 파일이 대입된다.

화면은 한글을 읽고 쓸 수 있도록 태백한글을 메모리에 상주시킨다. 편집기는 SAMPLE.TXT 라는 파일을 읽어 화면에 띄워 수정.삽입 등 편집하고 저장할 수 있다. 편집을 끝내면 한글코드가 메모리에서 제거된다.


⑤ SHIFT

쉬프트는 옮김,변위를 의미하는 데 10개 이상의 대체 인자(Replaceable
Paramete)도 사용 가능하다. 대체인자를 한 자리씩 왼쪽으로 이동한다.

작성예> 지정한 문장(text) 파일들을 차례로 TYPE시키는 배치파일 예.

A:\>COPY CON TELLME.BAT
@ECHO OFF
:BEGIN
IF NOT EXIST %1 GOTO END
TYPE %1
SHIFT
GOTO BEGIN
:END
ECHO 더이상 파일이 없습니다.
^Z

실행예> A:\>TELLME AAA.TXT BBB.TXT CCC.TXT ......... 엔터
%0 %1 %2 %3 ........%15

설명> 위 '실행예'의 텍스트 파일명은 특정해야 하며 Wildcard문자(*,?)는 사용할 수 없다. 지정된 여러 파일들에 %1 변수가 차례로 SHIFT(변위)되면서 파일을 대입시켜 내용을 출력한다.
즉 AAA.TXT가 먼저 %1이 되고, 다음 BBB.TXT, 또 CCC.TXT, .....등이 %1에 대입된다. 계속 10개 이상의 변수도 지정할 수 있다.

지정된 파일이 모두 옮겨 대입되고 나면 배치파일이 끝나게 된다. 배치파일 내용 중 GOTO 명령에서 BEGIN 레이블로 가서 다시 시작하게하는 것을 LOOP(고리)라고 한다.


⑥ FOR
FOR 명령은 지정된 횟수 만큼 배치파일이 같은 명령을 계속 반복하게하는 명령, 즉 반복수행 (Looping) 명령이다.

형식) FOR %%변수 IN (셋트 파라미터) DO [명령어] %%변수

'(셋트 파라미터)'는 일련의 많은 갯수의 파일들을 말하고, '%%변수'는 SET에 명시된 각 파일에 순차적으로 설정되어 명령을 실행하는 대입변수이다.

셋트 파라미터에 와일드카드문자(*,?)를 사용할 수 있다.

작성예> 확장명이 BAT,DOC,TXT,CAP인 문장 파일 모두를 차례로 화면에 출력(TYPE)되게 배치파일을 만들어 보자.

C:\> COPY CON TYPEALL.BAT
FOR %%Z IN (*.BAT *.DOC *.TXT *.CAP) DO TYPE %%Z
^Z

<실행> C:\>TYPEALL C:\MDIR\*.BAT 엔터

(*.BAT, *.DOC, *.TXT, *.CAP 중에서 한 종류 파일만 지정한다.)

위 TYPEALL.BAT 파일을 실행할 때는 파일스펙(경로특정)이 있어야 한다.


2. 자동형 배치파일 (Aautoexec.bat)

일반배치파일 만들기와 동일하며 다만 이름만 AUTOEXEC.BAT로 한다.

컴퓨터를 구입할 때 이미 작성되어 있으므로 그 내용만 자기 필요에 따라 변경하면 될 것이다. 만약을 위해 원본 파일을 다른 곳에 백업해 놓고 필요시 다시 복사하면 좋을 것이다.

<작성예> C:\>COPY CON AUTOEXEC.BAT
@ECHO OFF
CLS
SMARTDRV
LH V3RES
PROMPT $P$G
PATH=C:\;C:\DOS;C:\MDIR;C:\V&P
LH DOSKEY
M
^Z
1 FIle(s) Copied

① 컴퓨터가 부팅할 때 DOS 시스템 프로그램을 메모리에 상주시킨 후
곧 바로 자동실행 배치파일의 내용의 명령들을 실행한다.


아래 링크 출처 -- http://naver.com/mokomoji

배치화일로 파일 내에 문자쓰기
http://blog.naver.com/mokomoji/130001367333

배치파일로 폴더 내의 여러 파일을 각각 압축하기
http://blog.naver.com/mokomoji/130001367394

배치화일 수동 초이스 만들기
http://blog.naver.com/mokomoji/130001367431

html 배치화일 특수문자 해결
http://blog.naver.com/mokomoji/130001367445

배치화일 명령어
http://blog.naver.com/mokomoji/130001367473

[본문스크랩] 네트워크 드라이브 자동 연결하기
http://blog.naver.com/mokomoji/130003167299

[본문스크랩] IP 자동 변경 스크립트
http://blog.naver.com/mokomoji/130003167289

[본문스크랩] 반복적인 ip 변경은 Bat 파일을 이용하여 간단하게
http://blog.naver.com/mokomoji/130003167083

[펌] 윈도우 콘솔 명령어들
http://blog.naver.com/mokomoji/130001368352

배치파일로 폴더 내의 여러 파일을 각각 압축하기
http://blog.naver.com/mokomoji/130001367394

폴더 분기
http://blog.naver.com/mokomoji/120019472999

[펌] 날짜 및 시간 얻어오기 배치파일
http://blog.naver.com/mokomoji/120016354197

배치화일 오늘날짜 폴더 생성
http://blog.naver.com/mokomoji/120014798527

배치화일 bat 화일 자동처리 1
http://blog.naver.com/mokomoji/120014798176

posted by settler12
2011.03.17 15:47 Development
이책을 또보게 되는군..
예전에 음성 입력받기 위해서 간단하게 소스를 복사한수 encapsulation햇는데..
이제는 spectrogram을 구현하기 위해 여기저기 소스코드를 찾아보던중에
갑자기 이 책이 생각나서 뒤져보니...
으흐흐흐흐흐흐
역시 있더구나^^;;

책이 오래되고 절판이 된 상태이다보니
현재는 소스코드를 공유해주던 사이트가 없어져버렸따.
네이버에서 찾아보니 어떤 착한분이 다 올려주셨더라고~ㅎㅎ
예전에도 받아논거 같은데 혹시 나중에 또 필요할것 같아서
여기다가 올려놔야 겠따~~ㅎㅎ 



 

posted by settler12
2010.06.18 19:40 Development/Error

http://blog.naver.com/ahnshy?Redirect=Log&logNo=110078289918
posted by settler12
2010.03.03 20:29 Development/MFC

 

 

BOOL GetClientRect( LPRECT lpRect );

 

클라이언트의 작업 영역의 크기를 구해준다.

흠... 화면 안의 KeyMove라는 클라이언트 안의 하얀 부분..의 크기..

즉..

CRect Rect;

GetClientRect(Rect);

초기값(c1)은 항상

Rect.top=0

Rect.left=0이며

right, bottom

는 클라이언트 영역의 끝...좌표..즉 클라이언트 윈도우의 크기이다.
KeyMove라고 써져 있는 static형 차일드 윈도우의 좌표는 GetClientRect기준으로 봤을때
c2(Rect.left=x2-x,Rect.top=y2-y)에서 c3(Rect.right=x3-x  ,Rect.bottom=y3-y)까지 이다.
 
 
GetWindowRect()
 
윈도우의 현재 위치와 크기를 바탕화면(모니터 화면) 기준으로..표시 한다.
C1의 좌표는 GetClientRect함수 기준으로 봤을때 항상 0,0이지만
GetWindowRect함수를 기준으로 봤을때
C1의 좌표는 x,y가 된다.
 
ScreenToClient(lpPoint)
 
 CPoint ptChild;
 CRect Rect;
 
 m_WndChild.GetClientRect(&Rect);
 ptChild.x=Rect.left;
 ptChild.y=Rect.top;
 ScreenToClient(&ptChild);
 
모니터화면 원점을 기준으로 하는 좌표 lpPoint를 윈도우의 작업 영역을 기준으로 하는 좌표로 변환한다.윈도우의 작업 영역 원점의 화면 좌표가 x, y일 때 lpPoint는 lpPoint.x - x, lpPoint - y로 변환된다. GetCursorPos, MoveWindow, GetWindowRect 등과 같이 화면 좌표를 리턴하는 함수로부터 작업 영역의 좌표로 변환하고자 할 때 이 함수를 사용한다.
 
SetWindowPos()
 
윈도우의 좌표를 지정 한다.
m_WndChild.SetWindowPos(
&CWnd::wndTop,
ptChild.x,ptChild.y,
0,0,
SWP_SHOWWINDOW|SWP_NOZORDER|SWP_NOSIZE);
 
BOOL SetWindowPos(
     const CWnd* pWndInsertAfter,
     int x,     int y,
     int cx,     int cy,
     UINT nFlags
);
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Z-order                                         의미
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
wndBottom                                | Z-order 를 최하위로 합니다.
wndTop                                    |Z-order 를 최상위로 합니다.
wndTopMost                             |Z-order 를 최상위로 하고 시스템 윈도우 속성을갖는다.
wndNoTopMost                         |일반 윈도우중 최상위 윈도우가 되도록 한다.
──────────────────────────────────────────
posted by settler12