|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.02.2016, 22:40 | #1 |
Новичок
Джуниор
Регистрация: 26.02.2016
Сообщений: 2
|
Ввод нескольких строк сразу (Pascal)
Задался вопросом ввод нескольких строк в одном операторе read/readln.
Оказывается, Паскаль не использует пробел как разделитель в этом случае и весь поток символов записывает в первую строковую переменную. Есть ли какой-нибудь способ решить эту проблему без использования сторонних библиотек, как в Питоне ( Код:
Код:
Код:
Последний раз редактировалось Nafustal; 26.02.2016 в 22:45. |
26.02.2016, 23:00 | #2 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Если строка не предполагает содержание пробелов, то можете каждую неразрывную последовательность символов записать в отдельный элемент... массива или динамического списка.
Псевдо-код с указанием алгоритма такой Код:
Цитата:
|
|
26.02.2016, 23:49 | #3 |
Новичок
Джуниор
Регистрация: 26.02.2016
Сообщений: 2
|
И <Enter> - тоже.
Кстати, b := '' при выполнении операции. Проверял, присваивая значение этой переменной перед вводом. Последний раз редактировалось Nafustal; 26.02.2016 в 23:54. |
27.02.2016, 23:57 | #4 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Как вариант. Можно использовать форматированный ввод.
Т.е. если описать две переменные, скажем: Код:
Код:
Остальные символы будут прочитаны и помещены в переменную str2. Конечно, если ввод пользователем, то это как-то ... В то же время, если ввод из форматированного файла, то всё зависит от того, как этот файл был подготовлен. Как понимаю, это чисто теоретическое исследование, поскольку существуют и другие решения. read() и readln() - это процедуры, которые принимают всегда строку и которые затем разбирают строку в соответствии с типами параметров. Например, можно написать так: Код:
PS: Проверил на FPS, ранее проверял и работало на TP. Столкнулся с тем, что при отслеживании (режим отладки) в окне Watches, строка содержит и символ удаления, если при вводе удалялся символ ... Как-то так, ...
Как-то так, ...
|
28.02.2016, 03:34 | #5 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
28.02.2016, 07:45 | #6 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
E-Mail: arigato.freelance@gmail.com
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Замена сразу нескольких слов... | FleXik | Общие вопросы Delphi | 11 | 01.12.2013 14:18 |
Создание нескольких компонентов сразу в цикле | artemavd | Общие вопросы Delphi | 40 | 08.06.2012 20:59 |
Очистка сразу нескольких StringGrid | Artamos | Компоненты Delphi | 7 | 13.05.2011 13:58 |
Установка нескольких атрибутов сразу | Shouldercannon | Общие вопросы Delphi | 7 | 01.05.2011 22:49 |
Создание сразу нескольких txt файлов | Nice42ru | Помощь студентам | 11 | 11.02.2010 18:35 |