OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 21 Июнь, 2025 07:16

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Эргономика для разработчика
СообщениеДобавлено: Пятница, 03 Март, 2006 13:00 
Аватара пользователя

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 13:17
Сообщения: 84
Откуда: Россия, Мурманск
Коллеги, предлагаю в этой ветке делиться всякими удобными "примочками" или недокументированными возможностями среды BlackBox, которые позволяют повысить производительность труда. Также предлагаю задавать вопросы, ну и отвечать на них :lol:

Самому поделиться пока нечем. Тогда задам вопрос:
Разрабатываю многомодульную систему. Редактирую один из модулей, потом говорю типа: "Compile and unload". Ну и получаю: unload, мол, failed. Понятно почему - этот модуль загружен и используется другими. Ну тогда иду в Module List и выгружаю их все. Нельзя ли как-то автоматизировать этот процесс, типа сделать команду "Compile and unload all linked modules"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 03 Март, 2006 21:09 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Дмитрий Темиргалеев, мой коллега, этим делом занимался - он тут даже где-то об этом говорил. У него весь процесс рутины заавтоматизирован до предела - знай только коммандеры нажимай... Только что кофе ему ББ еще варить не научился :-) Сейчас надо бы это собрать в единый пакет Intelligence for BlackBox. Сейчас хотим мы сделать еще что-то вроде CVS, для управления разработкой, т.к. уже становится тяжеловато. Хотя в парадигме ББ путаницы с исходниками, версиями и групповой разработкой все равно на порядок меньше, чем в других средах.

Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 05 Март, 2006 22:30 
Аватара пользователя

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 13:17
Сообщения: 84
Откуда: Россия, Мурманск
А почему CVS? Может лучше SubVersion?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 27 Апрель, 2006 15:48 

Зарегистрирован: Суббота, 22 Апрель, 2006 21:30
Сообщения: 35
Илья Ермаков писал(а):
Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК.


Скоро?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 27 Апрель, 2006 15:52 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Скажу только, что в июне на сайте появится много нового :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 18 Июнь, 2007 22:49 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Илья Ермаков писал(а):
...Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК.


А про какую CVS речь шла? Мы тут уже успели замутить подсистему для Blackbox, на платформе ODBC+MySQL. Показалось интереснее, чем писать интерфейс для Subversion...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 18 Июнь, 2007 22:59 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4722
Откуда: Россия, Орёл
Иван А. Кузьмицкий писал(а):
Илья Ермаков писал(а):
...Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК.


А про какую CVS речь шла? Мы тут уже успели замутить подсистему для Blackbox, на платформе ODBC+MySQL. Показалось интереснее, чем писать интерфейс для Subversion...

И в чём соль подсистемы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 07:24 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Борис Рюмшин писал(а):
Иван А. Кузьмицкий писал(а):
Илья Ермаков писал(а):
...Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК.


А про какую CVS речь шла? Мы тут уже успели замутить подсистему для Blackbox, на платформе ODBC+MySQL. Показалось интереснее, чем писать интерфейс для Subversion...

И в чём соль подсистемы?


Особенно ни в чём. Блокирующая, модульная, ничего необычного. Разве что "родная", блэкбоксовая. Переплюнуть ту же Subversion цели не ставилось, просто изучаем BB.
Да с чего всё началось... Когда над подсистемой трудится более одного человека, естественно, есть риск влететь на "накат" старой версии при обмене модулями. Понадобилось видеть автора, и дату правки модуля, а для пущего пижонства - прямо в Ящике.
Я как-то ставил CVS-ку, качал исходники FreePascal. И вот что подумал - для моего уровня рисовать нормальный интерфейс к уже существующим CVS займёт не меньше времени, сколько и написание своей системы контроля (чего там - четыре таблицы в базе). Но во втором случае я получаю бонусы - дополнительный опыт в ББ и экономия времени на изучение CVS. Так что через пару дней каркас был готов, сейчас в фоновом режиме отлаживаем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 12:38 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
CVS стар... очень стар... и отнюдь не суперстар :-)
Лучше SVN - вполне себе ничего системка...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 14:01 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Илья Ермаков писал(а):
CVS стар... очень стар... и отнюдь не суперстар :-)
Лучше SVN - вполне себе ничего системка...


Может, у вас и интерфейс для ББ к ней есть? Я-то под виндой сижу, поставил Tortoise, чувствую себя тупым как никогда до этого :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 14:07 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2461
Откуда: Россия, Томск
Иван А. Кузьмицкий писал(а):
Может, у вас и интерфейс для ББ к ней есть? Я-то под виндой сижу, поставил Tortoise, чувствую себя тупым как никогда до этого :)

ХА! Думаете, интерфейс для ББ вам поможет?

