Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2997
Рейтинг: 395
#16: 2021-07-20 12:46:47 ЛС | профиль | цитата
AlexKir писал(а):
Как определить тип точек Хаба?

Описание точек для элементов с динамическими точками задаётся в INI файле в разделе [Type] ключём Sub. Слева направо левые точки, правые, нижнии и верхние. Если Вы не это ожидали прочитать, то: "Каков вопрос - таков ответ". Правильно заданный вопрос должен содержать более половины ответа на мой взгляд.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 963
Рейтинг: 12
#17: 2021-07-20 13:58:16 ЛС | профиль | цитата
Nic писал(а):
Описание точек для элементов с динамическими точками задаётся в INI файле в разделе [Type] ключём Sub. Слева направо левые точки, правые, нижнии и верхние. Если Вы не это ожидали прочитать, то: "Каков вопрос - таков ответ". Правильно заданный вопрос должен содержать более половины ответа на мой взгляд.

Спасибо! Но или я что-то не понял или не поняли меня.

[About]
Version=1.0
Author=Dilma

[Type]
Class=Hub
Sub=InCountdoEvent,OutCount|onEvent,,
Info=Узел, который объединяет и клонирует потоки, вызывая последовательно события onEvent1, onEvent2 и т.д. (т.е. сверху вниз).

[Property]
InCount=Кол-во входящих потоков|1|1
OutCount=Кол-во исходящих потоков|1|2

С Sub более менее понятно, но в схеме видны только исходящие номерные линки.

Входящие только только в других элементах, а это ломает текущую логику парсера.
(В обычном случае лезу в базу пакета по имени элемента и проверяю "открытые" точки и от туда же беру тип точки если есть Point(ХХХ) открываю "закрытую точку" . )

А тут получается, что я должен "перелопатить" для каждого хаба все линки текущего контейнера, а тип если я верно понял будет в имени точки?
Горизонтальные onEventХХ и doEventХХ ,а как быть с вертикальными? (Упс! Я умудрился "классически" перепутать Хаб и GetData, а это разумеется разные элементы, но логика как я понял примерно такая же ?)

Редактировалось 4 раз(а), последний 2021-07-20 14:19:37
карма: 0

0
Ответов: 2200
Рейтинг: 673
#18: 2021-07-20 14:53:23 ЛС | профиль | цитата
AlexKir, возьмите на пустое поле HiAsm поместите два хаба и любой компонент с редактором строк (к примеру Memo). Соединяя разные точки одного хаба с другим хабом и копируя эти два соединенные хаба вставляйте схему в редактор строк (Memo). Проанализируйте полученные строки. Там нет ничего сложного, если не понятно будет задайте вопрос про конкретную строку или данные.
карма: 11

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#19: 2021-07-20 16:17:17 ЛС | профиль | цитата
AlexKir писал(а):
или я что-то не понял или не поняли меня

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

  Что видно со стороны?
Вы пытаетесь написать свой "Парсер SHA формата", но для Вас трудно понять исходные коды парсера на C++. Поэтому, как можно помочь человеку, который не хочет помочь себе сам?

Редактировалось 1 раз(а), последний 2021-07-20 16:17:51
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 963
Рейтинг: 12
#20: 2021-07-20 16:28:54 ЛС | профиль | цитата
sla8a писал(а):
AlexKir, возьмите на пустое поле HiAsm поместите два хаба и любой компонент с редактором строк (к примеру Memo). Соединяя разные точки одного хаба с другим хабом и копируя эти два соединенные хаба вставляйте схему в редактор строк (Memo). Проанализируйте полученные строки. Там нет ничего сложного, если не понятно будет задайте вопрос про конкретную строку или данные.

Да я уже в принципе понял. Просто были чуть признаюсь глупые надежды на то что не придется делать дополнительный механизм для динамических точек задаваемых через Type->Sub. Потому что это ( как я уже писал выше) ломает логику моего "централизованного подхода" к сбору данных нужных для отрисовки элемента и связей.
(Начальные точки связей привязаны к точкам элемента а расчет их координат идет тупо "по порядку", а тут добавляется совершенно левый механизм их добавляющий в список прорву "номерных точек" Надеюсь хоть не "в перемешку с обычными" ? )

