Вверх ↑
Этот топик читают: Гость
Ответов: 17
Рейтинг: 0
#1: 2018-10-25 19:40:13 ЛС | профиль | цитата
Методом исключения выяснил, что вызывает такую ошибку возведение в степень.

У вас работает?


Add(MainForm,2953706,210,105)
{
}
Add(Button,10110255,91,105)
{
Left=105
Top=75
Data=Integer(3)
link(onClick,805091:doOperation,[])
}
Add(FTCG_Tools,805091,147,105)
{
link(onResult,2953706:doCaption,[])
}
BEGIN_SDK
Add(EditMultiEx,1546421,48,48)
{
WorkCount=#11:doOperation|
EventCount=#8:onResult|
link(doOperation,10155111:doOperation,[(112,54)(112,83)])
}
Add(FT_Math,10155111,175,77)
{
OpType=11
Op2=3
link(onResult,1546421:onResult,[(277,83)(277,54)])
}
END_SDK
карма: 0

0
Ответов: 537
Рейтинг: 14
#2: 2018-10-25 20:14:17 ЛС | профиль | цитата
А зачем это нужно вообще?
Add(MainForm,2953706,217,336)
{
}
Add(Button,10110255,105,336)
{
Left=105
Top=75
link(onClick,3894308:doCalc,[])
}
Add(MathParse,3894308,161,336)
{
MathStr="%1^%2"
link(onResult,2953706:doCaption,[])
link(X1,14055473:Text,[])
link(X2,4180734:Text,[(174,324)(216,324)])
}
Add(Edit,14055473,161,280)
{
Left=60
Top=35
Text="1"
}
Add(Edit,4180734,210,280)
{
Left=155
Top=35
Text="2"
}


Редактировалось 1 раз(а), последний 2018-10-25 20:26:33
карма: 4

0
Ответов: 9906
Рейтинг: 351
#3: 2018-10-25 22:13:47 ЛС | профиль | цитата
nesco, может пора уже перенести из hiMathParse в share его интерфейсную часть:
procedure Power(var x, Exponent: real);
function IntPower(const Base:Extended; const Exponent:Integer):Extended;
function Tan(const X: Extended): Extended;
function CoTan(const X: Extended): Extended;
function ArcTan2(const Y,X:Extended):Extended;
function LogN(const Base,X:Extended):Extended;
ну и константа: digE = 2.718281828459045 -- тоже не повредит...


Соответственно, убрать включение юнита hiMathParse из файлов:
hiBitsToInt.pas
hiCPU.pas
hiMath.pas
hiPlotAxis.pas
hiPlotHistogram.pas
hiPlotMarker.pas
hiPlotSeriesMarker.pas
hiVectorFields.pas

Редактировалось 4 раз(а), последний 2018-10-25 22:15:32
карма: 9

1
Голосовали:sla8a
Ответов: 2265
Рейтинг: 676
#4: 2018-10-25 22:19:41 ЛС | профиль | цитата
Sersey
Sersey, получается вы не знаете для чего в HiAsm целая вкладка элементов FTCG. Но при этом предлагаете схему с MathParse. Мудро. Или вы ждете что вам начнут объяснять отличие элементов FTCG.
карма: 11

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#5: 2018-10-25 22:31:44 ЛС | профиль | цитата
Galkov писал(а):
может пора уже перенести из hiMathParse в share его интерфейсную часть

Да надо, но не забыть бы...

Редактировалось 1 раз(а), последний 2018-10-25 22:32:11
карма: 22

0
Ответов: 537
Рейтинг: 14
#6: 2018-10-25 22:58:48 ЛС | профиль | цитата
sla8a это Galkov написал

Редактировалось 4 раз(а), последний 2018-10-25 23:03:53
карма: 4

0
Ответов: 9906
Рейтинг: 351
#7: 2018-10-25 23:32:36 ЛС | профиль | цитата
Хотя, если присмотреться, там в FTCG какой-то другой Power, неизвестно где лежащий.
Надо искать автора FT_Math.hws

И носом его... носом...
карма: 9

0
Ответов: 2265
Рейтинг: 676
#8: 2018-10-25 23:59:05 ЛС | профиль | цитата
Sersey
Вот это вот?
карма: 11

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#9: 2018-10-26 01:10:00 ЛС | профиль | цитата
Galkov писал(а):
Надо искать автора FT_Math.hws

Вроде Dilma и есть автор этого компонента.

