Страница 1 из 1
Пропадание строк при компиляции
Добавлено: 01.06.2017 14:50:47
Астемир
Здравствуйте. Я просто хочу прикрепить фотографии, где запечатлена проблема. Так будет легче.
В качестве примера, приведу простенькую программу (картинка рядом с картинкой с текстом программы-конечный результат).
Не понимаю, с чем это может быть связано
Re: Пропадание строк при компиляции
Добавлено: 01.06.2017 19:21:16
Лекс Айрин
Астемир, а зачем readln? В этом есть какая-то особая необходимость? Насколько я помню, она нужна для чтения из файлов имеющих физическое воплощение.
Добавлено спустя 16 минут 49 секунд:
PS:запиши результирующую строку как 'zdr...te,' + s +' ' + n + '!'
Re: Пропадание строк при компиляции
Добавлено: 01.06.2017 19:56:48
Cheb
Насколько я помню, она нужна для чтения из файлов имеющих физическое воплощение.
Чёзабред
Readln - перемещает на следующую строку, read - оставляет на текущей строке
Re: Пропадание строк при компиляции
Добавлено: 01.06.2017 20:06:02
vitaly_l
Насколько я понял у него writeln затирает, то, что записано в Readln.
Я не знаю почему это происходит. Но могу предложить использовать, костыль:
добавив после readln(s); запись пустотой строки: writeln(''); она тогда перескочит - не затерев текст.
И тоже самое сделать для readln(n); writeln('');
Но это костыль, т.к. по моему она должна переходить на следующую строку сама.
.
Re: Пропадание строк при компиляции
Добавлено: 01.06.2017 21:04:24
Дож
Астемир, выглядит так, будто произошёл «возврат каретки» (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 21:27:49
Лекс Айрин
Дож писал(а):Садись, два.
Cheb писал(а):Readln - перемещает на следующую строку, read - оставляет на текущей строке
Он, вообще-то уже перешел по writeln на новую строку... И вообще-то я просто решил уточнить это реально нужно или нет. Проверил. Нужна. Хотя раньше в TP не была так необходима((
Дож писал(а):Воспроизвёл проблему в винде, если запускать программу из FP IDE.
А у меня не воспроизвелась.
Re: Пропадание строк при компиляции
Добавлено: 01.06.2017 21:53:29
Астемир
Дож писал(а):Астемир, если запускать программу не из FP IDE, а напрямую сам исполняемый файл, проблема с затиранием остаётся?
Дож
энтузиаст
Сообщения: 659
Зарегистрирован: 12.10.2008 15:14:47
проблемы нет тогда
Добавлено спустя 4 минуты 28 секунд:Дож я ужена трех версиях попробовал - та же проблема. попробовал в pabc - там все работает. а если запускать из exeшника, то тоже работает
Re: Пропадание строк при компиляции
Добавлено: 01.06.2017 22:01:15
vitaly_l
Астемир писал(а):а если запускать из exeшника, то тоже работает
Дебагер попробуйте отключить.
Re: Пропадание строк при компиляции
Добавлено: 01.06.2017 22:07:25
Дож
Я думаю, что это баг в FP IDE Shell с неправильной обработкой Enter'а, и без починки этого бага проблема едва ли решаема. Можно попытаться взять какой-нибудь древний fp.exe , может в нём не поломано.
У меня воспроизводится в Windows 10, FP IDE 1.0.12.
(FP IDE официально не поддерживается разработчиками, лучше не использовать его вообще, и для запуска программ в частности.)
Re: Пропадание строк при компиляции
Добавлено: 02.06.2017 06:00:20
Снег Север
Консолехрень. Давно пора за использование FP IDE бить чем-то тяжелым по голове.
Re: Пропадание строк при компиляции
Добавлено: 02.06.2017 08:26:18
Лекс Айрин
Дож, у меня вин 7максимальная с fp IDE 1.0.12... все работает четко. Так что дело явно не в ней.
Снег Север, я иногда использую из ностальгии... все же первый мой более-менее нормальный компилятор это TP версии 3, если не ошибаюсь.
Re: Пропадание строк при компиляции
Добавлено: 03.06.2017 15:48:56
Астемир
На другом форуме мне подсказали добавить uses crt. самое забавное, что помогло.