Серьезно, в чем проблема-то? Я уже скоро год как пользуюсь, в том числе для проектов на ББ. Как-то никаких доводов в пользу "родного" ББ-интерфейса не вижу. Tortoise + пара скриптов отлично справляются со всеми задачами. Ну, немного доработал еще процедуру сравнения текстов, чтобы пробелы не пропускала. И все работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 15:01 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Александр Ильин писал(а):
Я уже скоро год как пользуюсь, в том числе для проектов на ББ. Как-то никаких доводов в пользу "родного" ББ-интерфейса не вижу. Tortoise + пара скриптов отлично справляются со всеми задачами. Ну, немного доработал еще процедуру сравнения текстов, чтобы пробелы не пропускала. И все работает.

Вы храните исходные тексты для ББ в текстовом формате? Если нет, то как можно просмотреть различия между версиями?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 15:21 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2461
Откуда: Россия, Томск
PGR писал(а):
Вы храните исходные тексты для ББ в текстовом формате? Если нет, то как можно просмотреть различия между версиями?

Сравнение файлов произвожу внутри самого BlackBox (клавиша F9). Вот мои файлы сценариев, которые я успешно использую совместно с TortoiseSVN для сравнения и слияния измененных файлов.

Файл "diff-odc.js":
Код:
var objArgs,num,sBaseDoc,sNewDoc,objScript,shell;

objArgs = WScript.Arguments;
num = objArgs.length;
if (num < 2)
{
   WScript.Echo("Usage: [CScript | WScript] diff-odc.js base.odc new.odc");
   WScript.Quit(1);
}

sBaseDoc = objArgs(0);
sNewDoc = objArgs(1);

objScript = new ActiveXObject("Scripting.FileSystemObject");
if ( ! objScript.FileExists(sBaseDoc))
{
    WScript.Echo("File " + sBaseDoc + " does not exist.  Cannot compare the documents.");
    Wscript.Quit(1);
}
if ( ! objScript.FileExists(sNewDoc))
{
    WScript.Echo("File " + sNewDoc +" does not exist.  Cannot compare the documents.");
    Wscript.Quit(1);
}

objScript = null;

shell = WScript.CreateObject("WScript.Shell");
shell.Run("\""+sBaseDoc+"\"");
WScript.Sleep(1000);
shell.Run("\""+sNewDoc+"\"");
WScript.Sleep(500);
shell.AppActivate("BlackBox");
shell.SendKeys("{F9}");
shell = null;


Файл "merge-odc.js":
Код:
var objArgs,num,sTheirDoc,sMyDoc,sBaseDoc,objScript,WSHShell,Exec;

objArgs = WScript.Arguments;
num = objArgs.length;
if (num < 3)
{
   WScript.Echo("Usage: [CScript | WScript] merge-odc.js theirs.odc mine.odc base.odc");
   WScript.Quit(1);
}

sTheirDoc=objArgs(0);
sMyDoc=objArgs(1);
sBaseDoc=objArgs(2);

objScript = new ActiveXObject("Scripting.FileSystemObject")
if ( ! objScript.FileExists(sTheirDoc))
{
    WScript.Echo("File " + sTheirDoc +" does not exist.  Cannot compare the documents.");
    Wscript.Quit(1);
}
if ( ! objScript.FileExists(sMyDoc))
{
    WScript.Echo("File " + sMyDoc +" does not exist.  Cannot compare the documents.");
    Wscript.Quit(1);
}
if ( ! objScript.FileExists(sBaseDoc))
{
    WScript.Echo("File " + sBaseDoc +" does not exist.  Cannot compare the documents.");
    Wscript.Quit(1);
}
objScript = null


WSHShell = WScript.CreateObject("WScript.Shell");

Exec = WSHShell.Exec("cmd /c copy \""+sBaseDoc+"\" \""+sBaseDoc+".odc\"");
while (Exec.Status == 0)
  { WScript.Sleep(100); }
WSHShell.Run("\""+sBaseDoc+".odc\"");

WScript.Sleep(1000);
Exec = WSHShell.Exec("cmd /c copy \""+sTheirDoc+"\" \""+sTheirDoc+".odc\"");
while (Exec.Status == 0)
  { WScript.Sleep(100); }
WSHShell.Run("\""+sTheirDoc+".odc\"");

WScript.Sleep(1000);
Exec = WSHShell.Exec("cmd /c copy \""+sMyDoc+"\" \""+sMyDoc+".odc\"");
while (Exec.Status == 0)
  { WScript.Sleep(100); }
WSHShell.Run("\""+sMyDoc+".odc\"");

WScript.Sleep(500);
WSHShell.AppActivate("BlackBox");
WSHShell.SendKeys("{F9}");
WSHShell = null;

Настройка TortoiseSVN для использования данных файлов.
Оба файла следует поместить в каталог "TortoiseSVN\Diff-Scripts".
Щелкнуть правой кнопкой по любому каталогу, выбрать в контекстном меню "TortoiseSVN - Settings". Далее перейти на страницу "Diff viewer", нажать кнопку "Advanced". Добавить к списку расширение "*.odc" со следующей командной строкой:
Код:
wscript.exe "d:\Program Files\DevTools\TortoiseSVN\Diff-Scripts\diff-odc.js" %base %mine //E:javascript
(подставьте ваш путь к TortoiseSVN).

