DRAKON.SU
https://forum.drakon.su/

Дракон-данные
https://forum.drakon.su/viewtopic.php?f=62&t=4295
Страница 1 из 4

Автор:  ==== [ Воскресенье, 24 Март, 2013 19:45 ]
Заголовок сообщения:  Дракон-данные

Прошу обратить внимание на Дракон-данные в формате ИС Дракон.

Программа ИС Дракон является:

1. Портабельной - не требует инсталляции.
2. Одно файловой - не обременена сопутствующими программными средствами других производителей.
3. Маленькой - по размеру.
4. Свободно распространяемой.
5. Позволяет размещаться в папках различных проектов, т.е. использовать несколько копий.
6. Позволяет выполнять несколько запусков одной копии, т.е. с проектом работать в коллективе.
7. В режиме просмотра данных не имеет ограничения применения.
8. Размещаться на компьютере, на флэшке, на сервере, в облаке.
9. ИС Дракон программа, которая может быть всегда с Вами.

10. Данные, в отличии от бумажного представления, являются многослойными и интерактивными.
11. За счет многослойности, данные предназначены для различных категорий пользователей.
12. Дракон-данные обеспечивают высокий уровень понимаемости за счет использования преемственности с широко известными блок-схемами.
13. Обеспечивается интеграция с другими программными средствами и интернет ресурсами.
14. Обеспечивается интернациональное использование.
15. Обеспечивается защита данных от непреднамеренного изменения.

16. Позволяет зафиксировать мысль в момент ее возникновения.
17. Является инструментом техники Вашего мышления.

18. Имеется возможно перевести программирование в визуальную среду.
19. Меняется технология программирования, первичным становится разработка алгоритма.
20. Позволяет настраивать среду на программирование с применение различных и нескольких языков программирования.
21. Генерируется промежуточный код на языках программирования с высоким уровнем оптимизации.

22. Реализованы все визуальные средства языка Дракон.
23. Обеспечивается автоматическое переформирование схем при редактировании.
24. Имеется расширение в виде схемы Гном для последовательного отображения и структуризации данных.
25. Увеличен уровень визуализации схемы Силуэт - режимы "Адреса" и "Обзор".
26. Введена верификация - проверка Дракон-схем на завершенность формирования.
27. Введены операции по изменению топологии схем: перестановка веток, разделение ветки, слияние веток.

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

Автор:  Ярослав Романченко [ Воскресенье, 24 Март, 2013 21:01 ]
Заголовок сообщения:  Re: Дракон-данные

бла бла бла...
Собственный формат данных ИС Дракон по-прежнему уродский.

PS. В качестве примера, DRAKON Editor Степана Митькина хоть гораздо более молодой проект, но описанию его формата данных посвящена целая страница http://drakon-editor.sourceforge.net/file_format.html
Относительно формата DRAKON Editor-а уже можно хоть что-то обсуждать, сказать его плюсы и минусы, а по поводу формата ИС Дракон можно только сказать, что это Кот в мешке, да ещё и небесплатный.
Плюсом формата DRAKON Editor-а является то, что данные сохраняются в базе данных SQLite
Минусом является то, что формат достаточно сложный и не очевидный.

Автор:  Ильченко Эдуард [ Понедельник, 25 Март, 2013 00:51 ]
Заголовок сообщения:  Re: Дракон-данные

Ярослав Романченко писал(а):
Собственный формат данных ИС Дракон по-прежнему уродский.
Он исправно работает, а что от него ещё нужно?

Ярослав Романченко писал(а):
Плюсом формата DRAKON Editor-а является то, что данные сохраняются в базе данных SQLite
В чём плюс хранения данных дракон-схем в базе данных SQLite?

Автор:  Ярослав Романченко [ Понедельник, 25 Март, 2013 09:04 ]
Заголовок сообщения:  Re: Дракон-данные

Ильченко Эдуард писал(а):
Он исправно работает, а что от него ещё нужно?
Если он "исправно работает" это ещё не значит, что формат подходит абсолютно для всех применений. Кроме того, он ещё и постоянно меняется когда моча в голову автору стукнет, нигде чётко не описан (это самая главная претензия). В таких условиях формат удобен исключительно для самой ИС Дракон и её автора.
Ильченко Эдуард писал(а):
В чём плюс хранения данных дракон-схем в базе данных SQLite?
В том, что его легче читать/писать и SQLite всё больше набирает популярность. И если ваш ДРАКОН-документ будет достаточно большим, могу утверждать, что из SQLite он ещё и гораздо быстрее прочитается!

