Вверх ↑
Этот топик читают: Гость
Ответов: 16
Рейтинг: -1
#1: 2008-03-03 12:21:27 ЛС | профиль | цитата
Доброго времени суток всем
Может я не по адресу создал тему но прошу не гневайтесь админы
Вопрос такого характера как я могу средствами Hiasm осуществить следующий алгоритм
Мне необходимо что бы при делении 1-го числа на другое при !!!НАЛИЧИИ!!! дробного результата мое значение округлялось до ближайшего большего целого числа
Заранее благодарен Zell
Прошу Вас я в программировании профан так что строго не судите !!!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2008-03-03 12:48:28 ЛС | профиль | цитата
Хотябы так


Add(Label,5602392,189,63)
{
Left=10
Top=125
Width=150
}
Add(Edit,10818079,112,14)
{
Left=10
Top=20
Width=150
Text="7"
}
Add(Edit,15229452,161,14)
{
Left=10
Top=60
Width=150
Text="9"
}
Add(Button,6481908,77,63)
{
Left=10
Top=90
Width=100
Caption="Разделить "
link(onClick,11822284:doOperation,[])
}
Add(Math,11822284,126,63)
{
OpType=3
ResultType=0
link(onResult,5602392:doText,[])
link(Op1,10818079:Text,[(132,54)(118,54)])
link(Op2,15229452:Text,[(139,55)(167,55)])
}
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 315
Рейтинг: 1
#3: 2008-03-03 12:48:43 ЛС | профиль | цитата
В элементе Math используй параметр ResultType - Определяет тип результата

Real - выдавать цифры после запятой.
Integer - не выдавать цифры после запятой.

А для проверки на заполненность поля используй:


#sha
Add(Case,13576324,427,385)
{
}

карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#4: 2008-03-03 12:55:35 ЛС | профиль | цитата
Zell, используй вот это



Add(MainForm,9694070,147,196)
{
Left=20
Top=105
}
Add(MathParse,15224710,203,196)
{
}


------------ Дoбавленo:


Zell писал(а):
Прошу Вас я в программировании профан так что строго не судите !!!
HiAsm -- не программирование, а конструирование, и это надо помнить.

За народом не успеешь

карма: 22

0
Ответов: 16
Рейтинг: -1
#5: 2008-03-03 14:54:34 ЛС | профиль | цитата
Может я как-то не првильно объяснил или я не понял что мне делать с предложенными кодами
но мне нужно что бы число сперва проверелось на наличие значений после запятой а потом только если они Есть то тогда шло округление в БОЛЬШУю сторону не зависимо от правил математики только в большую
карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#6: 2008-03-03 15:30:21 ЛС | профиль | цитата
Zell, вот так можно на рассыпухе -- всегда в большую сторону



Add(MainForm,1961130,140,84)
{
Left=20
Top=105
Width=256
Height=115
}
Add(Edit,13191133,210,84)
{
Left=20
Top=25
Width=105
Text=""
DataType=4
}
Add(Label,8838244,532,280)
{
Left=160
Top=20
Width=48
Height=24
Font=[MS Sans Serif,12,1,0,1]
Caption=""
AutoSize=1
}
Add(DoData,11992367,280,280)
{
link(onEventData,4029592:doWork2,[])
link(Data,2662008:Var2,[])
}
Add(Math,11316251,336,161)
{
OpType=1
link(onResult,10334493:doCompare,[])
link(Op1,15570707:Var3,[(342,135)])
}
Add(Math,13691371,280,161)
{
OpType=37
Op2=1
ResultType=0
link(onResult,11316251:doOperation,[])
}
Add(If_else,10334493,392,161)
{
Type=5
Op2=Integer(0)
link(onTrue,10519804:doOperation,[])
link(onFalse,11992367:doData,[(436,174)(436,230)(268,230)(268,286)])
}
Add(Math,10519804,455,161)
{
Op2=1
ResultType=0
link(onResult,4029592:doWork1,[(501,167)])
link(Op1,2662008:Var3,[(461,149)(376,149)(376,240)])
}
Add(GetDataEx,2662008,273,231)
{
link(Data,13691371:Result,[])
}
Add(HubEx,4029592,497,273)
{
link(onEvent,8838244:doText,[])
}
Add(Button,15068279,140,161)
{
Left=45
Top=50
link(onClick,306950:doData,[])
}
Add(DoData,306950,210,161)
{
link(onEventData,13691371:doOperation,[])
link(Data,15570707:Var2,[])
}
Add(GetDataEx,15570707,203,126)
{
link(Data,13191133:Text,[])
}



карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2008-03-03 15:32:14 ЛС | профиль | цитата
Zell писал(а):
я не понял что мне делать с предложенными кодами

Обмен файлами
карма: 27
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#8: 2008-03-03 15:34:08 ЛС | профиль | цитата
Кстати, а почему у нас нет Delphi функций Ceil и Floor, непорядок
карма: 22

0
Ответов: 2125
Рейтинг: 159
#9: 2008-03-03 15:46:37 ЛС | профиль | цитата
nesco писал(а):
можно на рассыпухе

Можно ещё и так:
code_8531.txt
карма: 1

0
файлы: 1code_8531.txt [157B] [237]
Разработчик
Ответов: 26163
Рейтинг: 2127
#10: 2008-03-03 16:09:30 ЛС | профиль | цитата
tsdima, ха, интересный метод -- отправлять за диапазон 0.5.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#11: 2008-03-03 16:28:59 ЛС | профиль | цитата
Математически корректно будет так:

#sha
Add(MathParse,15181030,294,231)
{
DataCount=1
MathStr="trunc(%1)+sign(frac(%1))"
}
Остальное - радиолюбительство
карма: 9

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#12: 2008-03-03 16:49:29 ЛС | профиль | цитата
Galkov писал(а):
Математически корректно будет так
Насчет того, что ты силен в математике, никто спорить не будет
карма: 22

0
Ответов: 16
Рейтинг: -1
#13: 2008-03-03 17:48:17 ЛС | профиль | цитата
Ух ма-ма вот меня проперло как узлан что просто выделил вставил и ОПА работает
СПАСИБО ВСЕМ кот помог
я долбался бы 1000000000000 сек.

карма: 0

0
Ответов: 8928
Рейтинг: 823
#14: 2008-03-03 18:21:23 ЛС | профиль | цитата
nesco, вот: code_8535.txt
карма: 19

0
файлы: 1code_8535.txt [450B] [264]
Ответов: 16884
Рейтинг: 1239
#15: 2008-03-03 18:50:21 ЛС | профиль | цитата
Леонид, смотрю у Вас тоже Button-ы в Form переименовываются и сами выбирают себе белый Color
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)