
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.198] |
![]() |
|
Сообщ.
#1
,
|
|
|
Добрый день.
Интересует вопрос, есть ли способ ввести текст, в качестве параметра, содержащий более 255 символов. Например, программа запрашивает "Введите текст:", а пользователь печатает текст длины большей 255. Затем readln(Txt); где, type SymArr = array[0..5000] of Char; var Txt:SymArr; Заранее спасибо! |
Сообщ.
#3
,
|
|
|
Вернее позволяет набрать не 255 а 126 символов. Про PChar я знаю.
Из файла читать нельзя(условию задачи не соответствует) Спасибо за активность! |
Сообщ.
#4
,
|
|
|
KiRiK, вроде как Read/Write не работают с pChar или я не прав?
|
Сообщ.
#5
,
|
|
|
Работает...
|
Сообщ.
#6
,
|
|
|
Kluben, можешь попробовать читать посимвольно...
|
Сообщ.
#7
,
|
|
|
Проблема в том что буфер клавы больше 127 символов не пускает. Надо по ходу делать так. как только буфер заполнился опустошать его, при этом присваивая переменной введенный текст. Затем если пользователь желает снова заполнять буфер. Вот опять родился вопрос! Как опустошать буфер, сохраняя не экране набранное.
|
![]() |
Сообщ.
#8
,
|
|
![]() ![]() uses strings; var a: array[0..2000] of char; begin repeat readln (a); writeln (a); until strcomp (a, '') = 0; end. Я сильно сомневаюсь, что пользователь будет вводить текст без единого нажатия Ввода. Добавлено Цитата Kluben @ Буфер клавы никак не влияет на содержимое экрана.Как опустошать буфер, сохраняя не экране набранное. Очищать буфер можно так: while keypressed do; |
Сообщ.
#9
,
|
|
|
Мужики, Большое спасибо!
Добавлено Ну...Вообще то это не решение. Цикл бесконечен. |
Сообщ.
#10
,
|
|
|
Цитата Kluben @ Цикл бесконечен. Kluben, энтр нажми ![]() |
Сообщ.
#11
,
|
|
|
Maks1986 прочитай мое предыдущее сообщение.
|
Сообщ.
#12
,
|
|
|
Kluben может это?
![]() ![]() uses crt; const size=2000; var a:array[0..size] of char; key:char; count:integer; begin clrscr; repeat key:=readkey; if key<>#0 then begin a[count]:=key;inc(count); write(key); end else readkey; until (key=#13)or(count>=size); writeln; writeln; writeln('Input:',a); end. Как и Romtek я не вижу практического смысла в этой проге |
Сообщ.
#13
,
|
|
|
Цитата Romtek @ Очищать буфер можно так: while keypressed do; хм... а разве не так ![]() ![]() while keypressed do readkey; |
![]() |
Сообщ.
#14
,
|
|
Цитата e-moe @ Да, readkey я пропустил... хм... а разве не так ![]() ![]() while keypressed do readkey; ? |