Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Oberon
Перезагрузить страницу Исходный текст программы в BlackBox пишется в виде форматированного текста
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
S.Yu.Gubanov S.Yu.Gubanov вне форума
Member
 
Сообщений: 587
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.12.2002
По умолчанию Исходный текст программы в BlackBox пишется в виде форматированного текста - 10.02.2003, 17:01

Исходный текст программы в BlackBox пишется в виде форматированного текста (формат .odc - Oberon Document), в котором каждую букву можно написать разным шрифтом и раскрасить в любой цвет (почти как в Word). А так же есть такое удобство как "Fold". Например, пишется процедура
Код:
PROCEDURE Writeln(IN s: ARRAY 128 OF CHAR);
BEGIN
  StdLog.String(s);
  StdLog.Ln();
END Writeln;
Затем ее тело выделяется мышью и выполняется команда
Tools -> Create Fold
В результате появляются стрелочки "->" и "<-"
Код:
PROCEDURE Writeln(IN s: ARRAY 128 OF CHAR);  ->
BEGIN
  StdLog.String(s);
  StdLog.Ln();
<-  END Writeln;
Если теперь щелкнуть по ним мышью, то тело процедуры схлопнется
Код:
PROCEDURE Writeln(IN s: ARRAY 128 OF CHAR);  -> <-  END Writeln;
и не будет "засорять" место. При повторном шелкании мышью на стрелочках - текст заключенный внутри них раскрывается. Fold-ы можно вкладывать друг в друга.

Вопрос.
То ли у меня такой глюк, то ли еще что, но если я скомпилирую модуль с коллапсированными фолдами, то находящийся внутри них текст как бы игнорируется компилятором. (В частности, процедура Writeln() не будет выполнять ничего.) В чем дело?
Ответить с цитированием
  (#2 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 11.02.2003, 13:53

Это не аномальное поведение, а нормальное.
Компилятор игнорирует то, что спрятано в складках.
Ответить с цитированием
  (#3 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 11.02.2003, 17:47

На всякий случай:

Между закрытыми складками тоже можно код поставить.

Складкам можно давать имена (lable) и открывать/закрывать только складки с определенным именем.

Еще складки можно вкладывать друг в друга.
Ответить с цитированием
  (#4 (permalink)) Старый
S.Yu.Gubanov S.Yu.Gubanov вне форума
Member
 
Сообщений: 587
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.12.2002
По умолчанию 11.02.2003, 18:16

Жалко, что компилятор игнорирует содержимое складок. А то я уже начал было думать, что с такой удобной вещью в одном модуле можно написать очень много исходного кода. Теперь я в них только комментарии буду прятать.
Ответить с цитированием
  (#5 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 12.02.2003, 13:59

И напрасно.

Кстати, посмотрите модуль StdFolds -- там все средства даны.
Сделайте себе пункты в меню (и посадите на клавиатуру), чтобы, скажем, перед компиляцией автоматически раскрывать складки и т.п.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
S.Yu.Gubanov S.Yu.Gubanov вне форума
Member
 
Сообщений: 587
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.12.2002
По умолчанию 12.02.2003, 17:48

Сейчас посмотрел. Здорово!!!
Ответить с цитированием
  (#7 (permalink)) Старый
S.Yu.Gubanov S.Yu.Gubanov вне форума
Member
 
Сообщений: 587
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.12.2002
По умолчанию 13.02.2003, 11:49

Пока сделал так
Код:
(* (!) "StdFolds.Expand; DevCompiler.CompileAndUnload"  *)
(* (!) "StdFolds.Collapse; MyProgram.Test"  *)
MODULE  MyProgram;
IMPORT  StdLog, MyLibrary;
->(* Константы *)<-
->(* Типы *)<-
->(* Процедуры *)<-
END MyProgram.
где (!) - это Commander.
Пробовал записать в одну строку
Код:
(* (!) "StdFolds.Expand; DevCompiler.CompileAndUnload; StdFolds.Collapse; MyProgram.Test"  *)
но тогда, в том случае если в программе есть ошибка, то я не видел ее местонахождения поскольку сразу после компиляции происходило сворачиваие складок.
Ответить с цитированием
  (#8 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 13.02.2003, 18:29

Цитата:
Originally posted by S.Yu.Gubanov
[b]... в том случае если в программе есть ошибка, то я не видел ее местонахождения поскольку сразу после компиляции происходило сворачиваие складок.
Попробуйте закрывать складки в отдельной команде. Большого неудобства тут не видно.

Еще: обычно удобно команды-драйверы (всяч. отладки и т.п.) писать в конце модуля. Тогда и коммандеры можно ставить после модуля, без комментариев.
После модуля, кстати, можно сохранять что угодно -- фрагменты кода и т.п. (в складках, если нужно).
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение форматированного текста из файла AlexP C++ Builder 2 04.06.2008 07:38
Подмена форматированного текста anlex Visual Basic 0 08.08.2006 15:49
Сохранение в базе данных и отображение форматированного текста в RichEdit eugira C++ Builder 0 16.12.2005 12:44
VW Исходный текст метода imported_nostromo Smalltalk 2 04.11.2005 20:53
Программа, выводящая свой исходный текст kost Игры разума 29 05.06.2005 13:34
Вытащить текст со страницы HTML, произвести преобразование этого текста Lela Delphi 1 24.05.2005 11:58
Какие компоненты содержат изображение и текст в виде списка ACTION_MAN Delphi 2 22.03.2005 20:21
Работа с VC++ Debuger открытие программы в диссасемблированом виде azzm Visual C++ 4 06.07.2004 12:12
При вводе текста в Caption не отображается текст Werti Delphi 5 26.04.2004 14:30
Как откомпилить исходный код программы Anonymous С/С++ 1 19.08.2003 16:46
Как скрыть исходный текст страницы lipich DHTML, JavaScript, VBScript 4 08.12.2002 11:55
Где найти в интернете исходный код программы работающей в фоновом режиме wolverin Visual C++ 3 28.10.2002 01:07



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов