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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2012, 21:56   #1
The SCS
Пользователь
 
Регистрация: 15.01.2012
Сообщений: 98
По умолчанию История сообщений по стрелке вверх.

Есть поле ввода мемо1.
Необходимо организовать показ ранее отправленных сообщений по кнопке вверх, как в консоли.

Вот такой код по идее работать должен безотказно, а выходит как-всегда:
Переменная pmsgcnt подставляет "ячейку" массива для присваивания.

Код:
var
prevmsg: array[0..10] of string;
pmsgcnt: Integer = 0;
...
if Key = VK_UP then begin
  if pmsgcnt=10 then pmsgcnt:=0;
  memo1.Text:=prevmsg[pmsgcnt];
  pmsgcnt:=pmsgcnt+1;
  Exit;
end;
 if Key = VK_RETURN then begin
prevmsg[pmsgcnt]:=memo1.Text;
...
end;
The SCS вне форума Ответить с цитированием
Старый 27.01.2012, 04:59   #2
black_catt
Новичок
Джуниор
 
Регистрация: 27.01.2012
Сообщений: 2
По умолчанию

Код не логичный.
По идее нужно работать подобно стековому алгоритму
А у вас получается если нажал 3 раза вверх а потом enter то засрал 4-ю ячейку массива...
Уж молчу что не выполняется проверка на пустые ячейки команд...
black_catt вне форума Ответить с цитированием
Старый 27.01.2012, 09:58   #3
The SCS
Пользователь
 
Регистрация: 15.01.2012
Сообщений: 98
По умолчанию

Это да =). В час ночи все что угодно напишешь..
The SCS вне форума Ответить с цитированием
Старый 28.01.2012, 08:27   #4
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

пустые сообщения можно не добвлять простой проверкой.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа "Выести значения координат треугольника в порядке обхода по часовой стрелке" Dan.D Общие вопросы C/C++ 2 28.09.2011 01:01
Сбор сообщений службы сообщений Windows XP testor48 Работа с сетью в Delphi 3 31.03.2011 20:20
повернуть квадратную матрицу на 90 градусов по часовой стрелке brans Общие вопросы по Java, Java SE, Kotlin 1 18.02.2011 19:42
Перехват сообщений от Службы сообщений (Messenger) SJMS Win Api 6 17.07.2008 10:26
Как перевернуть изображение по часовой стрелке John_chek Мультимедиа в Delphi 7 09.07.2007 00:24