병신같이 1 부터 숫자 하나씩 전부 녹음하다가 만든 함수...죽고싶은 심정...
(근데 소리는 그렇게 하나씩 녹음한게 확실히 자연스럽다... ... ...)
1 부터 9999 까지의 숫자를 소리로 출력할 수 있음.
일, 이, 삼, 사, 오, 육, 칠, 팔, 구, 십, 백, 천 을 알릴 수 있는 소리파일이 준비되어야 함.
첨부파일은 숫자가 녹음된 파일인데,
그리고 아래의 함수를 통해서 출력하면 됨.
무슨 ARS 간지 남.
procedure PlayNumberSound(No: Integer);
const
DIVISOR: array [0..2] of Integer=(1000, 100, 10);var
Path: String;
ResultInt: Integer;
i: Integer;begin// wav 파일이 모여사는 디렉토리Path:=ExtractFilePath(Application.ExeName)+'wav';// 천 단위부터 십 단위까지 출력for i:=0 to High(DIVISOR) do begin
ResultInt:=No div DIVISOR[i];
if ResultInt>0 then begin
if ResultInt>1 then PlaySound(PChar(Path+IntToStr(ResultInt)+'.wav'), 0, SND_SYNC);
PlaySound(PChar(Path+IntToStr(DIVISOR[i])+'.wav'), 0, SND_SYNC);
No:=No-(ResultInt*DIVISOR[i]);
end;
end; // for// 일 단위 출력if No>0 then PlaySound(PChar(Path+IntToStr(No)+'.wav'), 0, SND_SYNC);
end;
'Delphi' 카테고리의 다른 글
Delphi - Visual Component Library (0) | 2009.04.18 |
---|---|
Windows Data Type 과 Object Pascal Data Type (0) | 2009.04.18 |
[Delphi] 프로세스가 살아있는지 검사, 프로세스 죽이기 (0) | 2009.04.18 |
[Delphi] TPopupMenu 에 관하여 (0) | 2009.04.18 |
[Delphi] HTML 페이지의 태그 사이를 유랑하기 (0) | 2009.04.18 |