Geany - великолепная замена Free Pascal IDE.

Многие школы в качестве языка программирования используют Pascal. Зачастую это Turbo Pascal - приложение с дизайном "добро пожаловать в DOS"
TurboPascal. Его долго использовали, но интерфейс не выдерживает критики в наше время
В школьных дистрибутивах в качестве компилятора паскаля и средств разработки идет FreePascal, но при его использовании возникает проблема - среда разработки (FreePascal IDE) не поддерживает русские символы. Хочется подчеркнуть, что такая проблема именно у IDE, у компилятора таких проблем нет. Готовых решений поиск не выдает, а выставление локали с кодировкой отличной от UTF-8 не помогает (в отличие от ситуации с клавиатурным тренажером gtypist).

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



Geany также является интегрированной средой для разработки программ: она совмещает в себе редактор исходного кода, который поддерживает подсветку синтаксиса большого числа языков и базовые возможности по автодополнению ключевых слов, инструменты для компиляции и запуска программ. Работать с ней намного удобнее и приятнее, к тому же она не ограничивает пользователя только одним языком. Geany не может заменить серьёзную среду разработки, но для простеньких приложений и школьных задач она подходит как нельзя лучше.

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

Еще одним плюсом является её кроссплатформенность. С полным списком сборок можно ознакомится на соответствующей страничке. В случае с линуксом, все работает сразу, а если программа не установлена, то доставить её не составит проблем:
sudo apt-get install geany

Для Windows, необходимо проделать несколько дополнительных действий.

Следующее руководство справедливо только для Win версии. В Linux версии проблем нет.
  1. Скачать полный дистрибутив с официального сайта со страницы http://www.geany.org/Download/Releases. Нам нужен Full Installer, на момент написания статьи geany-0.19.1_setup.exe
  2. Скачать установщик FreePascal со всеми необходимыми инструментами со страницы http://www.freepascal.org/down/i386/win32-russia.var
  3. Устанавливем FreePascal, затем Geany
  4. При установке FreePascal не прописывает путь к компилятору в системную переменную Path, поэтому нам необходимо сделать это самостоятельно, чтобы Geany смогла найти компилятор. Для этого нужно добавить путь до папки bin FreePascal'я (в моем случае это c:\FPC\2.4.0\bin\i386-win32\) в переменную Path 
    • Открываем Мой компьютер -> Свойства ->Дополнительные->Переменные Среды.
    • В разделе с системными переменными находим Path, открываем на редактирование и в конец дописываем нужный путь (не забываем отделить от имеющихся путей точкой с запятой)
После этого можно запускать Geany, но прежде чем начать писать программы, необходимо произвести ещё одну небольшую настройку - установить кодировку фалов, чтобы при запуске в консоли нам не выводились непонятных символов вместо строк на русском. Нам нужна кодировка DOS (CP866). Выставляется кодировка в меню Правка далее Настройки. В появившемся окошке открываем меню файл и выбираем кодировку по умолчанию.
Главное - не забыть поправить кодировку, остальные настройки по умолчанию нам подходят

Настройка завершена, пора проверить сделанное:

