Вверх ↑
Этот топик читают: Гость
Ответов: 3851
Рейтинг: 159
#46: 2008-08-14 20:44:12 ЛС | профиль | цитата
andrestudio, искусство требует жертв - не обижайся
карма: 0
начавший
0
Ответов: 9906
Рейтинг: 351
#47: 2008-08-14 21:03:55 ЛС | профиль | цитата
andrestudio, ну не надо корчить из себя обиженного только
И одна истина не возводится в Абсолют.
А многие интерфейсные вещи просто давно уже проверены в электронике
И о результатах этой проверки я Вам неоднократно докладывал

Если ты каждую цепь с микросхемы окончишь именованным port-ом (это pcad-овский термин такой), то за такую схемотехнику боцман, вообще - сразу бил канделябрами но голове
И считаю, что в этом случае и ленивому "по-пинать" не грех было бы
И всякие примочки по визуализации этого изначального бардака - мертвому припарка.
Ни контекстные менюшки, ни тебюшки, ни цвета - не помогут
Критерий, который я использую для выводов, очень простой - схема должна помогать думать.

НО, ни один дурак не тянет питание ко всем микросхемам "визуализировано". А просто подключаются эти port-ы. Или еще менее "визуализировано" - через аттрибуты
Потому-что таковых цепей не более 3-х штук, роль их вспомогательна, и их визуализация как раз затрудняет процесс мышления

Сто раз это говорил, что мне еще следует сделать, чтобы дошло
Я сделаю... Например, этот долбаный Ex - уже сделал
Нет же, блин: не видел... только ленивый...

Ленивый - не очень хотел видеть, вот и все. Для писателей, пользуйтесь: http://www.hiasm.com/xf//getfile/9722
И не говорите, что не видели
------------ Дoбавленo:

andrestudio, давай так, в чем между нами разница
Да я давно сделал формульный калькулятор, в котором были вопросы замены чем-то имен в формулах. И пользуюсь таковым.
Даже могу сказать, что показанные тобой замены - не корректны: необходимо проверять символ ДО имени (это не должна быть буква или цифра), и символ - ПОСЛЕ (то же самое).

Так вот, я обошелся без создания аналогичных топиков
Вот и попробуй мне доказать, что моя позиция менее правильная, чем твоя
карма: 9

0
Ответов: 5227
Рейтинг: 587
#48: 2008-08-14 21:22:11 ЛС | профиль | цитата
Galkov, да необижаюсь я, мне просто интересно кто ещё на эти грабли встать хочет ?;) По поводу GlobalVarEx то я за него тоже ухватился но вариант который я тогда видел в контейнерах неработал, посему и непригодился.

Закруженый по приведённой выше ссылке вообще неработает , может подскажете в чём дело? в HiAsm 3.65 b167 тоже самое



Build start...
Generated code
Create project...
Command line: dcc32.exe "C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\Project6.dpr" "-U C:\Program Files\HiAsm3.66 b169\." -Q
Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(18) Error: Method 'SetData' not found in base class

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(19) Error: Method 'SetName' not found in base class

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(38) Error: Undeclared identifier: 'GData'

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(38) Error: Operator not applicable to this operand type

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(39) Error: ')' expected but identifier 'Next' found

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(40) Error: ';' expected but 'WHILE' found

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(41) Error: Undeclared identifier: 'P'

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(42) Error: Pointer type required

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(45) Error: Pointer type required

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(46) Error: '.' expected but ';' found

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(47) Warning: Text after final 'END.' - ignored by compiler

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(18) Error: Unsatisfied forward or external declaration: 'THIGlobalVarEx.SetData'

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\hiGlobalVarEx.pas(19) Error: Unsatisfied forward or external declaration: 'THIGlobalVarEx.SetName'

C:\Program Files\HiAsm3.66 b169\Elements\delphi\code\Project6.dpr(9) Fatal: Could not compile used unit 'hiGlobalVarEx.pas'
End build


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


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


За быстродействие родею Шеф

на сей момент темже занимаюсь пока только For to step сделал.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 9906
Рейтинг: 351
#49: 2008-08-14 21:23:46 ЛС | профиль | цитата
Не обновлен просто GlobalVar с SVN
Ex - просто его наследник
------------ Дoбавленo:

Быстродействие тут не причем. Это было давно
карма: 9

