Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:35 24.04.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема ПОМОЩ! СПЕШНО  
АвторNikolai (Нерегистриран)
Публикувано10.10.05 11:33



Здравейте колеги Моля Ви кажете как ще стане в едно поле от тип tEdit да напишем число и в друго поле от тип Tedit да се визуализира числото с думи???
Благодаря предварително



Тема Re: ПОМОЩ! СПЕШНОнови [re: Nikolai]  
Автор vido (непознат )
Публикувано10.10.05 12:06



Мии... с функция която има входен параметър Integer, а изходния резултат е String. А самата функция трябва да я напишеш. Примери можеш да намериш в нета. Аз такава функция я писах първо няколко дена, а после я дооправях още много. Така че не ми се дава, а и правата са на фирмата. Виждал съм примери дори и за английски, така че потърси. Мисля, че дори във форума имаше подоби теми.

Редактирано от vido на 10.10.05 12:08.



Тема Re: ПОМОЩ! СПЕШНОнови [re: vido]  
АвторNikolai (Нерегистриран)
Публикувано10.10.05 12:09



Много ми помогна няма що!!! Благодаря



Тема Re: ПОМОЩ! СПЕШНОнови [re: Nikolai]  
Автор vido (непознат )
Публикувано10.10.05 12:24



Сажалявам, но мога да ти помогна само с идея:

разделям числото (цялата част) на сотици (N mod 1000),
стохилядни ((N div 1000) mod 1000) и т.н. Отделните числа ( < 1000), си правиш функция която прави текста. Там идеята е подобна - разделяш на единици, десетици и стотици. Особенно е с 11 - 19. Проблем е и каде да сложиш "И", а също и множественото число. С дробната част е аналогично.



Тема Re: ПОМОЩ! СПЕШНОнови [re: Nikolai]  
Автор TRN (член)
Публикувано10.10.05 12:52



Можеш да дръпнеш

. Преди няколко години я правих за текстово показване на парични стойности, ако ти харесва, можеш да я поправяш както си искаш. Аз също съм работил доста по нея, но все пак съм ползвал и готов код от други.



Тема Re: ПОМОЩ! СПЕШНОнови [re: TRN]  
АвторNikolai (Нерегистриран)
Публикувано10.10.05 13:14



Здравей TRN Благодаря ти сърдечно само че нямам достъп до Data.bg
Моля те публикувай го в отговора си!!!



Тема Re: ПОМОЩ! СПЕШНОнови [re: Nikolai]  
Автор SAGE_BS (непознат )
Публикувано10.10.05 17:22



Може да погледнеш и това:


Понеже нямаш достъп до Data.bg ето го и тук:
[code]
function Slovom(R:Real):string;
var Lv,St:integer;
const Ed:array[1..9]of string=('един','два','три','четири','пет','шест','седем','осем','девет');

function DesSlov(I:integer):string;
const Des='десет';
begin
If I<10 then begin Result:=Ed[ i ];Exit;end;
If I=10 then begin Result:=Des;Exit;end;
If I=11 then begin Result:=Concat('едина',Des);Exit;end;
If I<20 then begin Result:=Concat(Ed[ I mod 10],'на',Des);Exit;end;
If ((I mod 10)=0)
then Result:=Concat(Ed[I div 10],Des,' ')
else Result:=Concat(Ed[I div 10],Des,' и ',Ed[I mod 10]);
end;

function StoSlov(I:integer):string;
const Sto='сто';
begin
If I<100 then begin Result:=DesSlov(I);Exit;end;
If I<200 then Result:=Sto else
If I<300 then Result:='двеста 'else
If I<400 then Result:='триста 'else
Result:=Concat(Ed[I div 100],Sto,'тин ');
If ((I mod 100)=0)then Exit;
If ((I mod 10)=0)or((I mod 100)<20)
then Result:=Concat(Result,' и ',DesSlov(I mod 100))
else Result:=Concat(Result,' ',DesSlov(I mod 100));
end;

function HilSlov(I:integer):string;
var Hil,Sto:integer;
begin
If I<1000 then begin Result:=StoSlov(I);Exit;end;
Hil:=I div 1000;Sto:=I mod 1000;
If Hil=1
then begin
If Sto=0 then begin Result:='хиляда';Exit;end;
If (((Sto mod 10)=0)or(Sto<20))and((Sto<=100)or((Sto mod 100)=0))
then begin Result:=Concat('хиляда и ',StoSlov(Sto));Exit;end;
Result:=Concat('хиляда ',StoSlov(Sto));
Exit;
end;
If Hil=2
then begin
If Sto=0 then begin Result:=Concat('две хиляди');Exit;end;
If (((Sto mod 10)=0)or(Sto<20))and((Sto<=100)or((Sto mod 100)=0))
then begin Result:=Concat('две хиляди и ',StoSlov(Sto));Exit;end;
Result:=Concat('две хиляди ',StoSlov(Sto));
Exit;
end;
If Sto=0 then begin Result:=Concat(StoSlov(Hil),' хиляди');Exit;end;
If (((Sto mod 10)=0)or(Sto<20))and((Sto<=100)or((Sto mod 100)=0))
then begin Result:=Concat(StoSlov(Hil),' хиляди и ',StoSlov(Sto));Exit;end;
Result:=Concat(StoSlov(Hil),' хиляди ',StoSlov(Sto));
end;

function MilSlov(I:integer):string;
var Mil,Hil:integer;
begin
If I<1000000 then begin Result:=HilSlov(I);Exit;end;
Mil:=I div 1000000;Hil:=I mod 1000000;
If Mil=1
then begin
If Hil=0
then Result:='един милион '
else Result:=Concat('един милион и ',HilSlov(Hil));
Exit;
end;
If Hil=0 then begin Result:=Concat(StoSlov(Mil),' милиона ');Exit;end;
If ((Hil div 1000)>0)
then Result:=Concat(StoSlov(Mil),' милиона ',HilSlov(Hil))
else Result:=Concat(StoSlov(Mil),' милиона и ',HilSlov(Hil));
end;

begin
If Abs(R)>=1000000000 then begin Str(R:16:2,Result);Result:=Result+' лв.';Exit;end;
Lv:=Trunc(Abs(R)); St:=Round((Abs(R)-Trunc(Abs(R)))*100);
Result:=' лв. '+Format('%2.2d',[St])+' ст.';
If Lv=0 then begin Result:='нула'+Result;Exit;end;
If R>0
then Result:=MilSlov(Lv)+Result
else Result:='минус '+MilSlov(Lv)+Result;
end;

[/code]

Не съм го писал аз и ако има проблеми ще трябва сам да си ги оправяш.

Редактирано от SAGE_BS на 10.10.05 17:27.



Тема Re: ПОМОЩ! СПЕШНОнови [re: Nikolai]  
Автор TRN (член)
Публикувано10.10.05 19:24



Напиши поне дин email за връзка, или се регистрирай и си въведи данните.
Не ми се иска форума да го пълним с код.



Тема Re: ПОМОЩ! СПЕШНОнови [re: Nikolai]  
Автор VladoVasilev (минаващ)
Публикувано13.10.05 14:55



Ако не си се оправил, дай майл да ти пратя нещо примерно...




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.