--- Добавлено в 2021-07-20 17:14:27

Nic писал(а):
  Что видно со стороны?
Вы пытаетесь написать свой "Парсер SHA формата", но для Вас трудно понять исходные коды парсера на C++. Поэтому, как можно помочь человеку, который не хочет помочь себе сам?

Странная позиция... На форуме всегда было полно народу который вообще ничего кроме ХайАсм-а не использует ? Вы тоже пошлете их срочно C++ учить? Как я говорил деле не в C++, а том что проект довольно объёмный. (Вчера мне подкинули старые исходники на дельфи думаете разница в языке особо отразилась на уровне понимания вопроса парсинга ? Разумеется в среде разработки парсинг сделан совсем по другому и с другой целю, а отрисовка вообще отдельный блок. Описание достаточно разрозненные кое что "интуитивно понятно" но кое что нет.(но проблема не в том что парсинг и отрисовку все равно нужно делать по новому)
Зы
Интересно за что мне краму обнулили? (Раньше ее вообще здесь не было, зато была видна популярность и посещаемость тем что (ИМХО) заметно полезные )
=====================================================================

Ладно "волевым решением" на неделю удаляюсь в "творческую нирвану", а то режим обсуждения явно становится слишком не конструктивным.


Зы Зы
Вдогонку,Уважаемый Nic Извиняюсь но зачем нужно вникать в чужие исходники там где достаточно описания формата данных? + Нескольких простых вопросов к знатокам для ускорения процесса . Тут же мне все уши прожужжали что "это несложно". Возможно я ошибаюсь но, мое дело сдвинулось мертвой точки только после того как я попробовал сделать все по своему. После этого кстати и в исходниках весьма вероятно будет разобраться зметно проще (просто счет лучшего понимания логики парсинга).
Желаю нашему замечательному проекту "графического конструирования программ" развития и прогресса. Всем удачи ! До встречи чрез неделю.

Редактировалось 7 раз(а), последний 2021-07-20 18:34:28
карма: 0

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#21: 2021-07-20 17:33:11 ЛС | профиль | цитата
AlexKir писал(а):
На форуме всегда было полно народу который вообще ничего кроме ХайАсм-а не использует ? Вы тоже пошлете их срочно C++ учить?

Это может служить оправданием что Вам не по силам понять что делает парсер в исходных кодах на C++? Парсер - это не "объёмный проект". Это всего лишь функционал загрузки в память схемы и построение по ней объектной модели. Что такое объектная модель Вы должны знать, раз пишете на паскале в среде Лазаруса свои программы.

AlexKir писал(а):
...в среде разработки парсинг сделан совсем по другому и с дугой целю

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

Редактировалось 1 раз(а), последний 2021-07-20 17:35:21
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 2059
Рейтинг: 131
#22: 2021-07-21 14:05:41 ЛС | профиль | цитата
Эко вы ребята размусолили!
https://my.mail.ru/video/embed/151359621083169473
Чего на человека напали?
Глупость свою не видите!?
Ай да рысаки!
Если теперь у меня пол башки не работает, то можно мордой об стол?
Стыдно!

Редактировалось 5 раз(а), последний 2021-07-21 19:46:44
карма: 6

0
Ответов: 963
Рейтинг: 12
#23: 2021-07-23 13:42:09 ЛС | профиль | цитата
Привет из "творческой нирваны".
Хаб вчера успешно победил.
(Правда чуть "отверточным способом" без полного разбора полетов в секции Sub)


Несколько раз посыпал голову пеплом нашел несколько забытых багов (профиксил).
Коплю вопросы к знатокам.

Всем привет.
Зы
Кому интересно вот код

//Обработка секции SUB
For I:=0 to ElementList.Count-1 do
begin
ET:=TSElement(ElementList.Objects[i]);
ID:=ElementList[i];
N:=ET.Name;
if ET.TypeSUB<>'' Then
begin
// Временно спец обработка для 'Hub'
if ET.Name='Hub' Then begin

//Исходящие точки
if ET.LinkList.Count>0 then
For J:=0 to ET.LinkList.count-1 do
begin

New(C);

C^.Name:='onEvent'+IntToStr(J+1);
C^.VName:='';
C^.Rem:='';
C^.Option:='';
C^.PointType:=ptOn;
Et.PointList.Add(C);
end;

K:=IndexOfParamItem('InCount',ET.ParamList);
If K<>-1 then begin
K:= StrToInt(PSParam(ET.ParamList[K])^.Data);

//Входящие точки
For J:=0 to k do begin
New(C);
C^.Name:='doEvent'+IntToStr(J+1);
C^.VName:='';
C^.Rem:='';
C^.Option:='';
C^.PointType:=ptDo;
Et.PointList.Add(C);
end;

end else

For k:=0 to ElementList.count-1 do
begin
CE:=TSElement(ElementList.Objects[k]);

if CE.LinkList.Count>0 then
For J:=0 to CE.LinkList.count-1 do begin
L:=PSLink( CE.LinkList[J]);

If L^.Id = ID then
begin
New(C);

///Writeln(L^.PointTO);

C^.Name:=L^.PointTO;
C^.VName:='';
C^.Rem:='';
C^.Option:='';
C^.PointType:=ptDo;
Et.PointList.Add(C);
end;

end;

end;;

end;

end // 'Hub'

end;



Редактировалось 4 раз(а), последний 2021-07-26 14:06:09
карма: 0

0
Ответов: 963
Рейтинг: 12
#24: 2021-07-24 16:36:36 ЛС | профиль | цитата
Очередной отчет из "творческой нирваны".
Вчера темной темной ночью снова разбирал "темный темный парсинг".
Результат добавил парсинг элементов +HubEx +GetData +GetDataEx



Исходников на это раз пока не выкладываю даже фрагментом . (сыро и непонятные коэффициенты под код подложены как газета под "хромую ножку стола" )
Зы

2 flint2: Спасибо за поддержку, но я все же из тех кто считает, что одной мечты мало!
Как там "Верблюда два горба потому, что жизнь борьба!"
Всем привет!

Редактировалось 4 раз(а), последний 2021-07-26 13:49:51
карма: 0

0
Ответов: 2059
Рейтинг: 131
#25: 2021-07-24 21:58:42 ЛС | профиль | цитата
flint2: Спасибо за поддержку, но я все же из тех кто считает, что одной мечты мало!

И?!!!

Хоть убей - не пойму.
Ну зачем всё в 3D?
это всё-ж так запутанно смотрится!...

VR тебя погубит!
Ну ка, сейчас же отставить!
Иначе, нам удачи не видать!

Редактировалось 7 раз(а), последний 2021-07-24 22:27:39
карма: 6

0
Ответов: 963
Рейтинг: 12
#26: 2021-07-26 06:08:27 ЛС | профиль | цитата
Очередной "фотоотчет"!
(Правда по нему, мало что поймешь, но это я разобрался с ПРОБЛЕМОЙ номер 2 "точками из свойств". )
[К элементу MainForm добавлена точка doColor]


Зы
2 flint2: В этой теме нет никакого 3D и VR все плоское как "ночной кошмар Эвклида"...
(Случайно влезшие 3д-скрины не в счет )

Немного подробнее


Как я уже писал я хочу чтобы "по новому оставалось все по старому"(с)Грузинский злодей из фильма

То есть что-бы новые режимы не мешали "нержавеющей классике"...
За что же вообще борьба? Так все дело перспективе! А на уже совсем близком горизонте отнюдь не VR, а AR (Дополненная реальность) . То есть скоро (через год два три) ВЫМРУТ мониторы смартфоны и т.д.
Что это означает ? А означает что даже самые "плоские программы" должны будут уметь "жить в 3д".

А выглядеть это будет как-то так...
"Голографические окна и орбитальная станция"


(Пока "поделка" но честно выполнения исключительно с помощью моей программы )

.

Редактировалось 22 раз(а), последний 2021-07-26 13:55:28
карма: 0

0
Ответов: 2059
Рейтинг: 131
#27: 2021-07-26 14:07:14 ЛС | профиль | цитата
Я не хочу обидеть и бормотать, что достойней плюнуть на свои ошибки и не сожалеть о содеянном!
Никак не могу отделаться от впечатления, что ты пытаешься свою игрушку отыграть.
Если на мизэре приходят две дыры, то надо найти мужество, и забрать своё, а не играть паровоз!
Не помню точно в каком псалме, но сказано: "Отец сына не за то ругал, что играл, а за то, что отыгрывался!".
Ты же, с удивительным упорством долбишь в одну точку. В чём фишка? Чего продаёшь?
Кому это нужно?
Свой мамон лелеешь?
Буду надеяться, что дойдёт, а на нет и суда нет.
карма: 6

0
Ответов: 963
Рейтинг: 12
#28: 2021-07-26 16:09:51 ЛС | профиль | цитата
По теме: по сути мне для завершения парсера "первого уровня" нужно сделать "показ контейнеров" (Пока без в хода в них). Разумеется это только начало .

Редактировалось 9 раз(а), последний 2021-07-27 10:29:06
карма: 0

0
Ответов: 2059
Рейтинг: 131
#29: 2021-07-26 21:21:52 ЛС | профиль | цитата
Похоже, что лопата всех исправляет!
Не понял - твоя печаль!
кто cказал? писал(а):
"Фишка" в интересе которым я делюсь ... Да, мое упорство может быть "достойно лучшего применения", но я реально стараюсь.

Часть претензий и обвинений в пустобрехстве действительно справедлива и я банально пытаюсь немного исправить положение сделав что-то что можно будет пробовать "на зуб". Не лучшая тема? Ну извиняюсь, но она точно (ИМХО) может быть полезна для развития проекта.

Занимаюсь ей "не так"? Ну так как могу так и делаю.
(И не факт, что я потом не сделаю как ожидалось то есть вникнув в исходники напишу нормальный порт)

"Забрать свое"?? Ха ха ха ! Я более 15 лет на этом форуме и забрать "часть души" которую я сюда вложил невозможно. Несмотря на все что здесь было я принес пользу проекту, а проект принес пользу мне.

Почему ты считаешь, что это я сказал?
Ты думаешь у меня башки бы хватило? - ты мне льстишь.
Начни сначала ориентироваться не в VR. И живи, нездоровье!
Газонокосилки я периодически покупаю, по мере износа, но интеллекта до сих пор в них не наблюдал, как и у пользователей во время процесса газонокошения. Я не исключение.

Редактировалось 9 раз(а), последний 2021-07-27 00:15:32
карма: 6

0
Ответов: 963
Рейтинг: 12
#30: 2021-07-27 10:16:43 ЛС | профиль | цитата
По теме :Все еще "Мучаю контейнер" похвалиться пока нечем.

Немного ворчания но на это раз по теме.

Собственно рекурсивный парсинг у меня есть самого начала
(и соответственно в каждом элементе есть поле SubElementList)

Но сходу вникнуть в "вывернутую логику" определения типов точек пока не выходит.
То есть само объявления контейнер может иметь вид
Add(ChildFormEx,6510754,252,378)
{
}

(Но кстати не всегда)
А все описание точек находится внутри контейнера то есть опять "специальный случай" который нужно обрабатывать "по специальным правилам" отчасти это неизбежно, но в формате SHA этого (ИМХО) как-то слишком уж монго.
О бедная моя глупая голова.
Зы
Из достижений пока только отрисовка исторической ( для меня) "первой схемы которой все начиналось "

Тот самый "калькулятор Соня"



Редактировалось 27 раз(а), последний 2021-07-29 19:16:19
карма: 0

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