полнить
или в любом файловом менеджере, на-
if (min=1)or(min=2) then res_[length(res_)-1]:=
пример, в Total Commander):
inttostr(min)+’m’; //одна,две
brcc32.exe taudio.ro Іаїкііо.гев
Результатом данных манипуляций станет ском-
пилированный файл ресурсов Іаїкііо.гев, который
мы и подключим к проекту:
($Я аисііо2\д0. гее}
а а а
Теперь перейдем к формированию массива фраз
из речевых фрагментов. Как теперь достучаться до
звуковых фрагментов
в
ресурсе? Для
этого
вос-
пользуемся АРІ функциями ЯігкІЯезоигсеО, Ьоагі-
ЯеБоигсеО и вікіРІауБоигкІО. Реализация подоб-
ного подхода представлена в коде:
а ■ •
5пбРІау8оипсІ(№а«еРоіпІег,5ПСІ_Метогу ОЯ Б^аЗУМС);
// и формирование фразы
//3-20
if (min<21)and(min<>1)and(min<>2) then res_[length(resj-1]:=
inttostr(m
in);
//21-59
if min>20 then begin
//30 40 50
res_[length(res_)-1]:= inttostr(trunc(min/10)*10); //десятки
//20+1 - 20+9.
..
setlength(res_,length(res_)+1 );
if (min-trunc(min/10)*10=1)or(min-trunc(min/10)*10=2) then
res_[length(resj-1]:= inttostr(min-trunc(min/10)*10)+’m’; //1-2
if (min-trunc(min/10)* 10<>0)and(min-
trunc(min/10)*10<>1)and(min-trunc(min/10)*10<>2) then
res_[length(res_)-1 ] := inttostr(min-trunc(min/10)* 10)
©
©
©
Х акер
- эт о програм -
мист с большой дороги.
procedure speektxt;
var hour,m
in: integer;
temp: string;
begin
temp:=
formatdatetime(‘hh:mm’,time);
hour:= strtoint(temp[1 ]+temp[2]);
m
in := strtoint(temp[4]+temp[5]);
setlength(res_,1);
// часьі-
if (hour=1 )or(hour=2) then
res_[length(res_)-1]:=
inttostr(hour)+’h’; //один, два
if
(hour<21 )and(hour<>1 )and(hour<>2)
then res_[length(res_)-1]:=
inttostr(hour);
if hour>20 then begin
res_[length(res_)-1]:= ‘20’;
В
принципе,
ча-
сы мож но сделат ь
end;
// слова-
»
:• :
. ч : •
setlength( res_, length (res_)+1
);
//1 21 31 41 51
if (min=1 )or((min-
trunc( min/10)* 10= 1
))and(min<>11)
then res_[length(res_)-1]:= ‘mini’;
//минута
//2 3 4 22 23 24 32 33 34 42 43 44
52 53 54
if (min=2)or(min=3)or(min=4)or
(((min-trunc(min/10)* 10=2)or(min-
trunc(min/10)* 10=3)or(min-
trunc(min/10)* 10=4))and(min>14))
then res_[length(res_)-1]:= ‘min2’;
//минуты
//5-20 25-30 35-40 45-50 55-59
if ((min>4)and(min<21 ))or
((min>24)and(min<31 ))or
((min>34)and(min<41 ))or
setlength(res ,length(res_)+1 );
((mm>44)and(min<51 ))or
if (hour=21 )or(hour=22) then res_[length(resj-1]:= mttostr(hour-
20)+’h’;
if (hour>22) then res_[length(res_)-1]:= inttostr(hour-20)
end;
// слова-
setlength(res_,length(res_)+1);
if ((hour=1 )or(hour=21)) then res_[length(res_)-1]:= ‘hr1 ’; //час
if
((hour=2)or(hour=3)or(hour=4)or(hour=22)or(hour=23)or(hour=24))
then res_[length(res_)-1]:= ‘hr2’; //часа
if ((hour>4)and(hour<21))or(hour=0) then res_[length(res_)-1]:=
‘hrs’; //часов
// минуты-
setlength(res_,length(res_)+1);
/ / 1 2
((min>54)and(min<60))or(min=0)then res_[length(res_)-
1]:= 'mins’ //минут
end;
Процедуру проверки времени и про-
говаривания назначим на таймер:
(У)
кэ
еэ
procedure TItf.tsndTimer(Sender: TObject);
var s
: string;
mr,mv: integer;
begin
// замена activate
if (sp4.Checked)and(first) then voice.speek; first:= false;
С вобода об-
мена ин-
формацией
не есть
право га -
дить в чу-
ж ой поч-
товый
ящик.
s:=formatdatetime(‘hh:mm:ss’,time);
if (see) then to_dsk(s,clwhite); //уменьшаем нагрузку CPU
предыдущая страница 46 Компьютер 2010 09 читать онлайн следующая страница 48 Компьютер 2010 09 читать онлайн Домой Выключить/включить текст