| OberonCore https://forum.oberoncore.ru/ |
|
| Эргономика для разработчика https://forum.oberoncore.ru/viewtopic.php?f=1&t=123 |
Страница 1 из 1 |
| Автор: | sacred [ Пятница, 03 Март, 2006 13:00 ] |
| Заголовок сообщения: | Эргономика для разработчика |
Коллеги, предлагаю в этой ветке делиться всякими удобными "примочками" или недокументированными возможностями среды BlackBox, которые позволяют повысить производительность труда. Также предлагаю задавать вопросы, ну и отвечать на них Самому поделиться пока нечем. Тогда задам вопрос: Разрабатываю многомодульную систему. Редактирую один из модулей, потом говорю типа: "Compile and unload". Ну и получаю: unload, мол, failed. Понятно почему - этот модуль загружен и используется другими. Ну тогда иду в Module List и выгружаю их все. Нельзя ли как-то автоматизировать этот процесс, типа сделать команду "Compile and unload all linked modules"? |
|
| Автор: | Илья Ермаков [ Пятница, 03 Март, 2006 21:09 ] |
| Заголовок сообщения: | |
Дмитрий Темиргалеев, мой коллега, этим делом занимался - он тут даже где-то об этом говорил. У него весь процесс рутины заавтоматизирован до предела - знай только коммандеры нажимай... Только что кофе ему ББ еще варить не научился Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК. |
|
| Автор: | sacred [ Воскресенье, 05 Март, 2006 22:30 ] |
| Заголовок сообщения: | |
А почему CVS? Может лучше SubVersion? |
|
| Автор: | Grabli [ Четверг, 27 Апрель, 2006 15:48 ] |
| Заголовок сообщения: | |
Илья Ермаков писал(а): Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК.
Скоро? |
|
| Автор: | Илья Ермаков [ Четверг, 27 Апрель, 2006 15:52 ] |
| Заголовок сообщения: | |
Скажу только, что в июне на сайте появится много нового |
|
| Автор: | Иван Кузьмицкий [ Понедельник, 18 Июнь, 2007 22:49 ] |
| Заголовок сообщения: | |
Илья Ермаков писал(а): ...Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК.
А про какую CVS речь шла? Мы тут уже успели замутить подсистему для Blackbox, на платформе ODBC+MySQL. Показалось интереснее, чем писать интерфейс для Subversion... |
|
| Автор: | Борис Рюмшин [ Понедельник, 18 Июнь, 2007 22:59 ] |
| Заголовок сообщения: | |
Иван А. Кузьмицкий писал(а): Илья Ермаков писал(а): ...Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК. А про какую CVS речь шла? Мы тут уже успели замутить подсистему для Blackbox, на платформе ODBC+MySQL. Показалось интереснее, чем писать интерфейс для Subversion... И в чём соль подсистемы? |
|
| Автор: | Иван Кузьмицкий [ Вторник, 19 Июнь, 2007 07:24 ] |
| Заголовок сообщения: | |
Борис Рюмшин писал(а): Иван А. Кузьмицкий писал(а): Илья Ермаков писал(а): ...Скоро запустим репозиторий Open-Source-проектов на ББ - sources.metasystems.ru. Все желающие могут там "парковать" свои разработки. С нашей стороны разместим CVS, Intelligence и школьную среду ШАРИК. А про какую CVS речь шла? Мы тут уже успели замутить подсистему для Blackbox, на платформе ODBC+MySQL. Показалось интереснее, чем писать интерфейс для Subversion... И в чём соль подсистемы? Особенно ни в чём. Блокирующая, модульная, ничего необычного. Разве что "родная", блэкбоксовая. Переплюнуть ту же Subversion цели не ставилось, просто изучаем BB. Да с чего всё началось... Когда над подсистемой трудится более одного человека, естественно, есть риск влететь на "накат" старой версии при обмене модулями. Понадобилось видеть автора, и дату правки модуля, а для пущего пижонства - прямо в Ящике. Я как-то ставил CVS-ку, качал исходники FreePascal. И вот что подумал - для моего уровня рисовать нормальный интерфейс к уже существующим CVS займёт не меньше времени, сколько и написание своей системы контроля (чего там - четыре таблицы в базе). Но во втором случае я получаю бонусы - дополнительный опыт в ББ и экономия времени на изучение CVS. Так что через пару дней каркас был готов, сейчас в фоновом режиме отлаживаем. |
|
| Автор: | Илья Ермаков [ Вторник, 19 Июнь, 2007 12:38 ] |
| Заголовок сообщения: | |
CVS стар... очень стар... и отнюдь не суперстар Лучше SVN - вполне себе ничего системка... |
|
| Автор: | Иван Кузьмицкий [ Вторник, 19 Июнь, 2007 14:01 ] |
| Заголовок сообщения: | |
Илья Ермаков писал(а): CVS стар... очень стар... и отнюдь не суперстар
Лучше SVN - вполне себе ничего системка... Может, у вас и интерфейс для ББ к ней есть? Я-то под виндой сижу, поставил Tortoise, чувствую себя тупым как никогда до этого |
|
| Автор: | Александр Ильин [ Вторник, 19 Июнь, 2007 14:07 ] |
| Заголовок сообщения: | |
Иван А. Кузьмицкий писал(а): Может, у вас и интерфейс для ББ к ней есть? Я-то под виндой сижу, поставил Tortoise, чувствую себя тупым как никогда до этого
ХА! Думаете, интерфейс для ББ вам поможет? Серьезно, в чем проблема-то? Я уже скоро год как пользуюсь, в том числе для проектов на ББ. Как-то никаких доводов в пользу "родного" ББ-интерфейса не вижу. Tortoise + пара скриптов отлично справляются со всеми задачами. Ну, немного доработал еще процедуру сравнения текстов, чтобы пробелы не пропускала. И все работает. |
|
| Автор: | PGR [ Вторник, 19 Июнь, 2007 15:01 ] |
| Заголовок сообщения: | |
Александр Ильин писал(а): Я уже скоро год как пользуюсь, в том числе для проектов на ББ. Как-то никаких доводов в пользу "родного" ББ-интерфейса не вижу. Tortoise + пара скриптов отлично справляются со всеми задачами. Ну, немного доработал еще процедуру сравнения текстов, чтобы пробелы не пропускала. И все работает.
Вы храните исходные тексты для ББ в текстовом формате? Если нет, то как можно просмотреть различия между версиями? |
|
| Автор: | Александр Ильин [ Вторник, 19 Июнь, 2007 15:21 ] |
| Заголовок сообщения: | |
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, параметры линеек и прочее. Но для исходников этого обычно не требуется. |
|
| Автор: | PGR [ Вторник, 19 Июнь, 2007 16:35 ] |
| Заголовок сообщения: | |
Спасибо, попробую. Неплохой материал для Wiki... |
|
| Автор: | Иван Кузьмицкий [ Вторник, 19 Июнь, 2007 16:42 ] |
| Заголовок сообщения: | |
Александр Ильин писал(а): Иван А. Кузьмицкий писал(а): Может, у вас и интерфейс для ББ к ней есть? Я-то под виндой сижу, поставил Tortoise, чувствую себя тупым как никогда до этого ХА! Думаете, интерфейс для ББ вам поможет? Чтоб поумнеть - вряд ли Вот, посмотрел на Tortoise (хотя я и раньше её пользовался, да вот сейчас, так сказать, с высоты приобретённого опыта...) - милая штучка на 2 метра в установке (простите, это я "с прямым углом спутал". Конечно же, 16 метров. И это без словарей, которые идут в составе дистрибутива размером в 9 метров А наша подсистема пока не превышает 100кил. Ну, люблю я маленькие программки). Интерфейс тож ничего так, можно привыкнуть, конечно, ничего страшного. Цитата: Серьезно, в чем проблема-то? Я уже скоро год как пользуюсь, в том числе для проектов на ББ. Как-то никаких доводов в пользу "родного" ББ-интерфейса не вижу. Tortoise + пара скриптов отлично справляются со всеми задачами. Ну, немного доработал еще процедуру сравнения текстов, чтобы пробелы не пропускала. И все работает.
Вот я сейчас попробовал "с нуля" поставить SVN. Хорошо, что нашёлся рецепт "для чайников", как поставить эту штуку за 5 минут Так и не заработала, диавольское создание - не даёт коннект Тортиле и всё тут. Что-то я не так делаю. А у нас просто - поставил подсистему и пользуйся. Безо всяких плясок с бубном Хотя, конечно, SVN универсальнее будет. Насчёт сравнения версий файлов - я считаю, что поскольку модуль является и архитектурной единицей, а не только единицей разработки, то использовать механизм версионности можно только рассматривая модуль как цельную сущность. |
|
| Автор: | Пётр Кушнир [ Пятница, 10 Август, 2007 02:17 ] |
| Заголовок сообщения: | Re: Эргономика для разработчика |
Александр Ильин писал(а): Ну, вообщем много чего он написал, так много, что за раз и не осилить, если не отвлекаться по серьёзному. Не делать из средства синхронизации и контроля версий "цель". А вот Цитата: подсистему для Blackbox, на платформе ODBC+MySQL можно развернуть в несколько действий, не особенно напрягая ни мозг, ни даже палец кликающей руки Конечно, текущая версия тянет только на альфу, много всего не сделано, но кто вам мешает, скачиваете модуль, блокируете его изменения для других пользователей, прикручиваете то, что вам нужно, и отправляете обратно, а все остальные пользуются тем, что вы написали. "Соль" в том, что она написана в ББ и для ББ и это не обёртка к сторонним компонентам. |
|
| Автор: | Иван Кузьмицкий [ Пятница, 10 Август, 2007 22:10 ] |
| Заголовок сообщения: | Re: Эргономика для разработчика |
Petryxa писал(а): Александр Ильин писал(а): Ну, вообщем много чего он написал, так много, что за раз и не осилить, если не отвлекаться по серьёзному. Не делать из средства синхронизации и контроля версий "цель". А вот Цитата: подсистему для Blackbox, на платформе ODBC+MySQL можно развернуть в несколько действий, не особенно напрягая ни мозг, ни даже палец кликающей руки Конечно, текущая версия тянет только на альфу, много всего не сделано, но кто вам мешает, скачиваете модуль, блокируете его изменения для других пользователей, прикручиваете то, что вам нужно, и отправляете обратно, а все остальные пользуются тем, что вы написали. "Соль" в том, что она написана в ББ и для ББ и это не обёртка к сторонним компонентам. Ишшо в этой штуке нужны пакетная (проектная) выгрузка-загрузка, и контроль ветвления проекта. |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |
|