Текущий архив: 2011.05.22;
Скачать: CL | DM;
Вниз
Для тех кто хочет знать, какого пола их компьютер Найти похожие ветки
← →
Inovet © (2011-02-08 12:03) [40]> [39] clickmaker © (08.02.11 11:55)
> 5-5-2-5-2-2-2"
Это выражение, а вот это число
"999,999,999,999,999,999"
← →
Inovet © (2011-02-08 12:04) [41]После точки не хочет правильно читать.
← →
Inovet © (2011-02-08 12:07) [42]> [40] Inovet © (08.02.11 12:03)
> > [39] clickmaker © (08.02.11 11:55)
> > 5-5-2-5-2-2-2"
>
> Это выражение,
Номер телефона, а как же выражение прочитать?
← →
Anatoly Podgoretsky © (2011-02-08 12:18) [43]> Inovet (08.02.2011 12:07:42) [42]
Пять пять два два пять два два два
← →
Inovet © (2011-02-08 12:29) [44]> [43] Anatoly Podgoretsky © (08.02.11 12:18)
> Пять пять два два пять два два два
Нет, надо математическое выражение "Пять минус пять минус два минус два минус пять минус два минус два минус два"
← →
oldman © (2011-02-08 12:32) [45]
> Inovet © (08.02.11 12:29) [44]
"минус пятнадцать"
← →
AlexDn © (2011-02-08 12:33) [46]> Inovet © (08.02.11 11:39) [37]
> > [36] brother © (08.02.11 11:34)
> > > CreateObject("SAPI.SpVoice").Speak"23554465"
> >
> > афигеть!!!
>
> "Афигеть" уж слишком сильно, скорее неожиданно, но если
> подумать, то так и должно быть, что сложного-то,
а алгоритм то какой..!) ничего сложного. ну-ну..
← →
Inovet © (2011-02-08 12:40) [47]> [46] AlexDn © (08.02.11 12:33)
> а алгоритм то какой..!) ничего сложного. ну-ну..
Пользователи Fast Report периодически просили сделать такое, естественно для суммы прописью, так разработчики отвечали, что это языко-зависимо и логику локализации ради одной простой но зависимой от языка функции менять нет смысла, дескать возмите любую стороннюю и пользуйтесь.
Ничего сложного нет.
← →
Inovet © (2011-02-08 12:48) [48]Где-то так
enum Gender {genM, genF, genN};
void __fastcall NumSpell1(__int64 n, AnsiString &w, Gender g)
{
AnsiString s;
switch(n % 20)
{
case 1:
switch(g)
{
case genF: s = "одна"; break;
case genN: s = "одно"; break;
default: s = "один";
}
break;
case 2:
switch(g)
{
case genF: s = "две"; break;
default: s = "два";
}
break;
case 3: s = "три"; break;
case 4: s = "четыре"; break;
case 5: s = "пять"; break;
case 6: s = "шесть"; break;
case 7: s = "семь"; break;
case 8: s = "восемь"; break;
case 9: s = "девять"; break;
case 10: s = "десять"; break;
case 11: s = "одиннадцать"; break;
case 12: s = "двенадцать"; break;
case 13: s = "тринадцать"; break;
case 14: s = "четырнадцать"; break;
case 15: s = "пятнадцать"; break;
case 16: s = "шестнадцать"; break;
case 17: s = "семнадцать"; break;
case 18: s = "восемнадцать"; break;
case 19: s = "девятнадцать"; break;
}
if(!w.IsEmpty() && !s.IsEmpty()) w += " ";
w += s;
}
void __fastcall NumSpell2(__int64 n, AnsiString &w, Gender g)
{
AnsiString s;
if(n % 100 < 20)
{
NumSpell1(n, w, g);
}
else
{
switch(n / 10 % 10)
{
case 2: s = "двадцать"; break;
case 3: s = "тридцать"; break;
case 4: s = "сорок"; break;
case 5: s = "пятьдесят"; break;
case 6: s = "шестьдесят"; break;
case 7: s = "семьдесят"; break;
case 8: s = "восемьдесят"; break;
case 9: s = "девяносто"; break;
}
if(!w.IsEmpty() && !s.IsEmpty()) w += " ";
w += s;
NumSpell1(n % 10, w, g);
}
}
void __fastcall NumSpell3(__int64 n, AnsiString &w, Gender g)
{
AnsiString s;
switch(n / 100 % 10)
{
case 1: s = "сто"; break;
case 2: s = "двести"; break;
case 3: s = "триста"; break;
case 4: s = "четыреста"; break;
case 5: s = "пятьсот"; break;
case 6: s = "шестьсот"; break;
case 7: s = "семьсот"; break;
case 8: s = "восемьсот"; break;
case 9: s = "девятьсот"; break;
}
if(!w.IsEmpty() && !s.IsEmpty()) w += " ";
w += s;
NumSpell2(n, w, g);
}
void __fastcall NumSpellE(__int64 n, AnsiString &w, Gender g,
__int64 e, AnsiString s1, AnsiString s2, AnsiString s3)
{
__int64 t;
t = n / e; t %= 1000;
if(n)
{
NumSpell3(t, w, g);
}
else
{
w = "ноль";
}
AnsiString s;
if(t > 0 || e == 1)
{
t %= 100;
if(t < 11 || t > 19)
{
switch(t % 10)
{
case 1: s = s1; break;
case 2:
case 3:
case 4: s = s2; break;
default: s = s3;
}
}
else s = s3;
}
if(!w.IsEmpty() && !s.IsEmpty()) w += " ";
w += s;
}
AnsiString __fastcall NumSpell(__int64 n, Gender g,
AnsiString s1, AnsiString s2, AnsiString s3)
{
AnsiString w;
NumSpellE(n, w, genM, 1000000000000000i64, "квадраллион", "квадраллиона", "квадраллионов");
NumSpellE(n, w, genM, 1000000000000i64, "триллион", "триллиона", "триллионов");
NumSpellE(n, w, genM, 1000000000i64, "миллиард", "миллиарда", "миллиардов");
NumSpellE(n, w, genM, 1000000i64, "миллион", "миллиона", "миллионов");
NumSpellE(n, w, genF, 1000i64, "тысяча", "тысячи", "тысяч");
NumSpellE(n, w, g, 1, s1, s2, s3);
return w;
}
← →
Anatoly Podgoretsky © (2011-02-08 12:49) [49]> Inovet (08.02.2011 12:29:44) [44]
Ну так сказали же телефон, а там нет минусов
← →
Игорь Шевченко © (2011-02-08 13:10) [50]Inovet © (08.02.11 12:48) [48]
изучай:
http://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D0%B5%D0%B9_%D1%82%D1%8B%D1%81%D1%8F%D1%87%D0%B8
← →
Inovet © (2011-02-08 13:18) [51]> [50] Игорь Шевченко © (08.02.11 13:10)
> изучай:
квадриллион = квадраллион. Не помню откуда, но где-то видел, с этими числительными больше триллиона (да и сам он) всё как-то не однозначно. Впрочем, таких чисел не попадалось для прописи.:)
Хотя вот
http://pics.livejournal.com/sam_soloviev/pic/0000hwwq
← →
vajo (2011-02-08 13:25) [52][50]
дуцентдуомилианонгентновемдециллион - язык сломать можно :)
← →
Anatoly Podgoretsky © (2011-02-08 14:32) [53]> vajo (08.02.2011 13:25:52) [52]
Зачем самому ломать, пусть агент ломает.
← →
Думкин © (2011-02-08 14:35) [54]
> Inovet © (08.02.11 13:18) [51]
Я говорилку только до нанолионов дела.
← →
Думкин © (2011-02-08 14:36) [55]
> нанолионо
нонилионов
← →
Anatoly Podgoretsky © (2011-02-08 14:36) [56]> Думкин (08.02.2011 14:35:54) [54]
Медведев обязан тебе премией
← →
Думкин © (2011-02-08 14:40) [57]
> Anatoly Podgoretsky © (08.02.11 14:36) [56]
Лучше пусть вложит в инновации - я возьму. А то что я не отдам потом - так он сам разрешил!
← →
Anatoly Podgoretsky © (2011-02-08 14:42) [58]> Думкин (08.02.2011 14:40:57) [57]
Ага получишь, нанолимон
← →
Inovet © (2011-02-08 15:01) [59]> [55] Думкин © (08.02.11 14:36)
> нонилионов
Это ж 10**30 получается, сколько же при цифрах отличных от нуля она говорить будет или на сколько строк писать.:) Реально надо было?
← →
Думкин © (2011-02-08 15:03) [60]
> Inovet © (08.02.11 15:01) [59]
Просто так написал, для побаловаться. Фрагменты в вавки и вперед. Сшивка вот не всегда гладко прошла. Но переозвучивать стало ломко. :)
← →
Inovet © (2011-02-08 15:08) [61]> [58] Anatoly Podgoretsky © (08.02.11 14:42)
> Ага получишь, нанолимон
1 рупь чё ли?
> [60] Думкин © (08.02.11 15:03)
> Сшивка вот не всегда гладко прошла
Ну это отдельная песня и не столь программерская.:)
← →
Inovet © (2011-02-08 15:11) [62]> [61] Inovet © (08.02.11 15:08)
> > Ага получишь, нанолимон
>
> 1 рупь чё ли?
Меньше даже
0,001 рупь
← →
KilkennyCat © (2011-02-08 18:58) [63]ну вот, с полов на деньги перешли.
← →
Урсулапов_ (2011-02-08 21:20) [64]Прикольно.
А можно ли тут добавить другой голос в процессе выполнения скрипта? По умолчанию стоит MsSam, хотелось бы в папку со скриптом закинуть файл с голосом, и как-то подключить его.
← →
brother © (2011-02-09 06:13) [65]CreateObject("SAPI.SpVoice").Speak"If you want to fuck for funny - fuck yourself and save your money"
хи-хи)
Страницы: 1 2 вся ветка
Текущий архив: 2011.05.22;
Скачать: CL | DM;
Память: 0.6 MB
Время: 0.017 c