PS. Так значит пока отменяем перенос в Share?
PS2. А с чего ты взял, что наш не прокатит, вроде синтаксис такой же как и у стандартной Дельфийской функции?

Редактировалось 2 раз(а), последний 2018-10-26 01:21:25
карма: 22

0
Ответов: 9906
Рейтинг: 351
#10: 2018-10-26 03:33:02 ЛС | профиль | цитата
nesco писал(а):
Так значит пока отменяем перенос в Share?

Не значит. Типа: мухи - отдельно, котлеты - отдельно.
По любому, перенос -- вещь полезная. Хотя, в данном случае - не очень поможет (без модификации hws-файла).

nesco писал(а):
вроде синтаксис такой же как и у стандартной Дельфийской функции?

А из hiMathParse -- совсем другой. У нас не функция, а процедура, принимающая данные как VAR-аргументы. И возвращающая результат в первый аргумент.

Просто, делать чего - не очень понятно...........
Можно попробовать исправить 11-й case (при условии вышеозначенного переноса):
func _create(_data)  
fvar(o1, o2, r)
o1 = Op1
o2 = Op2
switch(OpType)
case 0:
................
case 11:
// начало замены
lng.decl_loc_var(rs, 'real')
lng.decl_loc_var(re, 'real')
println(rs, ' := ', o1, ';')
println(re, ' := ', o2, ';')
println('Power(', rs, ', ', re, ');')
r = rs
// r = 'Power(' && o1 && ', ' && o2 && ')'
sub(r, 7)
case 12:
................
end

if(isdef(ResultType))
//r = e_real(r)
else
r = e_int(r)
end

return(r)
end
НО: уверенности нету. Вообще никакой...




--- Добавлено в 2018-10-26 03:46:34

Собственно, в этом hiFT_Math -- геморроя еще и нашим детям хватит, похоже

Не все case-ы обрабатываются...
Да и "где брать" (например: sign) - далеко не кончилось...

Редактировалось 3 раз(а), последний 2018-10-26 03:47:56
карма: 9

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#11: 2018-10-26 13:38:36 ЛС | профиль | цитата
Galkov, пофиксил, проверь. Надо бы еще
function FParse(var S: string; const Delimiters: char): string;
function RParse(var S: string; const Delimiters: char): string;
function SRParse(var S: pchar; const Dlm: char; Len: integer): string;
function SFParse(var S: pchar; const Dlm: char; Len: integer): string;
из Str_Enum тоже в Share перенести

Редактировалось 3 раз(а), последний 2018-10-26 13:44:24
карма: 22

0
Ответов: 9906
Рейтинг: 351
#12: 2018-10-26 17:01:39 ЛС | профиль | цитата
nesco писал(а):
из Str_Enum тоже в Share перенести

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

nesco писал(а):
пофиксил, проверь.

Чего я там могу проверить... Не работал я в этом огороде никогда. Почти.
Ну да, код ТС заработал. Даже правильно, вроде.

Тестеров-FTCG-фанатов надо созывать. Может чего более умное присоветуют.
А может и все 44-case-а для FT_Math до ума доведут.
А то еще лет двадцать будем по одному топику (скажем, раз в год) на каждый case создавать

Фанаты, Ау-у-у-у

Редактировалось 1 раз(а), последний 2018-10-26 17:02:32
карма: 9

0
Ответов: 17
Рейтинг: 0
#13: 2018-10-26 17:34:25 ЛС | профиль | цитата
svn 2266 у меня теперь hiFTCG_Tools_*.pas(79) Error: Constant object cannot be passed as var parameter
карма: 0

0
Ответов: 9906
Рейтинг: 351
#14: 2018-10-26 17:58:43 ЛС | профиль | цитата
Prodigy, надо еще исправить hiFT_Math.hws
Как указано у меня двумя постами выше (пост #10)

Редактировалось 1 раз(а), последний 2018-10-26 18:11:27
карма: 9

0
Ответов: 17
Рейтинг: 0
#15: 2018-10-26 18:36:59 ЛС | профиль | цитата
Вот теперь работает, спасибо.

--- Добавлено в 2018-10-26 19:35:54

Да что-ж такое!
При добавлении схемы из компонентов FT через "поместить в..." в FT мультик - List index out of bounds (4). Переделывать теперь что-ли вручную пробрасывая?..
https://imgur.com/RWkZIrc
Кстати! После этой операции у созданноого мультика не более 4 Event Var & Data точек. Может с этим связано. Новую тему создавать?))


Редактировалось 5 раз(а), последний 2018-10-26 19:49:27
карма: 0

0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)