1
Голосовали:andrestudio
Ответов: 5227
Рейтинг: 587
#50: 2008-08-14 21:36:58 ЛС | профиль | цитата
Понял, спасибо.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Администрация
Ответов: 15294
Рейтинг: 1518
#51: 2008-08-14 22:35:42 ЛС | профиль | цитата
Эдик писал(а):
а можно всё - таки сделать такой компонент, у которого могло быть любое количество точек и он был бы упрощенным ИнлайнКоде?

да, но чуть попозже.

По теме: вопрос полезности всех вариантов GlobalXXX, проходящих через контейнеры можно обсуждать только при наличие реально работаюзих больших схем. Например, серверная часть этого форума, состоящая из 3тыс элементов так структурирована по контейнерам, что в ней не разу не возникла необходимость не то что в GlobalXXX, но и в простом бреке вообще - во всех особых случаях хватило ссылок на контейнеры. Очевидно это не показатель - WEB программирование оно в 99% случаях линейно до одурения и циркуляции событий по разным частям программы там нет. Но задуматься всетаки заставляет. Поэтому реальную полезность(или наоборот ее отсутсвие) могут оценить только те, кто конструирует проекты с тысячами элементов(исключая те проекты, где банально один и тот же блок накопирован дессятки раз) - вот их мнение и хотелось бы послушать.
карма: 26
0
Ответов: 5227
Рейтинг: 587
#52: 2008-08-14 23:20:59 ЛС | профиль | цитата
Лично для меня GlobalVarEx давно было необходимостью, только в таком виде который существует на данный момент (работает в панелях и мультиках) по вышеприведённой ссылке Version=1.1 Author=Galkov. В больших схемах он как раз очень полезен будет, на данный момент уже подумываю переделать в своей свежей схеме кое что, а то уже черезчур связей однотипных напутано, для себя подпишу по РУССКИ и точка
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 5446
Рейтинг: 323
#53: 2008-08-14 23:21:17 ЛС | профиль | цитата
Dilma, извини за некий оффтопик, но коли уж зашла речь о ссылках... Делаю я проект - "My Draw" (простенький графический язык, 1273 элемента включая служебные). За счёт поддержки преобразований системы координат самой частой операцией является преобразование пользовательской СК к экранной. Сначала я решил, что использование ссылочных элементов (aka копий основного контейнера) - хорошая идея. Но потом обнаружилось, что при загрузке схемы с большим (>2) ссылками (ссылки на единый экземпляр-образец контейнера) к возникают ошибки "Index out of range". Пришлось отказаться от ссылок, что привело к двум нехорошим последствиям:
1) Распухание проекта - вместо одной ссылки везде приходится вставлять копии
2) Затруднение при отладке - если в оригинальный блок преобразования координат вкраласть ошибка, то приходится менять все экземпляры этого контейнера.
Поэтому прежде чем говорить о GlobalXXX или работе с GVar изнутри MathParse, прошу разобраться со ссылками.
карма: 1

0
Ответов: 5227
Рейтинг: 587
#54: 2008-08-14 23:25:33 ЛС | профиль | цитата
Galkov, спасибо ещё раз, как я так прозевал что он в природе существует, а главно народ молчит как партизаны
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 2057
Рейтинг: 28
#55: 2008-08-14 23:49:58 ЛС | профиль | цитата
Dilma писал(а):
да, но чуть попозже.

Спасибо.
карма: 1

0
Разработчик
Ответов: 26067
Рейтинг: 2121
#56: 2008-08-15 00:59:42 ЛС | профиль | цитата
Dilma писал(а):
Эдик, советую почаще просматривать элементы палитры:
code_9709.txt

Dilma, почему вот так


Add(MainForm,2953706,252,231)
{
}
Add(Button,7913403,252,273)
{
Left=215
Top=95
link(onClick,12083433:doPrint,[])
}
Add(FTCG_Tools,12083433,308,273)
{
}
BEGIN_SDK
Add(EditMultiEx,6444690,21,21)
{
WorkCount=#7:doPrint|
EventCount=#7:onPrint|
Width=475
Height=179
link(doPrint,14130509:doPrint,[(35,27)(35,69)])
}
Add(VisualInline,14130509,49,63)
{
Lines=#14:var t:integer;|5:begin|15: t := 50 + 90;|46: messagebox(0, pchar(int2str(t)), '', mb_ok);|4:end;|
Width=348
Height=113
link(onPrint,6444690:onPrint,[(447,69)(447,27)])
}
END_SDK

эта схема выдает ошибку


W:\Elements\delphi\code\hiFTCG_Tools_DD1C58.pas(80) Error: Expression expected but ')' found

и, собственно, то самое место в полученном коде