На странице "Merge Tool" нажать кнопку "Advanced", добавить расширение "*.odc" со следующей командной строкой:
Код:
wscript.exe "d:\Program Files\DevTools\TortoiseSVN\Diff-Scripts\merge-odc.js" %merged %theirs %mine %base //E:javascript
(подставьте ваш путь к TortoiseSVN).

Стандартная функция сравнения текстов находится в модуле DevSearch. Я модифицировал ее так, чтобы она при сравнении не пропускала пробелы, символы перевода строки и параграфа.

По идее, можно доработать функцию сравнения, чтобы она сравнивала также форматирование текста (цвет, шрифт и прочее), а так же встроенные View, параметры линеек и прочее. Но для исходников этого обычно не требуется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 16:35 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Спасибо, попробую. Неплохой материал для Wiki...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 19 Июнь, 2007 16:42 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Александр Ильин писал(а):
Иван А. Кузьмицкий писал(а):
Может, у вас и интерфейс для ББ к ней есть? Я-то под виндой сижу, поставил Tortoise, чувствую себя тупым как никогда до этого :)

ХА! Думаете, интерфейс для ББ вам поможет?


Чтоб поумнеть - вряд ли :) А вот чтобы пользоваться без плясок с бубном - скорее да.
Вот, посмотрел на Tortoise (хотя я и раньше её пользовался, да вот сейчас, так сказать, с высоты приобретённого опыта...) - милая штучка на 2 метра в установке (простите, это я "с прямым углом спутал". Конечно же, 16 метров. И это без словарей, которые идут в составе дистрибутива размером в 9 метров А наша подсистема пока не превышает 100кил. Ну, люблю я маленькие программки). Интерфейс тож ничего так, можно привыкнуть, конечно, ничего страшного.

Цитата:
Серьезно, в чем проблема-то? Я уже скоро год как пользуюсь, в том числе для проектов на ББ. Как-то никаких доводов в пользу "родного" ББ-интерфейса не вижу. Tortoise + пара скриптов отлично справляются со всеми задачами. Ну, немного доработал еще процедуру сравнения текстов, чтобы пробелы не пропускала. И все работает.


Вот я сейчас попробовал "с нуля" поставить SVN. Хорошо, что нашёлся рецепт "для чайников", как поставить эту штуку за 5 минут :)
Так и не заработала, диавольское создание - не даёт коннект Тортиле и всё тут. Что-то я не так делаю.
А у нас просто - поставил подсистему и пользуйся. Безо всяких плясок с бубном ;)

Хотя, конечно, SVN универсальнее будет.

Насчёт сравнения версий файлов - я считаю, что поскольку модуль является и архитектурной единицей, а не только единицей разработки, то использовать механизм версионности можно только рассматривая модуль как цельную сущность.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эргономика для разработчика
СообщениеДобавлено: Пятница, 10 Август, 2007 02:17 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Александр Ильин писал(а):


Ну, вообщем много чего он написал, так много, что за раз и не осилить, если не отвлекаться по серьёзному.
Не делать из средства синхронизации и контроля версий "цель". А вот
Цитата:
подсистему для Blackbox, на платформе ODBC+MySQL
можно развернуть в несколько действий, не особенно напрягая ни мозг, ни даже палец кликающей руки :).
Конечно, текущая версия тянет только на альфу, много всего не сделано, но кто вам мешает, скачиваете модуль, блокируете его изменения для других пользователей, прикручиваете то, что вам нужно, и отправляете обратно, а все остальные пользуются тем, что вы написали.
"Соль" в том, что она написана в ББ и для ББ и это не обёртка к сторонним компонентам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эргономика для разработчика
СообщениеДобавлено: Пятница, 10 Август, 2007 22:10 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Petryxa писал(а):
Александр Ильин писал(а):


Ну, вообщем много чего он написал, так много, что за раз и не осилить, если не отвлекаться по серьёзному.
Не делать из средства синхронизации и контроля версий "цель". А вот
Цитата:
подсистему для Blackbox, на платформе ODBC+MySQL
можно развернуть в несколько действий, не особенно напрягая ни мозг, ни даже палец кликающей руки :).
Конечно, текущая версия тянет только на альфу, много всего не сделано, но кто вам мешает, скачиваете модуль, блокируете его изменения для других пользователей, прикручиваете то, что вам нужно, и отправляете обратно, а все остальные пользуются тем, что вы написали.
"Соль" в том, что она написана в ББ и для ББ и это не обёртка к сторонним компонентам.


Ишшо в этой штуке нужны пакетная (проектная) выгрузка-загрузка, и контроль ветвления проекта.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

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


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

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


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

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