Сохранение в FreePascal

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Сохранение в FreePascal

Сообщение Петр » 15.11.2015 14:08:29

Привет всем!
Я только учусь программировать на Паскале. Хочу поинтересоваться, почему, когда я начинаю выполнение программы, т.е. нажимаю кнопку Run, Паскаль заставляет меня сохранить программу? Все дело в том, что сейчас я пишу много простых учебных программок, и сохранять их всех нет особого смысла. Скажите, можно ли запускать программы без их сохранения?
Петр
незнакомец
 
Сообщения: 2
Зарегистрирован: 15.11.2015 14:00:03

Re: Сохранение в FreePascal

Сообщение WAYFARER » 15.11.2015 14:37:28

Нет. Запустить не сохранив не получится. Файл с исходником передается параметром компилятору fpc (ну путать с fp-ide, в которой вы пишите).
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 520
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: Сохранение в FreePascal

Сообщение runewalsh » 15.11.2015 14:54:30

В Турбо Паскале так можно было, да :3
Btw, ничего такого в этом нет, при желании могли бы и сделать, можешь реквестнуть на http://bugs.freepascal.org/.
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: Сохранение в FreePascal

Сообщение Петр » 15.11.2015 17:27:33

Понятно.

Добавлено спустя 24 минуты 52 секунды:
У меня возник следующий вопрос: где можно взять встроенную справку? Сейчас, когда я захожу в справку, там написано, что ради экономии места, файлы справки не загружены, и их нужно скачать по ссылке (далее приведен адрес). Переходя по адресу, я не обнаруживаю никаких файлов справки. Что можете посоветовать?
Петр
незнакомец
 
Сообщения: 2
Зарегистрирован: 15.11.2015 14:00:03

Re: Сохранение в FreePascal

Сообщение runewalsh » 15.11.2015 19:12:49

Забей на эту IDE (она глючная штонемогу) и используй Lazarus.

По вопросу. Там на сайте ссылка на sourceforge. Она, действительно, сломалась, но, тем не менее, перейди по ней, потом в папку Documentation/2.6.4, скачай какой-то из html, распакуй и добавь корневой .html через Help → Files.
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: Сохранение в FreePascal

Сообщение Лекс Айрин » 16.11.2015 11:09:33

runewalsh писал(а):В Турбо Паскале так можно было, да :3

Неа... просто файл сохранялся во временный файл без ведома пользователя.

runewalsh писал(а):Забей на эту IDE (она глючная штонемогу) и используй Lazarus.

не такая уж и глючная... а запускать каждый раз, когда надо написать тестовую программу, лазаря это как-то странновато :?

Или вы и в булочную на такси отправляетесь?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Сохранение в FreePascal

Сообщение xdsl » 20.11.2015 08:22:26

Наилучший вариант для учебы (разработка небольших консольных программ) - комбинация FreePascal+Geany+Linux.
FreePascal - понятно почему
Geany - универсально, просто, многоязычно
Linux - нет проблем с кодировками, utf8 везде.

Остальные варианты - либо сложнее, либо неудобно, либо громоздко.
xdsl
постоялец
 
Сообщения: 131
Зарегистрирован: 15.01.2009 13:49:03

Re: Сохранение в FreePascal

Сообщение SSerge » 20.11.2015 11:03:24

xdsl писал(а):Linux - нет проблем с кодировками, utf8 везде.


Вам наглядный пример большой проблемы, как раз из-за кодировки utf8:

Код: Выделить всё
Var s1,s2,s3:string;

.......
здесь s1-s3 присваиваются смешанные англо-русские строки
.......


writeln(s1:30,s2:30,s3:30);

SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Сохранение в FreePascal

Сообщение alexs » 20.11.2015 12:18:10

SSerge писал(а):writeln(s1:30,s2:30,s3:30);


Кстати, у меня в FPC 3.1.1 Linux x64 вооще форматирование строки таким образом не работает. Строка выводится полностью.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Сохранение в FreePascal

Сообщение xdsl » 20.11.2015 14:23:56

SSerge писал(а):Вам наглядный пример большой проблемы, как раз из-за кодировки utf8:
И в чем проблема :? ?
xdsl
постоялец
 
Сообщения: 131
Зарегистрирован: 15.01.2009 13:49:03

Re: Сохранение в FreePascal

Сообщение SSerge » 20.11.2015 14:36:17

Форматирование строк на выводе будет перекошено
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Сохранение в FreePascal

Сообщение xdsl » 20.11.2015 14:47:40

SSerge писал(а):Форматирование строк на выводе будет перекошено
А пример кода со скриншотом перекошенного результата можно? А то у меня никак в голове не срастается, где там можно перекосить, при выравнивании по правому краю.
xdsl
постоялец
 
Сообщения: 131
Зарегистрирован: 15.01.2009 13:49:03

Re: Сохранение в FreePascal

Сообщение SSerge » 20.11.2015 15:10:09

xdsl писал(а):А то у меня никак в голове не срастается, где там можно перекосить, при выравнивании по правому краю.



Число позиций выравнивания при выводе типа string считается во writeln по байтам, а не по символам. У вас UTF8. Русские символы - два байта и больше. Где будет выравнивание?

Впрочем, alexs, сообщает что в его версии - его вообще не будет. :D

при выравнивании по левому краю, конечно, еще нагляднее.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Сохранение в FreePascal

Сообщение WAYFARER » 20.11.2015 15:17:12

alexs писал(а):Кстати, у меня в FPC 3.1.1 Linux x64 вооще форматирование строки таким образом не работает. Строка выводится полностью.

в 2.6.4 так же.
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 520
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: Сохранение в FreePascal

Сообщение alexs » 20.11.2015 15:23:36

Кстати - я сразу не понял. Забыл что это не обрезание, а выравнивание.
Переделал свой исходник
Теперь очень хорошо видна разница в обработке строк

Код: Выделить всё
{$codepage UTF8}

program test1;
uses
  cwstring;
var
  S1, S2, S3:UnicodeString;
  S11, S21, S31:String;
begin
  S1:='Это очень длинная строка с русскими буквами! and small other text';
  S2:='Other - ' + S1;
  S3:=Copy(S1,1,15);
  writeln(S1:100);
  writeln(S2:100);
  writeln(S3:100);

  S11:=S1;
  S21:=S2;
  S31:=S3;
  writeln(S11:100);
  writeln(S21:100);
  writeln(S31:100);
end.


Добавлено спустя 37 секунд:
Так что прошу прощения если кого запутал...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

След.

Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru