Вверх ↑
Этот топик читают: Гость
Ответов: 7
Рейтинг: 1
#1: 2013-08-10 20:15:06 ЛС | профиль | цитата
Привет всем. У меня такой вопрос - пытаюсь написать программу для расчета математических выражений, но возникает такая сложность как множество цифр после запятой, как их можно ограничить. К примеру чтобы после запятой был не более 2х цифр.
Заранее Спасибо.

http://i065.radikal.ru/1308/4f/74989153f8a6.jpg
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2013-08-10 21:28:53 ЛС | профиль | цитата
code_31570.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_31570.txt [408B] [154]
Ответов: 7
Рейтинг: 1
#3: 2013-08-11 10:31:32 ЛС | профиль | цитата
Tad писал(а):
А скажи пожалуйста куда его вставлять?
http://s019.radikal.ru/i621/1308/ff/4452c76f355d.png
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2013-08-11 10:55:36 ЛС | профиль | цитата
Alexey-Murzin писал(а):
А скажи пожалуйста куда его вставлять?

Перед выводом результатов расчета на экран.
Хотя можно и прямо в маску компонента.

Add(MainForm,2953706,140,105)
{
Height=149
}
Add(Edit,15336170,273,112)
{
Left=50
Top=40
Width=180
Text="1.789456"
DataType=4
}
Add(Button,10452722,210,245)
{
Left=90
Top=75
link(onClick,12022979:doCalc,[])
}
Add(Label,6964512,371,245)
{
Left=235
Top=75
}
Add(Edit,15879204,329,112)
{
Left=265
Top=40
Text="7"
DataType=4
}
Add(MathParse,12022979,294,245)
{
MathStr="Round((%1 / %2),0.01)"
link(onResult,6964512:doText,[])
link(X1,15336170:Text,[(300,191)(279,191)])
link(X2,15879204:Text,[(307,191)(335,191)])
}
Add(Label,1189941,217,112)
{
Left=240
Top=45
Width=9
Height=17
Caption="/"
}


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#5: 2013-08-11 11:39:25 ЛС | профиль | цитата
Alexey-Murzin, ссылка над окном, где пишите сообщение на форум: Как скопировать и вставить схему?
карма: 19

1
Голосовали:Alexey-Murzin
Ответов: 7
Рейтинг: 1
#6: 2013-08-11 15:28:40 ЛС | профиль | цитата
Леонид писал(а):

