김인구.구야 님이 쓰신 글 :
: 윈도우용에는 sound, nosound, delay 함수가 dos.h에 없네요...
:
: 이상하네... 왜 없지...???
:
: 윈도우에서는 이런게 필요없거나 다른게 있나봅니다.
예, 맞습니다.
예전 도스용 터보C 시절의 sound(), nosound(), delay() 함수는
하드웨어(포트)를 직접 제어하므로 지원하지 않습니다.
대신, windows.h를 인클루드하고 WIN32 API 함수를 쓰셔야 합니다.
delay() 대신에 Sleep()을 쓰시고,
sound() 처럼 특정 주파수를 지정하려면 PC 스피커를 직접 제어해야 합니다.
Windows9x에서는 인라인 어셈블리로 가능하고요,
WindowsNT/2000/XP 계열에서는 원칙적으로는 불가능합니다만,
가능하게 해주는 라이브러리가 있습니다.
C++Builder Q/A 게시판의 다음 글을 참고하세요.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=6822
그냥 단순하게 비프음을 내실 목적이라면,
가장 간단하게는 putchar()나 printf()등으로 '\a' 를 출력하시는 방법도 있고요,
또는 VCL의 Beep() 나 WIN32 API의 MessageBeep()를 써보세요.
PC 스피커 대신, 사운드카드로 WAV 파일을 플레이하는 것도 좋은 방법이라고 생각됩니다.
PlaySound() 함수를 WIN32 API 도움말이나 C++Builder Q/A 게시판에서 검색해보세요.
: 앙팡 님이 쓰신 글 :
: : 안녕하세요
: : 궁금한 것이 있어 이렇게 글을 올립니다..
: :
: : 다름이 아니라 borland c++3.1을 사용하고 있는데 대부분의 것은
: : 헤드파일을 include해주면 잘 돌아가는데
: : 유독 색과 소리에 관련된 헤더파일 예를 들어 dos.h conio.h만 자꾸
: : 선언 오류가 납니다..
: :
: : 아래에 예문이 있는데..
: : #include<dos.h>
: : void main()
: : {
: : sound(100);
: : delay(5000);
: : nosound();
: : }
: : 돌리면 sound , delay ,nosound 다 function '' should have a prototype.이란 오류메세지가 나옵니다..
: : 이걸 해결할 수 있게 도와주세요..
: : 빠른 시일내에 답장 부탁드립니다...
: :