Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1297852832
thandle2
2011-02-16 13:40
2011.05.22
exceptions


15-1297114175
Юрий
2011-02-08 00:29
2011.05.22
С днем рождения ! 8 февраля 2011 вторник


2-1297437513
novai
2011-02-11 18:18
2011.05.22
как правильно описать функцию с разными выходами?


1-1254994477
asails
2009-10-08 13:34
2011.05.22
Определить выделенный элемент из списка TcxComboBoxю


15-1296815616
И. Павел
2011-02-04 13:33
2011.05.22
Хочу грамотную распальцовку