На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
  
> Ограничение на 255 символов строки , Есть ли обход???
    Добрый день.
    Интересует вопрос, есть ли способ ввести текст, в качестве параметра, содержащий более 255 символов.
    Например, программа запрашивает "Введите текст:", а пользователь печатает текст длины большей 255.
    Затем readln(Txt);
    где, type SymArr = array[0..5000] of Char;
    var Txt:SymArr;
    Заранее спасибо!
      Попробуй использовать тип pChar.
      Немного о нем есть здесь и еще в help'е.
        Вернее позволяет набрать не 255 а 126 символов. Про PChar я знаю.
        Из файла читать нельзя(условию задачи не соответствует)
        Спасибо за активность!
          KiRiK, вроде как Read/Write не работают с pChar или я не прав?
            Работает...
              Kluben, можешь попробовать читать посимвольно...
                Проблема в том что буфер клавы больше 127 символов не пускает. Надо по ходу делать так. как только буфер заполнился опустошать его, при этом присваивая переменной введенный текст. Затем если пользователь желает снова заполнять буфер. Вот опять родился вопрос! Как опустошать буфер, сохраняя не экране набранное.
                  ExpandedWrap disabled
                    uses strings;
                    var
                      a: array[0..2000] of char;
                    begin
                         repeat
                               readln (a);
                               writeln (a);
                         until strcomp (a, '') = 0;
                    end.

                  Я сильно сомневаюсь, что пользователь будет вводить текст без единого нажатия Ввода.

                  Добавлено
                  Цитата Kluben @
                  Как опустошать буфер, сохраняя не экране набранное.
                  Буфер клавы никак не влияет на содержимое экрана.
                  Очищать буфер можно так: while keypressed do;
                    Мужики, Большое спасибо!

                    Добавлено
                    Ну...Вообще то это не решение. Цикл бесконечен.
                      Цитата Kluben @
                      Цикл бесконечен.


                      Kluben, энтр нажми :(
                        Maks1986 прочитай мое предыдущее сообщение.
                          Kluben может это?
                          ExpandedWrap disabled
                            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 я не вижу практического смысла в этой проге
                            Цитата Romtek @
                            Очищать буфер можно так: while keypressed do;

                            хм... а разве не так
                            ExpandedWrap disabled
                              while keypressed do
                                readkey;
                            ?
                              Цитата e-moe @
                              хм... а разве не так
                              ExpandedWrap disabled
                                while keypressed do
                                  readkey;

                              ?
                              Да, readkey я пропустил...
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0682 ]   [ 15 queries used ]   [ Generated: 26.06.25, 13:05 GMT ]