Автор:  Ярослав Романченко [ Понедельник, 25 Март, 2013 09:09 ]
Заголовок сообщения:  Re: Дракон-данные

Раз уж в теме фигурирует слово "данные", не плохо-бы вопрос данных уж как-то прояснить.

PS. Дополнительным преимуществом как SQLite так и XML является их хоть какая-то самодокументированность, достаточно дать таблицам и полям базы данных и тегам XML соответствено, осмысленные имена. Текстовый-же формат ИС Дракон представяет собой тупой набор циферок в которых разобраться без описания формата достаточно сложно.

Автор:  Ярослав Романченко [ Понедельник, 25 Март, 2013 10:27 ]
Заголовок сообщения:  Re: Дракон-данные

Минусом формата SQLite является то что он бинарный и задача контроля версий документов в случае его использования становится невозможной. Этого недостатка лишён формат XML.

PS. Для сравнения бинарных файлов существует возможность создавать плагины. Например, для программы WinMerge существует плагин позволяющий делать сравнение массы популярных форматов офисных документов http://freemind.s57.xrea.com/xdocdiffPl ... index.html

Автор:  Степан Митькин [ Понедельник, 25 Март, 2013 16:47 ]
Заголовок сообщения:  Re: Дракон-данные

Ильченко Эдуард писал(а):
В чём плюс хранения данных дракон-схем в базе данных SQLite?

Для пользователя есть два основных плюса от SQLite:

1. Запись в файл производится внутри транзакции базы данных. Это означает сохранность данных в случае нештатного завершения программы
(например, в случае краха или если электричество кончилось).

2. Даже очень большие файлы, с большим количеством диаграмм, моментально загружаются и сохраняются.
Это позволяет сохранять на лету каждое действие пользователя.
Кнопка "Сохранить" - это из прошлого века.
http://drakon-editor.sourceforge.net/instant_save.html

Автор:  Степан Митькин [ Понедельник, 25 Март, 2013 16:52 ]
Заголовок сообщения:  Re: Дракон-данные

Ярослав Романченко писал(а):
Минусом формата SQLite является то что он бинарный и задача контроля версий документов в случае его использования становится невозможной. Этого недостатка лишён формат XML.

Это так, но сравнение версий XML-файла будет текстовым, при помощи программ типа WinMerge.

Думаю, назрел серьёзный принципиальный вопрос:
Как лучше всего визуализировать сравнение ДРАКОН-схем?.

Автор:  ==== [ Понедельник, 25 Март, 2013 17:37 ]
Заголовок сообщения:  Re: Дракон-данные

Ярослав Романченко писал(а):
Собственный формат данных ИС Дракон по-прежнему уродский.

В ИС Дракон стандартный формат данных - CSV.
Можете загрузить в Exсel.

Ваше эстетическое восприятие формата - "по-прежнему уродский", однако более чем странное, вероятно очень давно.

Автор:  ==== [ Понедельник, 25 Март, 2013 17:44 ]
Заголовок сообщения:  Re: Дракон-данные

Ярослав Романченко писал(а):
Кроме того, он ещё и постоянно меняется когда моча в голову автору стукнет, нигде чётко не описан (это самая главная претензия).
Как то вас все влечет то дерьмо, то моча, в следующий раз еще что-нибудь.

Формат предельно четко описан на форуме, могу помочь разобраться.

Автор:  ==== [ Понедельник, 25 Март, 2013 18:22 ]
Заголовок сообщения:  Re: Дракон-данные

Ярослав Романченко писал(а):
Раз уж в теме фигурирует слово "данные", не плохо-бы вопрос данных уж как-то прояснить.
Дракон-данными являются все составляющие описания элементов Дракон-документа:
набор листов в проекте,
элементы листа - колонтитулы, точки текста, схемы, компоновка схем, время редактирования,
элементы схем - вид, идентификатор, номер, точки текста, время редактирования,
элементы иконы - вид, идентификатор, номер, точки текста, текст иконы, Да-Нет, связи с другими иконами, метки.

Тексты в колонтитулах, идентификаторах, в иконах, в точках текстов должны отображать качественную сторону проблемы, которой посвящен алгоритм.

