Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2010, 20:14
Аватар для PeppeR
PeppeR PeppeR вне форума
Прохожий
 
Регистрация: 15.05.2010
Сообщения: 2
Репутация: 10
Вопрос Словесное соответствие цифрам

Може кто занимался, мне надо чтобы программа автоматически прописывала цифры их словесным соотношением. Типо в Edit1 сумма, а в Edit2 надо ее словесную интерпритацию. Или хотяб подскажите есть ли dll или ini файл с цифрами от 1 до 1 000 000 000 где каждой цифре прописано их словесное отношение?
Ответить с цитированием
  #2  
Старый 15.05.2010, 20:34
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Неужели так сложно воспользоваться поисковиком?
Ответить с цитированием
  #3  
Старый 16.05.2010, 15:05
Аватар для PeppeR
PeppeR PeppeR вне форума
Прохожий
 
Регистрация: 15.05.2010
Сообщения: 2
Репутация: 10
По умолчанию

Помогите исправить код:
Код:
const a:array[0..8,0..9] of string=(
('','один ','два ','три ','четыре ','пять ','шесть ','семь ','восемь ','девять '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят ','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот ','девятьсот '),
('тысяч ','одна тысяча ','две тысячи ','три тысячи ','четыре тысячи ','пять тысяч ','шесть тысяч ','семь тысяч ','восемь тысяч ','девять тысяч '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят ','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот ','девятьсот '),
('миллионов ','один миллион ','два миллиона ','три миллиона ','четыре миллиона ','пять миллионов ','шесть миллионов ','семь миллионов ','восемь миллионов ','девять миллионов '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят ','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот ','девятьсот '));
b:array[0..9] of string=
('десять ','одинадцать ','двенадцать ','тринадцать ','четырнадцать ','пятнадцать ','шестнадцать ','семнадцать ','восемнадцать ','девятнадцать ');

function SumToStrin(Value : String) : string;
var s,t:string;
    p,pp,i,k,m:integer;
begin
        s:=value;
        if s='0' then t:='Ноль ' else begin
        p:=length(s);
        pp:=p;
        if p>1 then
        if (s[p-1]='1') and (s[p]>='0') then begin
        t:=b[strtoint(s[p])];pp:=pp-2;end;
        i:=pp;
        m:=p-3;
        while i>0 do begin
        if (i=p-3) and (p>4) then
        if (s[p-4]='1') then begin
        t:=b[strtoint(s[p-3])]+'тысяч '+t;i:=i-2;end;
        if (i=p-6) and (p>7) then
        if s[p-7]='1' then begin
        t:=b[strtoint(s[p-6])]+'миллионов '+t;
        i:=i-2;end;
        if i>0 then begin k:=strtoint(s[i]);
        t:=a[p-i,k]+t;
        i:=i-1;end;
        end;end;
        result:=t;
end;
Admin: Пользуемся тегами!

Сдесь если значение 1 000 000 пишет "один миллион тысяч".

Последний раз редактировалось Admin, 16.05.2010 в 18:32.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter