Вверх ↑
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
#1: 2013-04-16 01:24:14 ЛС | профиль | цитата
Как-то нелогично ведет себя сравнение - по идее, число должно проходить на выход только если оно МЕНЬШЕ отрицательного значения -100, а оно проходит в любом случае. Или я неправильно использую сравнение?

code_30831.txt
------------ Дoбавленo в 01.24:
Все, разобрался. Надо просто было конвертер добавить Str2Real. На вход подавался текст а не дробное число, отсюда такое интересное поведение.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 8926
Рейтинг: 823
#2: 2013-04-16 10:16:30 ЛС | профиль | цитата
Aziz, не внимательно читали чужие посты в теме "Идеи по развитию HiAsm-а"
карма: 19

0
Ответов: 1291
Рейтинг: 47
#3: 2013-04-16 10:49:55 ЛС | профиль | цитата
Каюсь.. Тема уже огромная. Но, догадываюсь, это то что можно улучшить - чтоб среда не позволяла сравнивать разные типы данных, выдавая ошибку типа "Incompatible types". Хотя, странно что автоматическое приведение типов данных работает в элементе Memory - там не надо настраивать string, integer или real, просто оставляешь null в свойствах..
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#4: 2013-04-16 11:36:32 ЛС | профиль | цитата
Леонид писал(а):
не внимательно читали чужие посты в теме "Идеи по развитию HiAsm-а

Все, нах. Меня, за мои идеи, уже тапками закидали в той теме. А одна из этих идей была как раз автоматизция типизации данных
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#5: 2013-04-16 12:25:39 ЛС | профиль | цитата
nesco писал(а):
одна из этих идей была как раз автоматизция типизации данных

Леонид писал(а):
не внимательно читали чужие посты в теме "Идеи по развитию HiAsm-а"

Netspirit писал(а):
nesco, сейчас на уровне кодогенератора в FTCG есть возможность определить тип данных, поступающих на точку и возможность автоматического преобразования к нужному типу ("вставка конвертора").

В пакетах на основе кодогенератора RTCG также есть подобный механизм, определяемый разработчиком пакета в файле hiSys.hws и поддерживаемый вызовами из кодогенератора.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#6: 2013-04-16 13:42:21 ЛС | профиль | цитата
Nic писал(а):
определяемый разработчиком пакета в файле hiSys.hws и поддерживаемый вызовами из кодогенератора

Ну-ну. Продолжайте дальше, в том же духе
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#7: 2013-04-16 13:43:17 ЛС | профиль | цитата
Aziz, просто нужно помнить, что в IF_else сравнение происходит по типу данных оператора Op1.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1291
Рейтинг: 47
#8: 2013-04-16 20:05:04 ЛС | профиль | цитата
Ясно, спасибо.. nesco, если доработаете автотипизацию, будет здорово.. Если не слишком трудоемко это. А так - Бог с ним, все равно 4-ка уходит в небытие с каждым днем, можно попользоваться конвертором..
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#9: 2013-04-16 22:47:18 ЛС | профиль | цитата
Aziz писал(а):
nesco, если доработаете автотипизацию, будет здорово

Интересно "как", я вообще не занимаюсь 5-й версией, а последних исходников 4-й у меня нет
карма: 22

0
Ответов: 1291
Рейтинг: 47
#10: 2013-04-16 23:40:19 ЛС | профиль | цитата
Ясно, я думал это в codegen'e 4-ки подправить можно.. Но видимо либо нельзя, либо нет исходников и на кодогенератор.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 16884
Рейтинг: 1239
#11: 2013-04-16 23:41:15 ЛС | профиль | цитата
Aziz писал(а):
если доработаете автотипизацию
а её разве нет.
Пальчиком покажи, где она нужна.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1291
Рейтинг: 47
#12: 2013-04-16 23:48:55 ЛС | профиль | цитата
Кстати, nesco, а какие-то (непоследние) исходники значит есть? Это уж новость.))
------------ Дoбавленo в 23.43:
Tad, см выше пример. "Автотипизация" в его контексте. А вообще спросите nesco, он лучше расскажет, за что его тапками забрасывали.))
------------ Дoбавленo в 23.48:
Ну если мое объяснение вас устроит - вот я домохозяйка к примеру, на кухне решила создать утилиту управления кухонным комбайном.)) И забыла вставить конвертор на пути текстовой переменной. В итоге, комбайн не выключился вовремя, двигатель его задымился и спалил всю квартиру.. А вы говорите автотипизация не нужна...
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 16884
Рейтинг: 1239
#13: 2013-04-16 23:57:13 ЛС | профиль | цитата
Aziz, Возмем компонент Math. Что ему на вход или верхние точки не подавай - он всё хавает как REAL.
И так любой компонент - преобразовывает тип под себя.
Вот я и спросил: А какой компонент так не делает ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#14: 2013-04-17 00:18:18 ЛС | профиль | цитата
Aziz писал(а):
Но видимо либо нельзя, либо нет исходников и на кодогенератор.

Исходники кодогенератора лежат на SVN
------------ Дoбавленo в 00.14:
Tad писал(а):
Пальчиком покажи, где она нужна

Если бы она не была нужна, то никто не придумывал бы тип TData, который содержит аж целую структуру и не было бы тогда этих тормозов. Но вот нафиг нам парсить структуру на предмет вытягивания нужного типа, если нам дают этот тип из другого компонента, те нафиг нам определять тип каждый раз, когда достаточно определить конкретный конвертор там, где он нужен, а там, где не нужен использовать входные переменные напрямую
Или зачем читать верхнюю точку, когда данные идут из потока, и наоборот
------------ Дoбавленo в 00.18:
RTCG, вроде, позволяет типизировать данные, но это надо делать вручную. А хорошо бы это дело было автоматизировать, чтобы пользователь не заморачивался с типами вообще. Прицепил String к Integer -- получи конвертер в связи, прицепил String к String -- связь осталась чистой, используюй напрямую. Все эти телодвижения с конверторами должны быть хоть как-то визуализированы. ИМХО.
А может лучше бы было пойти по пути метода API dll. Каждая точка -- это какая-то функция или метод, никаких верхних точек, для их использования ставится специальный компонент перед точкой вызова с загоном верхних точек переменных в вызывающий метод. Тогда для каждой точки методов компонента могут быть определены только свои переменные и всегда типизированные. ИМХО
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#15: 2013-04-17 00:39:10 ЛС | профиль | цитата
nesco писал(а):
Если бы она не была нужна, то никто не придумывал бы тип TData
Вот и я про то же. И автоматизировано и пользователь не заморачивается. Потеря в скорости ?
За всё надо платить.
И за то, что "каждая кухарка..." тоже.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)