Автор:  Ярослав Романченко [ Понедельник, 25 Март, 2013 23:01 ]
Заголовок сообщения:  Re: Дракон-данные

Геннадий Тышов писал(а):
В ИС Дракон стандартный формат данных - CSV
И в чём-же его преимущества, Геннадий?
Единственное, пожалуй, компактный размер...
Минусов же вагон и маленькая тележка:
- Скорость чтения/записи для больших документов будет ниже, чем при работе с базой данных;
- Самодокументированность отсутствует, отсюда и полная нечитабельность, файл содержит бессмысленный набор цифр;
- Зависимость от модификации перечислимых структур в коде программы. Вы не раз перетасовывали перечисления хранящие типы икон, что ломало совместимость версий докуметов;
- Нерасширяемость. Попытка что-либо добавить или убрать неминуемо приводит к несовместимости версий.
Ну с какого бодуна такой формат можно было придумать? И форматы нужно описывать вот так http://drakon-editor.sourceforge.net/file_format.html, а не посылать человека на форум.

Автор:  Ярослав Романченко [ Понедельник, 25 Март, 2013 23:26 ]
Заголовок сообщения:  Re: Дракон-данные

Если уж такая любовь к архаичным форматам, то почему не был выбран формат .INI ? :lol:
Если дать осмысленные имена секциям и ключам в этих секциях может получиться интересный формат :)
http://en.wikipedia.org/wiki/INI_file

Автор:  Ярослав Романченко [ Вторник, 26 Март, 2013 00:13 ]
Заголовок сообщения:  Re: Дракон-данные

Степан Митькин писал(а):
Как лучше всего визуализировать сравнение ДРАКОН-схем?.
Вот, вот. Нужно как-то сравнивать изменение топологии схем, раз сравнение текстов выбивается из концепции...

Автор:  Ярослав Романченко [ Вторник, 26 Март, 2013 00:19 ]
Заголовок сообщения:  Re: Дракон-данные

Геннадий Тышов писал(а):
Дракон-данными являются все составляющие описания элементов Дракон-документа: набор листов в проекте,элементы листа - колонтитулы, точки текста, схемы, компоновка схем, время редактирования,элементы схем - вид, идентификатор, номер, точки текста, время редактирования,элементы иконы - вид, идентификатор, номер, точки текста, текст иконы, Да-Нет, связи с другими иконами, метки. Тексты в колонтитулах, идентификаторах, в иконах, в точках текстов должны отображать качественную сторону проблемы, которой посвящен алгоритм.
Ну, так в чём проблема? Разложите это всё по таблицам базы данных или в структуре XML документа, с омысленными читабельными именами таблиц/полей или XML тегов и будет всем счастье.

Автор:  Ярослав Романченко [ Вторник, 26 Март, 2013 00:36 ]
Заголовок сообщения:  Re: Дракон-данные

А если Геннадий, Вы будете всё время пенять на мой тон, то приведу пример письма где тон был деловым и доброжелательным, после чего Вы почему-то стали просто игнорировать все мои дальнейшие дельные замечания. Какой у меня должен быть тон обращения к Вам после этого?
Цитата:
> Задержался с ответом, извините . Высылаю архивированный каталог разработки
> Дракон-редактора.

Огромное спасибо! Посмотрел код. Довольно хорошо реализовано. Но и возможных улучшений конечно видится множество :)

Например, при сохранении в рисунок можно воспользоваться форматом PNG (гораздо лучше подходящий формат для схем и более эффективный в данном случае) - фалы получаются как минимум в 10 раз меньше:

Вот здесь можно взять компонент:
http://www.focusoncode.com/delphi-and-p ... phics-png/

uses
pngimage;

