Замечания и предложения

На сайте PascalABC.NET есть страничка Программы и алгоритмы для студентов. Там на вторую половину задач, начиная с файлов, нет кода. На самом интересном месте, как говорится. Там и рекурсия, и связные списки, и деревья, и контейнеры, и ООП. Хорошо бы алгоритмы на графах еще, эх мечты. Очень жаль, что нет кода. Особенно в стиле паскаля абц точка нет. Может быть, кому-то не сложно его написать?

Во-первых, можно вот отсюда взять перевод отличной книги Р. Седжвика “Фундаментальные алгоритмы на С++. Алгоритмы на графах”. Да, тексты программ там на С++, но если студент дошел до изучения данного курса, у него должно хватить знаний, чтобы там разобраться. Сами же тексты программ выложены на GitHub.

Во-вторых, можно скачать книгу С. Окулов. Программирование в алгоритмах. 2007 год. 341 стр. PDF. 3.3 Мб., в которой алгоритмы даются на Паскале.

Это Ваше “хорошо бы” умиляет, конечно, но ничего на свете не бывает просто так. Вы можете внести свою лепту в проект, переписав хотя бы часть алгоритмов на PascalABC.NЕТ. А иначе получаются предложения из разряда “я хочу, а вы мне сделайте”.

Здравствуйте. Хотелось бы сворачивания не только регионов, но и типов с методами (процедур/функций). Было бы очень полезным. А то постоянно вручную сворачивать всё это занимает по минуте (а то и больше) каждую загрузку / перезагрузку Intellisense.

2 лайка

Что-то пришла в голову, возможно, глупая, идея:

А что, за годы существования различных редакторов, IDE, и прочих Intellisens’ов никто не догадался эти регионы оформлять не просто названием, но и чем-то вроде такого (псевдокод, не в курсе, как это делать в Паскале, оформляется директивой компилятора, им игнорируется)?

#region REGION_NAME (default: [hide|show])

Суть концепта - при открытии исходника в IDE те регионы, что hide, автоматически сворачиваются. Вроде просто и сердито. Скобку с содержимым разрешить не писать, по умолчанию предполагая (default: show).

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

3 лайка

Лучше уж скрытым символом, чтоб его оставляло если регион закрыт и при открытии IDE автоматически сворачивало. Хотя обычно, если IDE запоминает свёрнутость какого то код - это вроде делается через дополнительные файлы где то типа ProgramFiles.

1 лайк

@Admin я просил ранее, но вы проигнорили… Разберитесь, пожалуйста, с закреплёнными темами.

Надо открепить Закрытую старую тему ошибок, в неё всё равно писать уже никто не может.

А так же закрепить новые темы, на которые заменили старую:

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

Не надо плодить много тем. Достаточно оставить две темы: ошибки компилятора и ошибки IDE. интеллисенс, отладчик это IDE. Ошибки в справке это недочеты, их надо в замечания и предложения.

Ну, хорошо, давайте так.

Ну и? Сделайте уже хоть что то…

А что сделать-то? Можете сформулировать еще раз. Только без вариантов и обсуждения.

Надо открепить Закрытую старую тему ошибок.

А так же закрепить новые темы, на которые заменили её:

Сделал

2 лайка
type
  TFirst = class 
  end;
  
  TSecond = class(TFirst)
  public 
    static function operator explicit(x: TSecond) := new TFirst(); 
  end;

begin
end.

Это правильно, что данная программа компилируется? Ведь, в ней есть оператор преобразования объекта класса потомка к базовому классу. В C# такие пользовательские операторы преобразования запрещены. Я не знаю других Паскалей, поэтому, если кто знает - хотелось бы увидеть сравнение поведения при компиляции с ними.

Правильно

1 лайк

Понял.

Readln EOF strikes back: https://github.com/pascalabcnet/pascalabcnet/issues/369#issuecomment-455820557 Посмотрите, пожалуйста, что с этим можно сделать.

Добрый день. Есть задача установить PascalABC.NET на терминальный сервер, на котором работают студенты. Вопрос: есть ли возможность рабочую область поместить в рабочий каталог студента, чтобы он был у каждого свой, а не общий, как настроено по умолчанию?

Несколько странный вопрос. Если терминальный сервер запускает один-единственный экземпляр прикладной программы для всех терминальных сессий, как эта программа может знать, где для каждой сессии разместить рабочий каталог? Только настройки терминального сервера. Если же терминальный сервер для каждой сессии запускает свой экземпляр приложения, т.е. фактически является удаленной виртуальной машиной, то каталоги и в этом случае настраиваются средствами терминального сервера.

Вы исходите из того простого факта, что программа, запущенная на терминальном сервере, об этом и не догадывается.

Спасибо за ваш ответ. К сожалению я не понял Вас. Я попытаюсь подробнее объяснить, что мне необходимо от программы на терминальном сервере. При установке программы на терминальный сервер, визард предлагает выбрать путь до рабочего каталога, по умолчанию это “C:\PABCWork.NET”. Пользователи заходят на север под своим пользователем, запускают программу, создают новый проект, который по умолчанию настроен по пути “C:\PABCWork.NET”. Получается, что все пользователи используют один рабочий каталог. Мне же хотелось бы, чтобы при создании нового проекта программа, по умолчанию предлагала сохранить проект в домашней папке пользователя. Самостоятельно я не смог найти такой настройки.

Вы не указали, какой именно терминальный сервер используете. Из моего ответа, как минимум, можно было сделать вывод, что терминальные серверы бывают разные.