Как enter в Вконтакте

А не лучше ли листенер присобачить к контролу, который получает ввод с клавиатуры? Кнопке или edit’у.
Если я ничего не путаю, то твой код будет работать только в том случае, если contentPane имеет фокус.

Даже самый дурацкий замысел можно воплотить мастерски

По поводу кнопки: глянь JRootPane.setDefaultButton(JButton defaultButton) — работает точно.
С JTextField будем разбираться, что там не путём.

Даже самый дурацкий замысел можно воплотить мастерски

Oleg_S, если установить defpushbutton , то именно эта кнопка отработает, если ты нажмёшь ввод. Т.е. типа кнопка будет слушать клавиатуру. Точнее ей будет передано управление по нажатию Enter. У меня есть рабочий код 4-хлетней давности, который использует сочетание keyListener’а и setDefaultButton. Без setDefaultButton он не работает как ожидается, но в этом надо подробнее разбираться, на что пока нет времени.

Даже самый дурацкий замысел можно воплотить мастерски

А такой вопрос (почти в тему):

Ввод NCK на кнопочный Alcatel. Инструкция для СЦ с программаторами

Допустим, хотим что то сделать, когда нажимается не просто Enter, а Ctrl+Enter, делаем следующее:

messageField.addKeyListener(new KeyAdapter() < public void keyTyped(KeyEvent ke)< if (ke.isControlDown()) < if (ke.getKeyCode() == KeyEvent.VK_ENTER) < //System.out.println(«Ctrl+Enter»); >> > >);

Так вот, при нажатом Ctrl getKeyCode() возвращает 0, а не код клавишы Enter, поэтому условие в if не выполняется при нажатии Enter. Как быть?

Источник: www.developing.ru

Как enter в вконтакте

При запуске программы на Си автоматически открываются ряд потоков, основными из которых являются следующие:

  • Стандартный поток ввода stdin
  • Стандартный поток вывода stdout
  • Стандартный поток вывода сообщений об ошибках stderr

Стандартный поток ввода stdin по умолчанию соответствует клавиатуре, а потоки stdout и stderr — экрану монитора.

Для управления вводом-выводом с помощью этих потоков используются ряд функций:

  • getchar() : ввод с клавиатуры одного символа
  • putchar() : вывод на консоль одного символа
  • fgets() : ввод одной строки
  • puts() / fputs() : вывод одной строки на консоль
  • scanf() : ввод с консоли с форматированием данных
  • sscanf() : ввод с из строки с форматированием данных
  • printf() : вывод с форматированием данных

Функции printf и scanf уже рассматривались ранее, поэтому посмотрим, как применять остальные функции.

Еще по теме:  Видеоконференция Вконтакте как пользоваться

Ввод и вывод символов

Для ввода и вывода символа применяются функции getchar() и putchar() . Но следует сказать, что на самом деле они полноценными функциями не являются, а определены как макросы в заголовочном файле stdio.h :

#define getchar() getc(stdin) #define putchar(c) putc((c), stdout)

Вывод символа

Для вывода отдельного символа на консоль предназначена функция putchar() со следующим прототипом:

Взлом в вк только в конце не успел написать нажимаем Enter


int putchar(int c);

Выводимый символ в виде числового кода передается в putchar в качестве параметра, он же возвращается функцией.

#include int main(void) < char c = ‘A’; putchar(c); // Выводим символ A >

Ввод символа

Для ввода одного символа с клавиатуры применяется функция getchar() , которая имеет следующий прототип:

int getchar(void);

В качестве результата функция возвращает числовой код введенного символа.

При использовании функции getchar следует учитывать, что при печати текста посредством клавиатуры в буфер операционной системы заносятся коды печатаемых символов, а сами символы отображаются на экране. Поучение программой введенного символа из буфера производится с помощью нажатия клавиши Enter.

И если буфер операционной системы не пуст, то при вызове функции getc() она получает очередной символ из буфера. Если же буфер пуст, то происходит чтение байта из потока ввода с помощью системной функции, название которой зависит от операционной системы.

При этом при нажатии клавиши Enter, в буфер также помещается код этой клавиши. То есть если мы введем один символ и нажмем на Enter, в буфере окажутся два числовых кода — введенного символа и клавиши Enter. И это надо учитывать при работе с функцией getchar. В частости, рассмотрим простой, но показательный пример:

#include int main(void) < printf(«1»); getchar(); // ожидание ввода символа printf(«2»); getchar(); // ожидание ввода символа printf(«3»); return 0; >

Сначала на экран выводится цифра 1, после чего функция getchar ожидает ввода символа. Если после ввода символа мы нажмем Enter, то в буфер будет помещены два числовых кода — введеного символа и клавиши Enter. Поэтому при втором вызове getchar эта функция считывает байт из буфера — то есть числовой код клавиши Enter.

Например, введем при первом вызове функции getchar символ «a», а затем Enter:

1a 23

Но если при каждом вызове getchar мы будем только нажимать клавишу Enter, тогда в буфер будет заноситься только код этой клавиши, и соответственно программа будет работать, как и ожидалось:

Еще по теме:  Как посмотреть архив сообщений в ВК

1 2 3

Применим функции getchar и putchar для ввода и вывода символов с клавиатуры:

#include int main(void) < int c; while((c=getchar())!=EOF) < putchar(c); >return 0; >

Функция getchar() считывает числовой код символа, который потом выводится в функции putchar() . Для вывода из программы необходимо ввести комбинацию клавиш Ctrl+C.

Ввод и вывод строк

Вывод строк и puts

Для вывода одной строки на консоль предназначена функция puts() со следующим прототипом:

int putchar(char *s);

В качестве параметра передается указатель на строку, а возвращаемым результатом функции является последний выведенный символ.

При этом функция puts() будет выводить символы переданной строки, пока не дойдет до нулевого символа ‘’. Если же выводимый массив символов не содержит этого символа, то результат программы неопределен. Например:

#include int main(void) < puts(«Hello World»); // выводим строковый литерал char* name = «Hello Metanit.com»; puts(name); // выводим значение переменной return 0; >
Hello World Hello Metanit.com

Вывод строк и fputs

Функция fputs() также записывает в поток вывода строку, то есть набор символов, который завершается символом ‘’. При записи строки нулевой символ ‘’ не записывается. Она имеет следующий прототип:

int fputs(const char *s, FILE *stream);

Первый параметр функции — записываемая строка, а второй — указатель на поток вывода. В качестве результата функция возвращает неотрицательное целое число. При ошибках в процессе записи возвращается значение EOF .

Применим функцию для записи в стандартный поток вывода, то есть на консоль. В этом случае в качестве второго параметра надо передать значение stdout :

#include int main(void)

Ввод строк и fgets

Для ввода строки с клавиатуры применяется функция fgets() , которая имеет следующий прототип:

char *fgets(char *str, int count, FILE *stream);

  • char *str : строка, в которую производится считывание.
  • int count : сколько символов необходимо считывать.
  • FILE *stream : файловый поток, из которого производится считывание. В качестве потока ввода может выступать и консольный ввод.

Функция fgets() прекращает считывание, когда пользователь нажимает клавишу ENTER, то есть когда в поток добавляется символ перевода строки.

Рассмотрим считывание строки с консоли. Для этого в качестве третьего параметра в функцию передается значение stdin :

#include #define MAX 15 int main(void)

Здесь функция fgets считывает не более 15 символов в строку name, а В реальности функция предложит ввести 14 символов, так как последний символ зарезервирован для нулевого символа ‘’. Если будет введено больше символов, то fgets все равно считает не более 15 символов. Таким образом функция позволяет проверить количество считываемых символов и поэтому считается безопасной.

Еще по теме:  Как удалить человека из черного списка Вконтакте через телефон

Пример работы программы:

Enter name: Tom Smith Your name: Tom Smith

Стоит отметить, что функция fgets() возвращает указатель char * — указатель на буфер, в который считаны данные. В реальности это тот же самый буфер, который передавался в качестве первого параметра, то есть в примере выше — это массив name. Однако этот результат может нам пригодится для проверки успешности выполнения функции — если считывание прошло неудачно, то функция возвращает NULL :

#include #define MAX 15 int main(void) < char name[MAX]; printf(«Enter name: «); if(fgets(name, MAX, stdin) != NULL) // if(fgets(name, MAX, stdin)) — можно сократить < printf(«Your name: %sn», name); >else < printf(«Critical Error. «); >return 0; >

Для эмуляции ошибки можно передать в функцию вторым параметром число 0.

Источник: metanit.com

Как нажать Enter в Selenium?

Пишу приложение для автоматизации работы с сайтом. На сайте есть чат, отправка сообщений в который происходит при нажатии кнопки Enter. Без проблем получается найти поле и передать в него значение с помощью .sendKeys(«Text»). Как имитировать нажатие Enter? Пробовал .sendKeys(Key.ENTER). Не работает.

Пишу на js.

  • Вопрос задан более трёх лет назад
  • 11545 просмотров

Комментировать
Решения вопроса 1

you_are_enot

Пограммист любитель

Решение оказалось проще, чем предполагалось. Достаточно в конце отправляемого сообщения добавить символ переноса строки «n»

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 2

Нужно понять, почему не работает .sendKeys(Key.ENTER), вполне возможно, что теряется фокус с инпута = неявно теряется курсор. Попробуй указать курсору на место явно. типа такого:
«`
driver.get(‘www.example.com’);
var element = driver.findElement(webdriver.By.xpath(‘//div[yourInputXpath]’));
element.sendKeys(‘your text is here’);
element.click;
element.sendKeys(Keys.ENTER);
«`
За синтаксис извини, не пишу на js.
Решение костыльное конечно, нужно смотреть почему пропадает фокусировка и переопределить событие sendKeys, например. Но если нужно, так сказать «По быстрому» то должно сработать.

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

Chefranov

Попробуйте .sendKeys(Key.RETURN)
Ответ написан более трёх лет назад

you_are_enot

Попробовал, возвращает

ReferenceError: Key is not defined

Ваш ответ на вопрос

Войдите, чтобы написать ответ

javascript

  • JavaScript

Как задать класс active первому элементу по умолчанию?

  • 1 подписчик
  • 20 минут назад
  • 5 просмотров

javascript

  • JavaScript
  • +1 ещё

Как выбрать текущий элемент в дочернем компоненте после монтирования родительского?

  • 1 подписчик
  • 2 часа назад
  • 14 просмотров

Источник: qna.habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...