procedure TForm1.SpeedButton7Click(Sender: TObject);
var L,T,R,B:Integer; // Сохранить лист в графическом файле
N:Integer;
Dr:tDr;
BMP:TBitMap;
PNG: TPNGObject;
NameF:String;
begin
L:=BigMax; T:=BigMax; R:=-BigMax; B:=-BigMax;
for N:=0 to SDr.Count-1 do begin
Dr:=SDr.Items[N];
L:=Min(Dr.Rct.Left,L);
T:=Min(Dr.Rct.Top,T);
R:=Max(Dr.Rct.Right,R);
B:=Max(Dr.Rct.Bottom,B);
end;
L:=Max(1,L-D);
T:=Max(1,T-D);
R:=Min(R+D,Form1.Image1.Width-1);
B:=Min(B+D,Form1.Image1.Height-1);
Red.El:=Nil; Red.Dr:=Nil;
Draw;
//
BMP:=TBitMap.Create;
BMP.Width:=R-L;
BMP.Height:=B-T;
BitBlt(BMP.Canvas.Handle,0,0,BMP.Width,BMP.Height,
Form1.Image1.Canvas.Handle,L,T,SRCCOPY);
//
PNG := TPNGObject.Create;
PNG.Assign(BMP);
PNG.CompressionLevel := 9;
NameF:=copy(NameDR, 1, Length(NameDR) - 4) + '.PNG';
PNG.SaveToFile(NameF);
PNG.Free;
BMP.Free;

StatusBar1.SimpleText:='Изображение сохранено в файле: '+NameF;
end;

Количество перерисовок окна можно немного уменьшить изменив обработчик FormMouseWheel:

procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin // Перемещение листа колесом мыши
if Shift=[] then
Image1.Top := Max(ClientHeight - 50 - Image1.Height - MemoPrim.Height, Min(50, Image1.Top + WheelDelta div 3))
else
Image1.Left := Max(ClientWidth - 50 - Image1.Width, Min(50, Image1.Left - WheelDelta div 2));
end;

> Сейчас пишется новая версия. В ней формат выходного файла изменен.

А конвертация из старого формата предусматривается? :)

> Для меня интересно знать о Вашем использовании Дракон-редактора, сообщайте.

Для начала решил приделать генерацию Oberon-кода по нажатию кнопки :)

Всё-таки, похоже правильно Вы разделяете тексты на отображаемый в элементе, и код вынесенный в примечание... Текст в элементе должен словесно описывать действие производимое блоком. По-идее нагляднее (эргономичнее) получается. А после генерации получаем подробно комментированный код :)
Вот, обдумываю, как получше всё это организовать.
И я буду настаивать, что-бы Вы изъяли из ИС Дракон возможность экспорта схем в формат .PNG. Поскольку эта функциональность появилась в ИС Дракон после моих интелектуальных усилий!

Автор:  Ярослав Романченко [ Вторник, 26 Март, 2013 07:05 ]
Заголовок сообщения:  Re: Дракон-данные

Люди добрые, обратите внимание ещё раз на моё письмо.
Там я у Тышова ешё интересуюсь, будет-ли конвертация из старого формата в новый...
Так вот, Геннадий Тышов на моё письмо вообще не ответил, беззастенчиво воспользовался моими советами (добавил экспорт в .png, поменял обработчик мыши для уменшения мерцаний), поменял формат файлов в новой версии не сделав поддержки старой версии (зная прекрасно, что у меня уже будут наработки в старом редакторе), ставит меня в позу просящего (Геннадий Николаевич, милый вы наш, дайте описание нового формата), предоставил мне перспективу писать ковертор в новый формат самому.
А всё что поменялось в новом формате, это добавилась строчка в начале файла и перетасовались номера икон (незная как они поменялись как-то тяжело всё-таки сконвертировать файлы).
Так кто Вы после этого, Геннадий Николаевич?
А Вы нехороший человек, и ещё ИНТЕЛЛЕКТУАЛЬНЫЙ ТЕРРОРИСТ, формулировку найдёте у Паронджанова в книге "Как улучшить работу ума?".
А вы наверное даже не догадываетесь, что Delphi имеет средство которое может помочь улучшить уродский формат .drt... Можно для перечислимых типов писать в фай не число (порядковый номер перечислимого типа) а его имя, а при чтении файла конвертировать обратно из имени в число. Так вот.

Автор:  ==== [ Среда, 27 Март, 2013 16:55 ]
Заголовок сообщения:  Re: Дракон-данные

Я., смотрите viewtopic.php?p=78893#p78893

Смените тон общения.

Автор:  Ярослав Романченко [ Среда, 27 Март, 2013 17:25 ]
Заголовок сообщения:  Re: Дракон-данные

Геннадий Тышов писал(а):
Смените тон общения.
Ведите себя адекватно, будет и тон общения соответствующий.
И где в последних сообщениях был тон, лишь только упрямые факты.

Автор:  ==== [ Среда, 27 Март, 2013 17:49 ]
Заголовок сообщения:  Re: Дракон-данные

Я., что вы хотите от меня?

Страница 1 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/