САПР на Lazarus

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: САПР на Lazarus

Сообщение olegy123 » 08.08.2017 16:42:48

Как раз я писал про "сохранения знаний" и там где нужно еще сохранить объекты их описание и связи - лучше XML пока не придумали(может быть JSON как более компактный вид XML).
Но они не подходят для частого применения. Там уже применяется SQL.

MylnikovDm писал(а):Например, можно вообще не использовать нкиакие тэги и прочие управляющие символы, а просто писать в строку подряд те парамтеры, которые небходимо сохранить, а потом считывать их в том же самом порядке используя стандартные функции чтения/записи строк.
Видимо вы больших проектов не писали, где используется разнообразная информация, где легко потеряться даже в том, что недавно сами записывали.
olegy123
энтузиаст
 
Сообщения: 525
Зарегистрирован: 25.02.2016 12:10:20

Re: САПР на Lazarus

Сообщение zub » 08.08.2017 22:56:01

>>и там где нужно еще сохранить объекты их описание и связи - лучше XML пока не придумали
Под связями имеется ввиду древовидная структура? Наверно да, но в общем случае с связанными данными xml какраз не помошник.

Ладно, потихоньку перевожу текстовую мелочевку типа описания гуя на xml. Но не изза чудесных свойств оного, а изза лени тратить время на нормальные парсеры. Частенько бывают жалобы типа "поправил панельку инструментов, а зкад работать перестал"
zub
долгожитель
 
Сообщения: 2072
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение MylnikovDm » 09.08.2017 08:41:55

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

Проект в 1.5 миллиона строк, это достаточно большой или как? :)
Используемый инструмент должен соответствовать решаемой задаче. Никто не спорит, что в целом структурированный файл лучше, как с точки зрения поддержания проекта, так и в случае необходимости быстрой правки в процессе отладки или эксплуатации. Поэтому в больших проектах для этих целей либо используется какая-то из готовых библиотек, либо пишется своя.
Кстати, если уж говорить об XML, то в FreePascal парсер XML более менее нормально заработал с кириллицей только в версии 3.0, когда допилили нормальную работу перекодировки строк и поддержку Unicode. А до этого момента приходилось кодировку постоянно самим руками шаманить.

olegy123 писал(а):Как раз я писал про "сохранения знаний" и там где нужно еще сохранить объекты их описание и связи - лучше XML пока не придумали(может быть JSON как более компактный вид XML).
Но они не подходят для частого применения. Там уже применяется SQL.

Существует масса структурированных языков описания данных помимо ХML. В той же промышленной автоматике и САПр давно и успешно применяются STEP и EXPRESS.
Также существует такая вещь, как бинарный XML, в котором вместо тэгов используются бинарные коды. Занимает заметно меньше места и парсится намного быстрее, чем текстовый формат. Но он только машинно читаемый, то есть, в обычном текстовом редакторе, как простой XML, вы его уже не исправите.

Что касается SQL, то я ещё раз повторяю, что это не структура хранения или даже описания данных! Это язык запросов к серверу реляционной СУБД. И если уж на то пошло, то хранить сложную структуру данных с большой и сложной иерархией объектов в реляционной СУБД не очень удобно, а в некоторых случаях даже нежелательно. Хотя, к явным преимуществам большинства SQL серверов следует отнести то, что при грамотном описании структуры данных, внутренних связей и ограничений, сервер сам будет поддерживать целостность связанных данных, чего в случае XML не будет никогда.
MylnikovDm
новенький
 
Сообщения: 68
Зарегистрирован: 15.02.2007 21:26:10
Откуда: Челябинск

Re: САПР на Lazarus

Сообщение olegy123 » 09.08.2017 10:10:27

zub писал(а):>>и там где нужно еще сохранить объекты их описание и связи - лучше XML пока не придумали
Под связями имеется ввиду древовидная структура? Наверно да, но в общем случае с связанными данными xml какраз не помошник.

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

Добавлено спустя 18 минут 26 секунд:
MylnikovDm писал(а):
olegy123 писал(а):Видимо вы больших проектов не писали, где используется разнообразная информация, где легко потеряться даже в том, что недавно сами записывали.

Проект в 1.5 миллиона строк, это достаточно большой или как? :)
1.5 миллиона строк - не о чем говорит. Вывод "Hello world" можно постараться растянут до 2мл строк.

