Страница 1 из 1

Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 15:50:47
Астемир
Здравствуйте. Я просто хочу прикрепить фотографии, где запечатлена проблема. Так будет легче.
В качестве примера, приведу простенькую программу (картинка рядом с картинкой с текстом программы-конечный результат).
Не понимаю, с чем это может быть связано

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 20:04:27
Лекс Айрин
Астемир, а зачем readln? В этом есть какая-то особая необходимость? Насколько я помню, она нужна для чтения из файлов имеющих физическое воплощение.

Добавлено спустя 16 минут 49 секунд:
PS:запиши результирующую строку как 'zdr...te,' + s +' ' + n + '!'

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 20:56:48
Cheb
Насколько я помню, она нужна для чтения из файлов имеющих физическое воплощение.
Чёзабред :shock:
Readln - перемещает на следующую строку, read - оставляет на текущей строке

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 21:06:02
vitaly_l
Насколько я понял у него writeln затирает, то, что записано в Readln.

Я не знаю почему это происходит. Но могу предложить использовать, костыль:
добавив после readln(s); запись пустотой строки: writeln(''); она тогда перескочит - не затерев текст.
И тоже самое сделать для readln(n); writeln('');

Но это костыль, т.к. по моему она должна переходить на следующую строку сама.

.

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 21:11:50
Дож
Астемир, выглядит так, будто произошёл «возврат каретки» (CR), но не произошло перехода на новую строку (LF). Попробуйте сделать это вручную, вбив соответствующие коды:
Код: Выделить всё
write('familya?', #13#10);
...
write('imya?', #13#10);


Для более детального анализа скриншотов недостаточно. Нужно знать 1) какой терминал используется и с какими настройками 2) что содержится в константе LineEnding 3) в какой кодировке файл, какая кодировка установлена в системе 4) ОС и версия fpc.

Лекс Айрин писал(а):Астемир, а зачем readln? В этом есть какая-то особая необходимость? Насколько я помню, она нужна для чтения из файлов имеющих физическое воплощение.

Садись, два.

Добавлено спустя 52 минуты 34 секунды:
Воспроизвёл проблему в винде, если запускать программу из FP IDE. Выглядит так, будто IDE'шный шелл как-то очень неправильно обрабатывает Enter.

Астемир, если запускать программу не из FP IDE, а напрямую сам исполняемый файл, проблема с затиранием остаётся?

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 22:27:49
Лекс Айрин
Дож писал(а):Садись, два.


Cheb писал(а):Readln - перемещает на следующую строку, read - оставляет на текущей строке


Он, вообще-то уже перешел по writeln на новую строку... И вообще-то я просто решил уточнить это реально нужно или нет. Проверил. Нужна. Хотя раньше в TP не была так необходима((
Дож писал(а):Воспроизвёл проблему в винде, если запускать программу из FP IDE.

А у меня не воспроизвелась.

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 22:49:01
Астемир
Дож писал(а):Астемир, если запускать программу не из FP IDE, а напрямую сам исполняемый файл, проблема с затиранием остаётся?

Дож
энтузиаст
 
Сообщения: 659
Зарегистрирован: 12.10.2008 15:14:47

проблемы нет тогда

Добавлено спустя 4 минуты 28 секунд:
Дож я ужена трех версиях попробовал - та же проблема. попробовал в pabc - там все работает. а если запускать из exeшника, то тоже работает

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 23:01:15
vitaly_l
Астемир писал(а):а если запускать из exeшника, то тоже работает

Дебагер попробуйте отключить.

Re: Пропадание строк при компиляции

СообщениеДобавлено: 01.06.2017 23:07:25
Дож
Я думаю, что это баг в FP IDE Shell с неправильной обработкой Enter'а, и без починки этого бага проблема едва ли решаема. Можно попытаться взять какой-нибудь древний fp.exe , может в нём не поломано.

У меня воспроизводится в Windows 10, FP IDE 1.0.12.

(FP IDE официально не поддерживается разработчиками, лучше не использовать его вообще, и для запуска программ в частности.)

Re: Пропадание строк при компиляции

СообщениеДобавлено: 02.06.2017 07:00:20
Снег Север
Консолехрень. Давно пора за использование FP IDE бить чем-то тяжелым по голове.

Re: Пропадание строк при компиляции

СообщениеДобавлено: 02.06.2017 09:26:18
Лекс Айрин
Дож, у меня вин 7максимальная с fp IDE 1.0.12... все работает четко. Так что дело явно не в ней.

Снег Север, я иногда использую из ностальгии... все же первый мой более-менее нормальный компилятор это TP версии 3, если не ошибаюсь.

Re: Пропадание строк при компиляции

СообщениеДобавлено: 03.06.2017 16:48:56
Астемир
На другом форуме мне подсказали добавить uses crt. самое забавное, что помогло.