DRAKON.SU

Текущее время: Понедельник, 29 Апрель, 2024 03:23

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Среда, 30 Июль, 2008 20:42 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Владимир Паронджанов писал(а):
три маленьких пустых квадратика
Изобретение Геннадия Тышова.
Соответствуют:
- управленческому примечанию иконы;
- алгоритмическому примечанию иконы;
- программному коду иконы.
При заполнении соответствующих полей квадратики становятся закрашенными.
В принципе, выглядят они симпатичнее чёрточек в предыдущих версиях редактора :)


PS. Открытость файлового формата редакора -- крайне важный вопрос!
Отсутствие открытости ограничит аудиторию возможных пользователей редактора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Среда, 30 Июль, 2008 21:10 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5852
Откуда: Москва
Уважаемый Ярослав Романченко!

Эти три квадратика исчезают в конце работы? Их можно удалить?
Или их удалить нельзя и они обязательно присутствуют в полностью законченной схеме?
Выскажите Ваше мнение: эти квадратики полезны или нет? Что именно они улучшают? Или они вносят неудобства для пользователей? Я не смог догадаться.

Что значит открыть файловый формат редактора?
Это значит открыть исходники для всех пользователей?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Среда, 30 Июль, 2008 23:36 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 112
Откуда: Беларусь, Минск
Файловый формат редактора - это комплекс правил, позволяющих сохранять в файл выполненную в редакторе работу, а также восстанавливать её из файла.

Правила представляют собой типичные алгоритмы, поэтому, если дойдёт до открытия формата, то неплохо бы выполнить эту работу в виде дракон-схем : ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Четверг, 31 Июль, 2008 02:11 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 24
Valery Solovey писал(а):
Правила представляют собой типичные алгоритмы, поэтому, если дойдёт до открытия формата, то неплохо бы выполнить эту работу в виде дракон-схем : ).


Описание формата представляет собой декларатив в чистом виде, поэтому дракон идет лесом :) На драконе можно описать алгоритм чтения/записи такого формата, но в таком случае для понимания самого формата придется заниматься reverse engineering'ом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Четверг, 31 Июль, 2008 07:54 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Уважаемый Владимир Даниелович!
Владимир Паронджанов писал(а):
Эти три квадратика исчезают в конце работы? Их можно удалить?
Или их удалить нельзя и они обязательно присутствуют в полностью законченной схеме?
Не исчезают, и при экспорте в графический файл остаются. Видимо, остаются и в законченной схеме тоже.
Владимир Паронджанов писал(а):
Выскажите Ваше мнение: эти квадратики полезны или нет? Что именно они улучшают? Или они вносят неудобства для пользователей?
Они показывают пользователю заполнено ли соответствующее поле у иконы. По большому счёту, мне хватило бы одного такого поля, а следовательно и квадратика. Поскольку консенсуса в количестве полей/квадратиков достичь может быть проблематично, было-бы неплохо для каждой ДРАКОН-схемы сохранять соответствующее количество булевских параметров, указывающих на присутствие этих полей. И если параметр установлен в ЛОЖЬ не показывать соответствущий квадратик и не предоставлять возможности редатировать соответствующее поле.
И ещё важное замечание: возможность редактирования текстовых полей хорошо-бы обеспечить ВСЕГДА, а не включать её из меню. И при щелчке на иконе отображать элементы редактирования для ВСЕХ текстовых полей, в том числе и для текста иконы.
Отображение квадратиков сделать включаемым/отключаемым через меню.
Владимир Паронджанов писал(а):
Что значит открыть файловый формат редактора?
Это значит открыть исходники для всех пользователей?
ОТКРЫТЬ ИСХОДНИКИ это ещё не значит ОТКРЫТЬ ВСЕ ИСХОДНИКИ, и с таким условием их вполне можно открыть для ВСЕХ :)
Поскольку я изучал исходники Геннадия, могу порекомендовать, как это можно сделать.
В программе (согласно самой первой версии) присутствуют две основные структурные единицы. Класс Схема, и класс Элемент. Ещё присутствуют два списка, для экземпляров типа Схема и экземпляров типа Элемент соответственно.
Всё что нужно сделать:
1. Выделить списки и эти 2 класса в отдельный модуль (назовём его условно БАЗОВЫЙ), убрав из них все методы не нужные для чтения/записи. Останутся только поля классов, и конструктор с деструктором для правильного создания экземпляров классов и освобождения памяти.
2. Перенести в БАЗОВЫЙ модуль также и процедуры чтения/записи файлов.
3. В программе добавить БАЗОВЫЙ модуль в секцию uses, и описать два класса-потомка для тех базовых классов с расширением необходимой функциональности. И для чтения/записи использовать процедуры определённые в БАЗОВОМ модуле.
4. Опубликовать БАЗОВЫЙ модуль для ВСЕХ пользователей.

PS. Даже более того! Сообщество сможет дописать в БАЗОВОМ модуле процедуры чтения/записи для альтернативных форматов, например XML.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Четверг, 31 Июль, 2008 10:50 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Отключить квадратики МОЖНО (что я и делаю, просто при каждом открытии редактор их вновь показывает - я перед снимком экрана не отключал).
Пункт меню - Вид->Графика с примечаниями (вкл/выкл галочку).

2Vlad,
по поводу Дракона для спецификации формата.
Если посмотреть чисто формально, то можно использовать Дракон по типу синт. диаграммы. Т.е. на замену БНФ. Каждый блок "действие" будет представлять не действие, а нек. терминал, каждый блок "вставка" - нетерминал. Точно так же, как БНФ, можно трактовать такую "Дракон-грамматику" и в генеративном смысле (способ генерации всех допустимых последовательностей), и в распознавательном (способ проверяния последовательности на принадлежность языку).
В общем случае, я думаю, это будет хуже БНФ (громоздче без плюсов).
Но для некоторых форматов, если в них присутствует сильная вариативность и контекстная зависимость (семантические ограничения по типу "если вот там-то такое-то значение, то тут вот так-то") Дракон может быть полезен. По выр. мощности алгоритмическая схема сильнее контекстно-свободной грамматики. В частности, семантические ограничения (контекстные), которые в БНФ не выразишь, в алгоритмич. виде выражаются легко.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Четверг, 31 Июль, 2008 12:08 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5852
Откуда: Москва
Это черновик. Через некоторое время будет удален.
Чистовик находится здесь
viewtopic.php?p=18051#p18051


Уважаемый Геннадий Тышов!

Я с большим уважением отношусь к Вашим авторским правам на созданный Вами дракон-редактор, который является Вашей интеллектуальной собственностью.

Прошу рассмотреть следующие предложения (подготовленные Ярославом Романченко). Если они не нарушают Ваших авторских прав, обращаюсь к Вам с почтительной просьбой (при возможности) реализовать их.

ПРЕДЛОЖЕНИЯ

1. Внести в программу дракон-редактор новый модуль и присвоить ему название «Базовый».

2. Включить в состав Базового модуля:

      • структурную единицу Класс Схема;
      • структурную единицу Класс Элемент;
      • список экземпляров типа Схема;
      • список экземпляров типа Элемент.

Убрать из них все методы не нужные для чтения/записи.
Останутся только поля классов, и конструктор с деструктором для правильного создания экземпляров классов и освобождения памяти.

3. Перенести в БАЗОВЫЙ модуль процедуры чтения/записи файлов.

4. В программе:

      • добавить БАЗОВЫЙ модуль в секцию uses;
      • описать два класса-потомка для базовых классов с расширением необходимой функциональности;
      • для чтения/записи использовать процедуры определённые в БАЗОВОМ модуле.

5. Опубликовать БАЗОВЫЙ модуль для всех пользователей. (Остальные исходные тексты Вашего дракон-редактора публиковать не требуется).

По мнению Ярослава Романченко, участники Оберон-сообщества смогут дописать в БАЗОВОМ модуле процедуры чтения/записи для альтернативных форматов, например XML.


Уважаемый Ярослав Романченко!

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

Если я исказил Вашу мысль или что-то упустил, поправьте меня. Это можно сделать двумя способами.

1. Либо Вы говорите мне, чтО надо исправить. И я исправляю.

2. Либо Вы излагаете все от своего имени. И я удаляю это сообщение.


Последний раз редактировалось Владимир Паронджанов Пятница, 08 Август, 2008 17:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Четверг, 31 Июль, 2008 15:23 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 24
Илья Ермаков писал(а):
По выр. мощности алгоритмическая схема сильнее контекстно-свободной грамматики. В частности, семантические ограничения (контекстные), которые в БНФ не выразишь, в алгоритмич. виде выражаются легко.


Согласен, в случае контекстной зависимости императив (в лице дракона) может оказаться удобнее...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Суббота, 02 Август, 2008 15:09 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Вложение:
scheme.gif
scheme.gif [ 26.01 КБ | Просмотров: 15433 ]


Я решил перенести вариант "Объект собран сборщиком мусора" левее (т.к. он лучше, чем аварийное закрытие).
Мне теперь нужно удалить правый вариант. Я не могу это сделать.
Если я щёлкаю на вариант и нажимаю "Удалить без разрыва", то убивается и петля цикла, идущая наверх.
Команда "Удалить икону и хвосты" вешает редактор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Понедельник, 04 Август, 2008 11:15 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Владимир Паронджанов писал(а):
Если я исказил Вашу мысль или что-то упустил, поправьте меня. Это можно сделать двумя способами.
1. Либо Вы говорите мне, чтО надо исправить. И я исправляю.
2. Либо Вы излагаете все от своего имени. И я удаляю это сообщение.
Формулировки более-менее приемлемые.
Только вот при реализации этого очевидны небольшие проблемы...
Списки в БАЗОВОМ модуле при чтении файлов будут заполняться экземплярами БАЗОВЫХ классов, а для редактора Геннадию понадобится, что-бы списки содержали экземпляры расширенных версий классов.
Один из способов достаточно легко устранить проблему, например, сделать в БАЗОВОМ модуле процедуру для инициализации модуля с параметрами. А в качестве параметров передавать указатели на функции-фабрики объектов. Таким образом в редакторе надо будет создать реализации фабрик возвращающих экземпляры расширенных классов, а в любой сторонней программе, использующей БАЗОВЫЙ модуль соответственно реализации фабрик возвращающих экземпляры БАЗОВЫХ классов. В БАЗОВОМ модуле вместо создания экземпляров классов методом Create, использовать вызовы функций-фабрик.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Понедельник, 04 Август, 2008 19:54 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5852
Откуда: Москва
Это черновик. Через некоторое время будет удален.
Чистовик находится здесь
viewtopic.php?p=18051#p18051


Уважаемый Геннадий Тышов!

Я с большим уважением отношусь к Вашим авторским правам на созданный Вами дракон-редактор, который является Вашей интеллектуальной собственностью.

Прошу рассмотреть следующие предложения (подготовленные Ярославом Романченко). Если они не нарушают Ваших авторских прав, обращаюсь к Вам с почтительной просьбой (при возможности) реализовать их.

ПРЕДЛОЖЕНИЯ

1. Внести в программу дракон-редактор новый модуль и присвоить ему название «Базовый».

2. Включить в состав Базового модуля:

      • структурную единицу Класс Схема;
      • структурную единицу Класс Элемент;
      • список экземпляров типа Схема;
      • список экземпляров типа Элемент.

Убрать из них все методы не нужные для чтения/записи.
Останутся только поля классов, и конструктор с деструктором для правильного создания экземпляров классов и освобождения памяти.

3. Перенести в БАЗОВЫЙ модуль процедуры чтения/записи файлов.

4. Списки в БАЗОВОМ модуле при чтении файлов заполняются экземплярами БАЗОВЫХ классов. При этом списки должны содержать экземпляры расширенных версий классов.

5. Для выполнения требования пункта 4 необходимо:

      • создать в БАЗОВОМ модуле процедуру для инициализации модуля с параметрами. В качестве параметров передавать указатели на функции-фабрики объектов;
      • в редакторе надо создать реализации фабрик, возвращающих экземпляры расширенных классов;
      • в БАЗОВОМ модуле вместо создания экземпляров классов методом Create, использовать вызовы функций-фабрик.
      • в любой сторонней программе, использующей БАЗОВЫЙ модуль, надо создать реализации фабрик, возвращающих экземпляры БАЗОВЫХ классов.

5. В программе:
• добавить БАЗОВЫЙ модуль в секцию uses;
• описать два класса-потомка для базовых классов с расширением необходимой функциональности;
• для чтения/записи использовать процедуры определённые в БАЗОВОМ модуле.

6. Опубликовать БАЗОВЫЙ модуль для всех пользователей. (Остальные исходные тексты Вашего дракон-редактора публиковать не требуется).

По мнению Ярослава Романченко, участники Оберон-сообщества смогут дописать в БАЗОВОМ модуле процедуры чтения/записи для альтернативных форматов, например XML.


Уважаемый Ярослав Романченко!

В этом сообщении я попытался изложить последнюю версию предложенного Вами Технического задания на доработку дракон-редактора Геннадия Тышова.

Если я исказил Вашу мысль или что-то упустил, поправьте меня. Это можно сделать двумя способами.

1. Либо Вы говорите мне, чтО надо исправить. И я исправляю.

2. Либо Вы излагаете все от своего имени. И я удаляю это сообщение.

3. Просьба заменить мои «более-менее приемлемые» формулировки на точные и корректные.


Последний раз редактировалось Владимир Паронджанов Пятница, 08 Август, 2008 16:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Пятница, 08 Август, 2008 10:49 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Владимир Паронджанов писал(а):
Списки в БАЗОВОМ модуле при чтении файлов заполняются экземплярами БАЗОВЫХ классов. При этом списки должны содержать экземпляры расширенных версий классов.
Не совсем верно. Можно переписать так: "При использовании БАЗОВОГО модуля со сторонними программами списки в БАЗОВОМ модуле при чтении файлов заполняются экземплярами БАЗОВЫХ классов, а при использовании с редактором списки заполняются экземплярами расширенных версий классов".
Владимир Паронджанов писал(а):
По мнению Ярослава Романченко, участники Оберон-сообщества смогут дописать в БАЗОВОМ модуле процедуры чтения/записи для альтернативных форматов, например XML.
За всё Оберон-сообщество не отвечу :D Более вероятно, что Оберон-сообщество портирует модуль в среды BlackBox и A2 для чтения/конвертации .drt файлов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Пятница, 08 Август, 2008 16:50 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5852
Откуда: Москва
Уважаемый Геннадий Тышов!

Я с большим уважением отношусь к Вашим авторским правам на созданный Вами дракон-редактор, который является Вашей интеллектуальной собственностью.

Прошу рассмотреть следующие предложения (подготовленные Ярославом Романченко). Если они не нарушают Ваших авторских прав, обращаюсь к Вам с почтительной просьбой (при возможности) реализовать их.

ПРЕДЛОЖЕНИЯ

1. Внести в программу дракон-редактор новый модуль и присвоить ему название «БАЗОВЫЙ».

2. Включить в состав БАЗОВОГО модуля:

      • структурную единицу Класс Схема;
      • структурную единицу Класс Элемент;
      • список экземпляров типа Схема;
      • список экземпляров типа Элемент.

Убрать из них все методы не нужные для чтения/записи.
Останутся только поля классов, и конструктор с деструктором для правильного создания экземпляров классов и освобождения памяти.

3. Перенести в БАЗОВЫЙ модуль процедуры чтения/записи файлов.

4. Следует различать два случая:

      а) Использование БАЗОВОГО модуля со сторонними программами. В этом случае списки в БАЗОВОМ модуле при чтении файлов заполняются экземплярами БАЗОВЫХ классов.

      б) Использование БАЗОВОГО модуля с дракон-редактором. В этом случае списки в БАЗОВОМ модуле при чтении файлов заполняются экземплярами расширенных версий классов.


5. Для выполнения требования пункта 4 необходимо:

      • создать в БАЗОВОМ модуле процедуру для инициализации модуля с параметрами. В качестве параметров передавать указатели на функции-фабрики объектов;
      • в редакторе надо создать реализации фабрик, возвращающих экземпляры расширенных классов;
      • в БАЗОВОМ модуле вместо создания экземпляров классов методом Create, использовать вызовы функций-фабрик.
      • в любой сторонней программе, использующей БАЗОВЫЙ модуль, надо создать реализации фабрик, возвращающих экземпляры БАЗОВЫХ классов.

6. В программе:
• добавить БАЗОВЫЙ модуль в секцию uses;
• описать два класса-потомка для базовых классов с расширением необходимой функциональности;
• для чтения/записи использовать процедуры определённые в БАЗОВОМ модуле.

7. Опубликовать БАЗОВЫЙ модуль для всех пользователей. (Остальные исходные тексты Вашего дракон-редактора публиковать не требуется).

Можно предположить, что участники Оберон-сообщества будут портировать БАЗОВЫЙ модуль в среды BlackBox и A2 для чтения/конвертации .drt файлов.

Можно также предположить, что некоторые участники Оберон-сообщества смогут дописать в БАЗОВОМ модуле процедуры чтения/записи для альтернативных форматов, например XML.


Уважаемый Ярослав Романченко!

В этом сообщении я попытался изложить последнюю версию предложенного Вами Технического задания на доработку дракон-редактора Геннадия Тышова.

Если я исказил Вашу мысль или что-то упустил, поправьте меня.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Пятница, 08 Август, 2008 17:04 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5852
Откуда: Москва
Илья Ермаков писал(а):

Я решил перенести вариант "Объект собран сборщиком мусора" левее (т.к. он лучше, чем аварийное закрытие).
Мне теперь нужно удалить правый вариант. Я не могу это сделать.
Если я щёлкаю на вариант и нажимаю "Удалить без разрыва", то убивается и петля цикла, идущая наверх.
Команда "Удалить икону и хвосты" вешает редактор.


Илья! Расскажите, как Вы преодолели затруднение и вышли из положения. Если можно, поподробнее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Пятница, 08 Август, 2008 17:31 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Я пересадил лиану "да" из развилки "Соединение потеряно?" на выход "нет" из этой же развилки. После чего удалил эту развилку, а самую правую, которую хотел удалить, переделал на "Соединение потеряно".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дракон-редактор от 27.07.2008
СообщениеДобавлено: Среда, 03 Сентябрь, 2008 16:02 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 29
Откуда: Austria, Bruck
Геннадий Тышов, несколько маленьких предложений-просьб:
1) можете перекомпилировать программу с поддережкой Unicode? Очень сложно читаь текст из знаков вопроса.
2) Можно добавить в меню команды вставки икон?

Готов помочь в написании справки.

UPD Понял - мои просьбы излишни. Не понятно только, почему после старта, программа выглядит вот так:


Вложения:
drt3-view1.PNG
drt3-view1.PNG [ 15.61 КБ | Просмотров: 15391 ]
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB