0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 23
1

отменить возврат каретки

29.01.2012, 13:01. Показов 2817. Ответов 13
Метки нет (Все метки)

При нажатии на Enter выполняется набор действий.
Что не устраивает.
То, что клавиша Enter выполняет возврат каретки.
Как устранить этот возврат каретки?
Вариант - перекинуть на другую клавишу не рассматривается.
Заранее спасибо.

Добавлено через 2 минуты
Не фонтан, но устроит вариант возвращения курсора на строку выше.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2012, 13:01
Ответы с готовыми решениями:

Отменить перемещение каретки
Вопрос в названии темы.Делаю, что-то вроде консоли, нужно чтобы при введении какой-то команды...

Как отменить возврат к обработчику события
Пишу игру, нужно сделать кнопку "Новая игра", по которой весь процесс будет перезапускаться. Но в...

Текст на позицию каретки
Как вставить текст в позицию каретки в memo?

Перевод каретки на новую строку
С помощью какой функции каретка переводится на новую стоку?

13
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
29.01.2012, 13:04 2
если правильно поняла вас, то вам не нравится перевод каретки? Есть же два способа вывода на экран: writeln и write. Последний каретку не переводит
0
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 23
29.01.2012, 13:14  [ТС] 3
Меня устраивают все действия которые произошли при нажатии на Enter.
Кроме одного - возврата каретки.
Изменить хочу только сам возврат, то есть как бы отмотать его назад. И оставить в покое все другие совершенные действия. И ни в коем случае не ругать клавишу Enter.

Добавлено через 4 минуты
Откатить назад возврат каретки.
0
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
29.01.2012, 13:17 4
Если честно перечитываю ваше сообщение уже который раз и никак не могу понять, чего вы хотите
WriteLn - печатает какую-либо информацию и переводит каретку на новую строку
Write - печатает и не переводит каретку, то есть оставляет на той же строке
0
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 23
29.01.2012, 13:35  [ТС] 5
Может я круто не понимаю.
Вопрос. Write я могу вписать в действия клавиши Enter?

Добавлено через 1 минуту
Именно в реакции на событие нажатия Enter мне надо отменить возврат каретки.

Добавлено через 2 минуты
А то вроде как бы звучит - что вам далась эта Enter? Пишите код где-нибудь в другом месте.
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.01.2012, 13:40 6
writer53, если речь идет о каком-то компоненте, например memo? то обрабатывай событие onKeyPress
0
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
29.01.2012, 13:40 7
Delphi
1
Write('Привет!');
здесь: Привет!_ (каретка останется на этой же строке)
Delphi
1
WriteLn('Привет!');
тут: Привет!
_ (каретка на следующей строке)
Или например. Вам нужно ввести какое-то число
Delphi
1
2
Wtire('Введите число:');
read(a);
На экране это будет так:
Код
Введите число: _ 
//вы вводите число на той же строке
//допустим это 5. Нажали Enter
Введите число: 5 _
//так как использовали read каретка не переведется и будет на той же строке
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.01.2012, 13:42 8
tantemka, а где ТС написал что он в консоле работает?
0
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 23
29.01.2012, 13:47  [ТС] 9
RichEdit1KeyDown - на ней и только на ней!
Затем нажимается Enter.
И первое что надо сделать - отмотать назад возврат каретки.
Уф!
0
Амурчанка
135 / 135 / 44
Регистрация: 07.11.2011
Сообщений: 279
29.01.2012, 13:49 10
мде, это называется формулировать точно надо
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.01.2012, 13:55 11
Delphi
1
2
3
4
procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then key:=#0;
end;
1
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 23
29.01.2012, 14:20  [ТС] 12
Ну, да. Я пытался. Извиняйте, ежели чего!

Добавлено через 4 минуты
Все действия не надо отменять. Там много чего хорошего произошло. Отменить не нажатие на клавишу Enter, а только возврат каретки. Надо написать код после нажатия, который выборочно отмотает назад возврат каретки.

Добавлено через 1 минуту
И только на KeyDown.

Добавлено через 10 минут
Может кто знает как курсор на строку выше перенести!
Буду очень признателен!
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.01.2012, 15:07 13
Delphi
1
2
3
4
5
6
7
procedure TForm1.SpeedButton3Click(Sender: TObject);
var p:tpoint;
begin
p.X:=RichEdit1.CaretPos.x;
p.Y:=RichEdit1.CaretPos.Y-1;
RichEdit1.CaretPos:=p;
end;
0
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 23
29.01.2012, 16:28  [ТС] 14
Не выдержал, отказался от Enter. Перебросил все на другую клавишу.
Большое всем спасибо за участие.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2012, 16:28
Помогаю со студенческими работами здесь

Позиция формы на уровне каретки memo
Здравствуйте! Подскажите пожалуйста, а как сделать позицию формы на уровне каретки memo1, что...

Переход каретки на новую строку при вставке
Как сделать чтобы при вставке из буфера обмена (ctrl+v или правой кнопкой мыши и вставить) в Memo,...

Возврат каретки
Кто может привести пример использования возврата каретки(\r) в Java(или в другом ЯП)? Есть ли...

Возврат каретки
Не могу понять зачем в этом коде возврат корретки.... Почему "\n" без "\r" не переводит на новую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru