Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2017, 10:21   #1
Hadson
 
Регистрация: 30.01.2017
Сообщений: 6
По умолчанию Как на паскале написать на одной строке две разных строковых переменных

Как на паскале написать на одной строке две разных строковых переменных
Hadson вне форума Ответить с цитированием
Старый 04.02.2017, 11:18   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,545
По умолчанию

Вопрос из серии "Как почесать левое ухо правой ногой?" или "Как налить в кружку одновременно кофе и огуречный рассол?" Без обид, но прежде чем задавать вопрос в форум следует включить голову, насколько это возможно, и этот вопрос внятно сформулировать. Что значит на "паскале написать на одной строке" ? В одной строке исходника программы? Да без проблем.
Код:
 str1 := "Иди ты " ; str2 := "лесом" ;
Видимо, имеется в виду что-то другое (услуги телепата сегодня бесплатны): во время исполнения программы в одной строковой переменной хранить две строки. Рвущийся из подсознания вопрос : "А на хрена ?!" пока опустим. Если надо, то тоже без вопросов: применяем какой-нибудь разделитель, который гарантировано не встречается ни в одной строке:
Код:
 str1 := "Иди ты / лесом" ;
, а потом героически раздираем парсингом эту строку на две, бормоча вышезаданный вопрос и еще много непечатных выражений.
Он специально на форуме зарегился, чтоб над нами издеваться ?

Последний раз редактировалось digitalis; 04.02.2017 в 11:22.
digitalis вне форума Ответить с цитированием
Старый 04.02.2017, 11:43   #3
Hadson
 
Регистрация: 30.01.2017
Сообщений: 6
По умолчанию

Действительно, вопрос я задал некорректный. Мне нужно ввести "read()" две строковых переменных на одной строке,

read(str1);
read(str2);

дело в том, что при вводе(например: Вася Петя) он читает два слова, и считает её за одну переменную - srt1. Так вот, как мне сделать, чтоб он принял эти два слова (Вася Петя) за две переменных(str1 и str2), и все на одной строке?
Hadson вне форума Ответить с цитированием
Старый 04.02.2017, 12:04   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну коль Read не различает пробел для строковых данных, значит с помощью его ни как, а только после чтения сам пробел ищи и разделяй два слова
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.02.2017, 12:16   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,545
По умолчанию

Код:
  i := Pos ('/',str1) ;
  j := Length( str1 ) ;
  str2 := Copy (str1,i+1,j-i) ;
  str1 := Copy (str1,1,i-1) ;
Ввводим :
12 3/4 5 6
Имеем:
12 3 (это str1)
4 5 6 (это str2)


И все пробелы на месте

Последний раз редактировалось digitalis; 04.02.2017 в 12:19.
digitalis вне форума Ответить с цитированием
Старый 04.02.2017, 17:47   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Есть еще один вариант, но при вводе с клавиатуры он может использоваться только теми, кто ... .
Строки можно вводить и из файла.
Опишем строковые переменные с заданным форматом, например,
Код:
var str1 : string[11];
     str2 : string[5];
Исходные данные поместим в текстовый файл с соответствующим форматированием.
Тогда данные можно прочитать через readln(), см. пример во вложении.
Прикрепленный текстовый файл в кодировке cp866 (DOS), так как использована кириллица (в кодировке windows 1251, так же во вложении).
Т.о. если файл исходных данных подготовлен в определенном формате, например, в другой программе, то содержимое строки можно читать без дополнительного разбора.
PS: Если в строке идут числа и потом строка, то проблем не будет. Если вначале строка, а потом числа, то можно использовать форматный ввод для строки.

Как-то так, ...
Вложения
Тип файла: rar tststr.rar (573 байт, 9 просмотров)
Как-то так, ...

Последний раз редактировалось ViktorR; 04.02.2017 в 17:50.
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод результатов по одной строке в разных столбцах Mitzzz SQL, базы данных 1 29.07.2016 11:37
Требуется написать программу шифрования строковых переменных и ключ от шифра пользователь вводил сам Bikey Lazarus, Free Pascal, CodeTyphon 19 24.08.2014 18:10
Обработка строковых переменных Rolana Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 13.12.2013 18:44
перебор строковых переменных neprogrammist Паскаль, Turbo Pascal, PascalABC.NET 0 07.03.2013 14:57
ввод нескольких переменных в одной строке ЛЕХА_Г Помощь студентам 2 18.12.2009 01:19