2009. 9. 20. 19:37



프로그래스 바를 활용한 쓰레드 예제 프로그램 입니다.
반복 횟수는 상단의 텍스트 상자를 활용해서 자유롭게~~~ 조절(?)이 가능합니다.

개발 환경
- Visual Studio 2005 (SP1)
- Windows Vista Home Premium K (32-bit)


내부 예제
- 스레드 생성 및 활용 (1개의 서브 쓰레드 생성)
- 쓰레드 중단 및 재개 (Pause 버튼과, Resume 버튼으로 제어)
- 실수 연산 및 결과를 소숫점 2째 자리 까지 잘라서 표현


메모
- 소스 내부에 주석이 달려있으며, 내용중 잘못된 부분 또는 버그가 존재 할수도 있습니다.

- 반복루프문 동작중에는 CPU점유율이 좀 높습니다.

- 이유는 잘 모르겠지만, 그 비주얼 스튜디오 디버깅 상태에서는 카운트 횟수가 올라가질 않더군요
  (Debug 폴더 안의 파일을 더블클릭 해서 실행 시키면 정상 동작 합니다.)

- 경고가 3개 있는데 아직 수정할 능력이 되지를 않네요 ㅎㄷㄷ
  suspend 1개, resume 2개 인데, 이거 쓰지 말고 다른 방법으로 하라는거 같은데 좀더 알아 봐야 되겠네요...

- [09/09/21] 패치에서 중단, 재개 기능은 쓰레드를 중단 시켰다가 새로이 초기화 해서 동작하는 방향으로 틀어버렸습니다.

- 변수는 전역변수 인지라 앞의 쓰레드가 하던 작업이 그대로 저장되어있다는 걸 이용한건데 이래도 되는건지...



수정
[09/09/21]
- 종료 관련 문제가 있어 Suspend와 Resume를 아예 빼버렸습니다 (-_-)

[09/09/20 - #2]
- 중단한 상태에서 종료시 프로세서가 계속 남아있는 문제를 수정하였습니다.



C# 접한지 얼마 안되는 초보 입니다. JAVA 책 보다가 갑자기 C# 할일이 생겨서 말이죠...
쓰레드 라는것을 처음 접하면서 책, 인터넷 뒤져가며 예제로 만들어 본 것인데...
고작 이거 하나 만들고 주말이 지나가 버렸네요 -ㅅ-;;

잘못된 부분 지적 환영합니다(^^)


주석부분, 제작자 부분 을 무단 수정하여 재배포 하는 일은 자제해 주시기 바랍니다.
Posted by 해비
2007. 12. 1. 19:58

MFC만 써오다가... 문득... 저건 뭘까... 싶은 생각에 그만...
Visual Studio 2005의 C# 으로 윈도우즈 어플리케이션을 작성해 보게 되는데...
사용자 삽입 이미지

















연습 내용 : 텍스트 박스 3개를 이용해서 2개에서 값을 입력받고, 그 값을 더해서 3번째 박스에 출력.

[컨트롤]
textBox1
textBox2
textBox3
button1

음... 처음 책도 없이... 그냥 시험삼아 단 한줄 코딩으로 써본 것이...

button1 클릭 이벤트안에 textBox1.Text = "1234";

그런데 코딩 후, 실제로 실행까지 되더니...
버튼을 누르는데 textBox1 에 "1234"가 출력되는것이 아닌가!!
순간... 이거 비베 명령어도 먹나... 싶었다... ㅎㅎ

그래서 이번에는...
textBox3.Text = textBox1.Text + textBox2.Text;
위 코딩의 결과는... 문자+문자 이다...
textBox1 에 "12"를 넣고, textBox2에 "34"를 넣으면... "1234"가 출력된다...
12+34 의 값이 출력될것이라는 예상을 깨긴 했지만...

자 그럼 이제 본격적으로 코딩을 시작 해보장...
사용자 삽입 이미지











버튼 클릭 이벤트 부분에서, 파란 상자 안에 있는 부분을 직접 코딩하면 끝~!!

컴파일 후 실행하면... 됨...


자, 그러나 한가지 문제가 존재 하는데...
눈치 챘는가?
숫자가 아닌 문자가 들어가면 오류가 난다는것...

그래서 숫자 이외의 문자가 포함되면 값을 0으로 간주하여 계산함으로써, 오류를 없애 보도록 하였다.

그리하여... 개정된 소스...

사용자 삽입 이미지














그리고 함수... IsNumeric() 를 추가해 줘야한다...
사용자 삽입 이미지

















함수는 버튼 이벤트 바깥에 바로 만들어도되고, 그 위에 적어도되고... 편한데로 하면 됨...
(물론 녹색 부분은 주석이므로, 입력할 필요는 없다)


아래... 소스파일 첨부...

Posted by 해비