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

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

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

Author24 — интернет-сервис помощи студентам
При нажатии на 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
29.01.2012, 16:28
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 - 2024, CyberForum.ru