18 комментариев:

  1. После перемещения русские символы показываются в коде кракозябрами, а если писать в коде русские символы то при выполнение пишутся кракозябры. Что делать?

    ОтветитьУдалить
    Ответы
    1. Речь идет про Geany под Windows? Под перемещением вы подразумеваете копирование из другого редактора (например блокнот)?

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

      Для того чтобы разобраться с крякозябрами при выполнении, сохраните вывод в файл. Для этого выполните следующую команду (пусть ваша программа называется my_program.exe и она не интерактивная, т.е. отрабатывает без взаимодействия с пользователем):

      my_program.exe > out.txt

      Результатом будет файл out.txt в директории откуда запускалась программа. Далее необходимо выяснить что за кодировка у получившегося файла. Для этого можно воспользоваться браузером или навороченными текстовыми редакторами типа Notepad++

      Удалить
  2. подскажите, а как в geany поставить модуль graph? у free pascal он есть, а в geany нету... и программы с графикой отказывается компилировать из-за отсутствия этого модуля...

    ОтветитьУдалить
    Ответы
    1. извините за глупый вопрос)
      заработало)

      Удалить
    2. Отлично!
      P.S. вопросы глупыми не бывают :)

      Удалить
  3. А как всё таки заставить работа FPC 2.6.0 с Geany под Убунтой? Я в этом деле новичок. С оф сайта фри паскаля поставил один из дебианов, компилятор вроде встал. Но когда пробую в Джине скомпилировать типичное:
    Begin
    Writeln('HelloWorld')
    End.

    /usr/bin/ld: warning: link.res contains output sections; did you forget -T?

    При этом выше пишет что сборка прошла успешно, но собственно как проверить результат программы?!

    ОтветитьУдалить
    Ответы
    1. Warning не error, так что компилит действительно нормально. Насчет варнинга нужно доки смотреть или гуглить по этому ключу, что он в сообщении пишет.
      После компиляции создается файлик в папке с исходником который называется так же, только без расширения. В Geany есть отдельная кнопка "Запустить или посмотреть текущий файл" (в виде шестеренок) её и надо нажать для запуска.
      Вот консольный вариант (fpc ставил из репозиториев, так что 2.4, но это без разницы)
      dmitry@acernt:~$ uname -a
      Linux acernt 3.2.0-33-generic #52-Ubuntu SMP Thu Oct 18 16:19:45 UTC 2012 i686 i686 i386 GNU/Linux
      dmitry@acernt:~$ sudo apt-get install fpc geany
      [sudo] password for dmitry:
      Чтение списков пакетов… Готово
      Построение дерева зависимостей
      Чтение информации о состоянии… Готово
      Будут установлены следующие дополнительные пакеты:
      ...skiped....
      Предлагаемые пакеты:
      ...skiped....
      НОВЫЕ пакеты, которые будут установлены:
      ...skiped....
      обновлено 0, установлено 96 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
      Необходимо скачать 48,8 MБ архивов.
      После данной операции, объём занятого дискового пространства возрастёт на 247 MB.
      Хотите продолжить [Д/н]? y
      ...package install...
      dmitry@acernt:~$ cat > test.pas
      program test;
      Begin
      Writeln('HelloWorld');
      End.
      #CTRL+D
      dmitry@acernt:~$ fpc test.pas
      Free Pascal Compiler version 2.4.4-3.1 [2012/01/04] for i386
      Copyright (c) 1993-2010 by Florian Klaempfl
      Target OS: Linux for i386
      Compiling test.pas
      Linking test
      /usr/bin/ld: warning: link.res contains output sections; did you forget -T?
      4 lines compiled, 0.4 sec
      dmitry@acernt:~$ ./test
      HelloWorld

      Удалить
    2. Кстати ответ на ваш вопрос даже на сайте fpc есть: http://www.freepascal.org/faq.var#unix-ld219

      Удалить
  4. просматриваю комментарии по вопросу работы с графикой в geany под linux. нашла предложение использовать ggigraph, дает ошибку. Так что же делать?

    ОтветитьУдалить
    Ответы
    1. Не смогу тут вам помочь. На паскале я что-то писал лет 6 назад + с этой библиотекой не работал.
      Так что гугл вам в помощь. Советую поискать по тексту ошибки.

      Удалить
  5. Free Pascal IDE отлично руссифицировано и входит в состав образовательного дистрибутива EduMagic.

    ОтветитьУдалить
    Ответы
    1. Это конечно замечательно, но смысла пользоваться этой фигнеё в наше время не вижу никакого. Только если ради потакания костности мышления учителей, которые не могут осилить современные инструменты.

      Удалить
  6. Сделал все как написано, при компиляции высвечивается "fps [название программы] в каталоге:D:\exe\Geany
    fps
    ,
    сборка завершилась с ошибкой.
    "

    ОтветитьУдалить
  7. "Следующее руководство справедливо только для Win версии. В Linux версии проблем нет."
    На линуксовой версии geany значит компилятор встроен?

    ОтветитьУдалить
    Ответы
    1. Тут речь шла про дистрибутивы от АльтЛинкуса - школьный и подобная хрень. Там паскаль шел из коробки на сколько я помню.
      Если говорить в общем, то в компилятор паскаля ставится как системный пакет через apt или yum за 2 минуты. Возни гораздо меньше чем на винде.

      Удалить