{ Преобразует трехзначное число в строку } function ConvertToWord(N : word) : string; Const Sot : array[1..9] of string[13] = ('сто','двести','триста','четыреста','пятьсот', 'шестьсот','семьсот','восемьсот','девятьсот'); Des : array[2..9] of string[13] = ('двадцать','тридцать','сорок','пятьдесят', 'шестьдесят','семьдесят','восемьдесят','девяносто'); Edin : array[0..19] of string[13] = ('','один','два','три','четыре','пять','шесть','семь', 'восемь','девять','десять','одиннадцать','двенадцать', 'тринадцать','четырнадцать','пятнадцать', 'шестнадцать','семнадцать','восемнадцать','девятнадцать'); Var S : string; begin S:=''; N:=N mod 1000; if N>99 thenbegin S:=Sot[N div 100]+' '; N:=N mod 100; end; if N>19 thenbegin S:=S+Des[N div 10]+' '; N:=N mod 10;
end; Result:=S+Edin[N]; end;
{ Возвращает сумму прописью } function CenaToStr(r : Currency) : string; Var N,k : longint; S : string; begin N:=trunc(R); S:=''; if N<>0 thenbegin if N>999999 thenbegin k:=N div 1000000; S:=ConvertToWord(k); if ((k-(k div 100)*100)>10) and ((k-(k div 100)*100)<20) then S:=S+' миллионов' else if (k mod 10)=1 then S:=S+' миллион' else if ((k mod 10)>=2)and((k mod 10)<=4) then S:=S+' миллиона' else S:=S+' миллионов'; N:=N mod 1000000; end; if N>999 thenbegin k:=N div 1000; S:=S+' '+ConvertToWord(k); if ((k-(k div 100)*100)>10)and((k-(k div 100)*100)<20) then S:=S+' тысяч'
else if (k mod 10)=1 thenbegin SetLength(S, Length(S)-2
); S:=S+'на тысяча'; endelse if (!
k mod 10
)=2 thenbegin SetLength(S, length(S)-1); S:=S+'е тысячи'; endelse if ((k mod 10)>=3)and((k mod 10)<=4) then S:=S+' тысячи' else S:=S+' тысяч'; N:=N mod 1000; end; k:=N; S:=S+' '+ConvertToWord(k); if ((k-(k div 100)*100)>10)and((k-(k div 100)*100)<20) then S:=S+' рублей' else if (k mod 10)=1 then S:=S+' рубль' else if (k mod 10)=2 then S:=S+' рубля' else if ((k mod 10)>=3)and((k mod 10)<=4) then S:=S+' рубля' else S:=S+' рублей'; end; if trunc(R)<>R thenbegin k:=round(frac(R)*100); S:=S+' '+IntToStr(K); if ((k-(k div 100)*100)>10)and((k-(k div 100)*100)<20) then S:=S+' копеек' else if (k mod 10)=1 thenbegin S:=S+'
копейка'; endelse if (k mod 10)=2 thenbegin
b> S:=S+' копейки'; endelse if ((k mod 10)>=3)and((k mod 10)<=4) then S:=S+' копейки' else S:=S+' копеек'; endelse S:=S+' 00 копеек'; S:=Trim(S); if S<>'' then S[1]:=AnsiUpperCase(S[1])[1]; result:=S; end;
Ошибка с полем дата/время в аксес
Запрос типа select field from table where data<="01.01.01" в парадоксе работал, а в аксесе 'Несоответствие типов ...
D7 и WinXp
Мастера, посоветуйте! Нужно написать программу, которая будет работать под WinXp, поэтому у меня появился вопрос. ...
FreeLibrary
Загружаю библиотеку в чужой процесс с помощью CreateRemoteThread. library Project2; uses Windows; var a:array[0.....
DBGrid
Доб день! Только вот перехожу на KOL&MCK подскажите плиз какой-нить DBGrid для него есть смотрел на http://kol.mastak....
Как дозвониться до провайдера? :)
Как мне дозвониться, допустим, через подключение по умолчанию. А потом его разорвать. Или, на худой конец, как вызвать ...
Повторное использование форм в Delphi
Каждый раз, приступая к разработке нового проекта, я ловлю себя на мысли, что когда-то я уже делал подобные формы. Поэтому я решил поделиться несколькими мыслями о повторном использовании форм в Delphi. Я не претендую на авторство описанных ниже методов, однако я еще не встречал статьи, где данный вопрос был освещен достаточно полно...
Программирование баз данных в Delphi 6. Учебный курс (+дискета)
В книге описываются многочисленные визуальные и невизуальные компоненты, а также технологии, использующиеся для создания приложений баз данных. Последовательно рассматриваются три наиболее распространенных архитектуры баз данных — файл-серверная, клиент-серверная и трехзвенная. Многие описываемые технологии могут быть применены и в более ранних версиях пакета Delphi. Книга содержит также значительный объем тщательно отобранной и хорошо организованной справочной информации.
Автор: Фаронов В. В.
Хокку дня
Три самурая на зимнем ветру Саке распивают холодным Лучше б мы взяли портвейна...
Афоризмы
Ты можешь и не заметить, что у тебя все идет хорошо. Но налоговая служба напомнит (Пьер Данинос)
Фраза дня
Вы имеете право хранить молчание. Все что вы скажете, будет искажено и направлено против вас.
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Арканзасе (США) есть закон, который гласит- "Река Арканзас Ривер не может подниматься выше моста в городе Литтл Рок".
В Нью Хемпшире (США) всякая скотина переходящая улицу, должна иметь "средство для сбора навоза".
И на закуску коротенький анекдот
Кавказские мужчины утверждают, что 100-процентной гарантии не даёт даже презерватив! Потому что в любой момент может войти муж...