procedure TClassFTCG_Tools_DD1C58.event_doPrint(var Data:TData; index:word);
begin

printCode(data);
_hi_onEvent(THIFTCG_Tools(FParent).Events[0], ); //???
end;

карма: 22

0
Ответов: 5227
Рейтинг: 587
#57: 2008-08-15 09:04:21 ЛС | профиль | цитата
ещё пару аргументов в пользу GlobalVarEx это удобство вызовов из меню чтобы неделать длинные связи в мультики а также обработка горячих клавиш. Ну и ложка дёгтя в бочку с мёдом , надо незабывать про последовательность отработки событий с точек onValue, первое событие будет на последнем GlobalVarEx установленым на схему а последне соответственно на первом, поэтому где нужна эта последовательность то за этим нужно очень внимательно следить, а если нужно сменит эту последовательность допустим из 5 GlobalVarEx то это уже целая проблема, также стоит случайно удалить и поставить заного GlobalVarEx то всю последовательность можно начинать делать заного, так что искать баги в чужих схемах с GlobalVarEx будет просто каторгой
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 9906
Рейтинг: 351
#58: 2008-08-15 09:33:37 ЛС | профиль | цитата
Скажем так...
В такой схеме

#sha
Add(MainForm,2438858,56,105)
{
Left=20
Top=105
link(onCreate,14618536:doFor,[])
}
Add(ChildPanelEx,11500076,189,119)
{
Mode=1
}
BEGIN_SDK
Add(EditMultiEx,1299737,21,21)
{
WorkCount=#5:##add|
Width=237
Point(##add)
}
Add(Panel,16425398,49,133)
{
Left=35
Top=105
Height=30
Align=2
Point(doColor)
}
Add(Edit,7177071,49,63)
{
Left=160
Top=95
Width=80
Align=3
Text="3.1415"
Alignment=1
DataType=4
ModeSp=2
Point(onResize)
Point(doWidth)
Point(Width)
link(onResize,12819605:doData,[])
}
Add(GlobalVarEx,8817792,154,77)
{
Name="SIZE-R"
NoOwn=0
Point(onValue)
link(onValue,7177071:doWidth,[(227,83)(227,52)(37,52)(37,83)])
}
Add(DoData,12819605,105,77)
{
link(onEventData,8817792:doValue,[])
link(Data,7177071:Width,[(111,65)(90,65)(90,107)(69,107)])
}
END_SDK
Add(For,14618536,126,119)
{
Start=1
End=5
link(onEvent,11500076:##add,[])
}
-- все просто и понятно.
Критерий тот же: схема должна помогать думать над алгоритмом
Значительно понятнее, чем если таковое же совершить штатными элементами.
Что у меня и сделано неоднократно - мне есть с чем сравнивать

И, безусловно, если вся схема будет в таких элементах - все будет ровно наоборот. Даже, если оно и будет раскрашено, как попугай
И это не ложка дегтя, а Грабли.
Наступить на которые и предлагается всем желающим. Ну что тут сделаешь, если доходит только "через руки"

Про последовательность
Просто не было желания заморачиваться. Не составляет труда ввести св-во для порядка добавления в список оповещения, типа -- First/Last (сегодня - First)
Хотя бы потому, что если работоспособность твоей схемы начинает зависеть от порядка, имейте в виду: Грабли находятся уже очень близко к Вашему лбу

andrestudio писал(а):
(работает в панелях и мультиках)

Как вы не поймете.......
Барон Мюнхаузен славен не тем, что летал, или не летал...
А тем, что НЕ ВРЕТ
Galkov писал(а):
ЭТО - уже работает, без гипотез и обсуждений.
Просто - работает, и все тут

карма: 9

0
Ответов: 5227
Рейтинг: 587
#59: 2008-08-15 10:26:27 ЛС | профиль | цитата
Поэтому компонентом общего пользования ему небыть , чревато сломаными клавиатурами и разбитыми мониторами (это для тех у кого нехватит нервов найти собственную багу, в более тяжёлых случаех будет ещё накладней так как будет связано с вызовом психотерапевта на дом )
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Администрация
Ответов: 15294
Рейтинг: 1518
#60: 2008-08-15 11:49:19 ЛС | профиль | цитата
iarspider писал(а):
Поэтому прежде чем говорить о GlobalXXX или работе с GVar изнутри MathParse, прошу разобраться со ссылками

есть такая проблема, но решение пока не найдено. Исправляется перетаскиванием контейнеров родителей в минимальный z-order(т.е. на схеме должны быть ниже всех)
карма: 26
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)