Ну все всем спасибо теперь программа не работает((((((((
Я не программист, я не понимаю куда этот код вставлять.
Я решил поискать это в интернете, нашел статью в ней пишут типа нажимаете на компонент и ctrl+f.
Я нажал на иконку текстовую, которая выводит значения, открылось окно с кодом, вставил туда что вы дали, программа дала сбой и не открылась, полез назад - удалил ваш код, также не открылась(((( Сломали програмку, я 2 дня мучался писал)

Теперь надо исправлять это дело, помогите плз.
1) Я выделил этот значок и нажал ctrl+f и вставлял туда код(
http://s018.radikal.ru/i528/1308/7a/b3cc02507317.png
2) Програмка теперь перестала работать когда нажимаю на эту зеленую кнопочку(
http://s019.radikal.ru/i604/1308/2e/3639962b4afe.png
3) вот сам исходник програмки
http://zalil.ru/34671964

------------ Дoбавленo в 15.28:
Tad писал(а):
, Программу hiasm переустановил, теперь заработала. Осталось разобраться куда же все таки писать код, что Вы дали..
Tad писал(а):

карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2013-08-11 15:30:31 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-05 10:31:33
карма: 0

0
Ответов: 7
Рейтинг: 1
#8: 2013-08-11 15:56:25 ЛС | профиль | цитата
37.45.206.187 писал(а):
Вся программа не влазит((( лишь часть ее. Но я как понял из того что скинули вверху, добавляется лишь в мат функцию Round( само уравнение, 0.01). В его коде оно работает, вставляю в свой, у меня он не считает почему то(
Проще скачать с файлообменника код

 Add(Label,9044839,669,1418){
Left=269
Top=611
Width=38
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="неизв."
Alignment=2
Underline=0
}
Add(Label,9481010,613,1502)
{
Left=359
Top=611
Width=38
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="неизв."
Alignment=2
}
Add(FastMathParse,7843690,924,1274)
{
MathStr="%1 - %2"
}
Add(FastMathParse,14399541,847,1337)
{
MathStr="%1 - %2"
}
Add(FastMathParse,12167473,581,1358)
{
DataCount=6
MathStr="%1 + %2 + %3 + %4 + %5 + %6"
link(X1,4768799:Var2,[])
link(X2,7845719:Var2,[])
link(X3,5307090:Var2,[])
link(X4,1535275:Var2,[])
link(X5,4070828:Var2,[])
link(X6,1071128:Var1,[(622,1346)])
}
Add(FastMathParse,5654319,427,1323)
{
DataCount=6
MathStr="%1 + %2 + %3 + %4 + %5 + %6"
}
Add(FastMathParse,16057476,560,1421)
{
DataCount=7
MathStr="%1 + %2 + %3 + %4 + %5 + %6 + %7"
link(onResult,619621:doWork2,[])
link(X2,4768799:Var1,[(573,1314)])
link(X3,7845719:Var1,[(580,1335)])
link(X4,5307090:Var1,[(587,1342)])
link(X5,1535275:Var1,[(594,1328)])
link(X6,4070828:Var1,[(601,1342)])
link(X7,1071128:Var2,[(608,1385)(664,1385)])
}
Add(GetDataEx,1071128,658,1341)
{
Angle=1
link(Data,14399541:Result,[(738,1346)(738,1381)(853,1381)])
}
Add(GetDataEx,4768799,581,1309)
{
}
Add(GetDataEx,7845719,588,1330)
{
}
Add(GetDataEx,5307090,595,1337)
{
}
Add(GetDataEx,1535275,602,1323)
{
link(Data,836092:Var2,[(608,1318)(888,1318)])
}
Add(GetDataEx,4070828,609,1337)
{
link(Data,734496:Var2,[(615,1336)(930,1336)])
}
Add(FastMathParse,11855879,532,1505)
{
MathStr="%1 + %2"
link(onResult,9481010:doText,[(599,1511)(599,1508)])
link(X1,5654319:Result,[(538,1420)(433,1420)])
}
Add(FastMathParse,7044403,749,1456)
{
DataCount=5
MathStr="%1 + %2 + %3 + %4 + %5 "
link(onResult,7932310:doText,[(828,1462)(828,1455)])
link(X3,836092:Var1,[(769,1307)])
link(X4,734496:Var1,[(776,1328)])
}
Add(GetDataEx,836092,882,1302)
{
}
Add(GetDataEx,734496,924,1323)
{
link(Data,7843690:Result,[])
}
Add(FastMathParse,4855442,756,1512)
{
DataCount=5
MathStr="%1 + %2 + %3 + %4 + %5 "
link(onResult,12969446:doText,[])
}
Add(Label,7932310,833,1449)
{
Left=270
Top=586
Width=38
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="неизв."
Alignment=2
}
Add(Label,12969446,833,1512)
{
Left=360
Top=586
Width=35
Font=[Times New Roman,10,0,0,204]
Caption="неизв."
Alignment=2
}
Add(Label,7408112,70,1309)
{
Left=440
Top=540
Width=229
Height=19
Font=[Times New Roman,10,4,0,204]
Caption="Определение устойчивости автомобиля:"
}
Add(Label,6775227,70,1386)
{
Left=705
Top=540
Width=567
Height=24
Font=[Times New Roman,10,4,0,204]
Caption="- в случае выгрузки самосвальным способом:"
}
Add(Label,7368501,70,1435)
{
Left=705
Top=558
Width=567
Height=24
Font=[Times New Roman,10,4,0,204]
Caption="(для автомобиля мультилифта)"
}
Add(Label,3225035,70,1498)
{
Left=440
Top=495
Width=98
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Задний свес, мм:"
}
Add(Label,1070651,273,1442)
{
Left=705
Top=495
Width=98
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Задний свес, мм:"
}
Add(Label,13911555,273,1498)
{
Left=705
Top=518
Width=98
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Задний свес, мм:"
}
Add(Label,5359823,80,1561)
{
Left=440
Top=518
Width=130
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Масса (край свеса), кг:"
}
Add(Edit,7866939,154,1498)
{
Left=590
Top=495
Width=55
Text="0"
}
Add(Edit,14459548,161,1561)
{
Left=590
Top=518
Width=55
Text="0"
}
Add(Edit,1393364,364,1442)
{
Left=850
Top=495
Width=55
Text="0"
}
Add(Edit,14414740,371,1505)
{
Left=850
Top=518
Width=55
Text="0"
}
Add(Label,1154369,80,1624)
{
Left=645
Top=463
Width=85
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="<<<<< >>>>>"
}
Add(Label,7215619,206,1617)
{
Left=440
Top=563
Width=145
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Нагрузка на перед. ось,%:"
}
Add(HubEx,619621,623,1421)
{
link(onEvent,9044839:doText,[(634,1427)(634,1424)])
}
Add(FastMathParse,14847998,294,1617)
{
MathStr="%1 / %2 * 100"
link(onResult,5204626:doText,[(343,1623)(343,1616)])
link(X1,16057476:Result,[(300,1535)(566,1535)])
}
Add(Label,5204626,360,1610)
{
Left=600
Top=563
Width=75
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="неизв."
}
Add(Label,8950360,199,1687)
{
Left=440
Top=613
Width=135
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="Устойчивость ТС,(+):"
}
Add(Label,4216746,360,1687)
{
Left=600
Top=613
Width=55
Height=19
Font=[Times New Roman,10,0,0,204]
Caption="неизв."
}
Add(FastMathParse,11336328,308,1687)
{
MathStr="%1 / %2 * 100"
link(onResult,4216746:doText,[])
}
[/cоde]

карма: 0

0
Ответов: 16884
Рейтинг: 1239
#9: 2013-08-11 16:42:47 ЛС | профиль | цитата
Alexey-Murzin писал(а):
куда же все таки писать код, что Вы дали
Никуда пИсать не надо.
Записано в голубые MathParse.
САТС.zip
Проверь. (Мне лень было заполнять вопросник)
------------ Дoбавленo в 16.42:
Так, как сделано у тебя, я бы никогда не делал.
Есть определённые марки машин и есть их данные.
Выбрал транспорт и загрузи его исходные параметры : нагрузки на оси, вес кузова, колея и т.д.
Всё, что ты требуешь в исходных данных - должно вводиться не оператором, а автоматом из паспортных данных машины.
И что ты считаешь и для кого - вообще не понятно.
Сам читать не любишь, а кого-то загрузить лишней работой всегда пожалуйста.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1САТС.zip [6.4KB] [59]
Ответов: 7
Рейтинг: 1
#10: 2013-08-11 17:16:01 ЛС | профиль | цитата
Tad писал(а):
Я вот вписывал то же самое что и Вы, только вот видите не работает она теперь, не все считает((
http://radikal.cc/Img/ShowUploadedImg?id=9b58f18b286c4e01a84387c48aaae4f0

Без этого все считает нормально, только цифр много((
http://s019.radikal.ru/i600/1308/61/ce0fa80cb88d.png

А я вот там сверху специально кнопочку сделал загрузить данные по шасси. В дальнейшем планирую ее доделать, т.е. нажимаешь на нее выбираешь файл с данными по шасси и они сами туда заносятся, чтобы не вводить вручную)

Ну я по своей работе это считаю очень часто)) У меня это в экселе все есть) но решил вот попробовать такую программульку сделать)

Спасибо что помогаете
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#11: 2013-08-11 17:41:30 ЛС | профиль | цитата
Просто замени FastMathParse на MathParse. Наверное ROUND не понимает, но молчит как партизан.
Никогда при расчетах FastMathParse не применял.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 7
Рейтинг: 1
#12: 2013-08-11 19:25:57 ЛС | профиль | цитата
MathParse ругается на роунд, пишет ошибка. а FastMathParse не считает не везде. Я понять не могу в чем ошибка....... Вот у тебя же все нормально в том коде первом что ты мне присылал, а тут не считает, че за фигня((( Хотя в первом коде у тебя матпарс.. Щас подумаю еще сам
карма: 0

0
Ответов: 8926
Рейтинг: 823
#13: 2013-08-11 19:55:02 ЛС | профиль | цитата
Alexey-Murzin писал(а):
Щас подумаю еще сам
"Galkov, ты не прав!" (с)
Ой, помянул всуе, но ведь не прав же
карма: 19

0
Ответов: 7
Рейтинг: 1
#14: 2013-08-11 20:18:03 ЛС | профиль | цитата
Леонид писал(а):
Все я разобрался.
Спасибо всем за помощь!)
Ошибка банальна была, скобочку забыл поставить)))

Так в чем я там не прав?)
------------ Дoбавленo в 20.18:
Alexey-Murzin писал(а):

Tad писал(а):
Спасибо
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#15: 2013-08-12 16:31:20 ЛС | профиль | цитата
Alexey-Murzin писал(а):
Все я разобрался.
А я наоборот.
На картинке у тебя изображён мусоровоз с полным весом (примерно) 20 т.
Неужели вес экипажа (3 х 100кг =300 кг - около 1.5% от 20 т) влияют на устойчивость ?
Это на какой же рычаг им надо сесть, чтобы перевернуть мусоровоз ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)