MylnikovDm писал(а):Используемый инструмент должен соответствовать решаемой задаче. Никто не спорит, что в целом структурированный файл лучше, как с точки зрения поддержания проекта, так и в случае необходимости быстрой правки в процессе отладки или эксплуатации. Поэтому в больших проектах для этих целей либо используется какая-то из готовых библиотек, либо пишется своя.
я пишу свой формат, только потому что XML - это текстовый формат, бинарные данные будут увеличены как минимум в 2 раза в нем.


MylnikovDm писал(а):Что касается SQL, то я ещё раз повторяю, что это не структура хранения или даже описания данных! Это язык запросов к серверу реляционной СУБД. И если уж на то пошло, то хранить сложную структуру данных с большой и сложной иерархией объектов в реляционной СУБД не очень удобно, а в некоторых случаях даже нежелательно. Хотя, к явным преимуществам большинства SQL серверов следует отнести то, что при грамотном описании структуры данных, внутренних связей и ограничений, сервер сам будет поддерживать целостность связанных данных, чего в случае XML не будет никогда.
я может не точно раскрыл зачем нужен - SQL, проясню: там где нужно обрабатывать большие данные и часто нужны вставки/изменения/удаления.
С обычными форматами легко можно потерять их, даже на этапе перезаписи..

Я вчера потерял диск, только потому что вместо формата qcow2 написал raw.. подключил диск (видимо была запись в структуру), в итоге все данные потерял.
olegy123
энтузиаст
 
Сообщения: 525
Зарегистрирован: 25.02.2016 12:10:20

Re: САПР на Lazarus

Сообщение zub » 09.08.2017 11:29:59

>>Я думаю, что потом заметете, что этот проект сам потом будет "перестроен" в сторону улучшения и универсальности.
Конечно, но не засчет xml.
Монолитный кусок говна в виде парсера и создателя тулбаров в одном флаконе стал полностью настраваемым модулем с регистрацией процедур как создания самих тулбаров, так и различных типов кнопок на этих тулбарах. Этот рефакторинг просился давно.
zub
долгожитель
 
Сообщения: 2072
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение olegy123 » 09.08.2017 12:04:04

zub писал(а):Конечно, но не засчет xml.

А мне помогло. В итоге упростил на 20% подход к реализации задачи. Что главное, а что второстепенное, появилось универсальность.
Просто взял карандаш и начал писать сохранку:
Код: Выделить всё
<ObjectA>
  <ObjectB>


скоро, еще наверное на 20% упрощу.
olegy123
энтузиаст
 
Сообщения: 525
Зарегистрирован: 25.02.2016 12:10:20

Re: САПР на Lazarus

Сообщение debi12345 » 13.08.2017 19:28:51

На самом деле данные вроде XML можно хранить и в SQLITE3-базе:
Код: Выделить всё
table_level1: id, text
table_level2: id, table_level1_id, text
...
table_levelN: id, table_level(N-1)_id, text


Плюсы:
- минимальная избыточность
- вся ништяки БД (поиск, группировка, транзакции, параметрические (прекомпилированные) запросы.,.)

Минусы:
- без ухищрений - фиксированное число уровней

Добавлено спустя 3 минуты 21 секунду:
С обычными форматами легко можно потерять их, даже на этапе перезаписи..

Ага - подумаешь "какая мелочь" :)))
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 4043
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: САПР на Lazarus

Сообщение zub » 14.08.2017 22:48:57

debi12345
Хоть что можно сделать хоть как. Каждый решает вмеру своей испорчености))

Свои потуги с тулбарами вынес отдельно http://svn.shamangrad.net/zcad/trunk/ca ... ztoolbars/ тамже простой пример использования. Естественно нужен транковый лазарь для компиляции))
zub
долгожитель
 
Сообщения: 2072
Зарегистрирован: 14.11.2005 23:51:26

Re: САПР на Lazarus

Сообщение zub » 19.08.2017 22:34:30

Вроде новый интерфейс закончил, выложил бинарник ревизии 2330. Прошу интересующихся потестить сохранение-восстановление разных конфигураций тулбаров.
На данный момент имеются такие оговорки:
-если тулбары не влазят на кулбар, автоматом переносятся на следующую строку
-если после манипуляций с тулбаром нужно восстановить его размер - делаем двойной щелчек по его грабберу
-высота "командной" строки самопроизвольно увеличивается - нерешеный баг анхордокинга
-переключалка раскладок окон "налету" иногда глючит на сложных раскладках - тоже баг анхордокинга
zub
долгожитель
 
Сообщения: 2072
Зарегистрирован: 14.11.2005 23:51:26

Пред.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru
cron