Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 12, 2009 16:28:32

gabin
От:
Зарегистрирован: 2009-03-07
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

Как известно, стандартная питоновская функция ввода данных raw_input работает и на pyS60. Вот только чтоб данные ввелись необходимо из таблицы символов выбрать символ Новой строки. Как сделать чтобы данные вводились по нажатию центральной кнопки джойстика?
(appuifw.query не предлагать)



Офлайн

#2 Ноя. 12, 2009 17:18:32

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

ты хочешь чтоб у тебя вводились при помощи джойстика (влево - право, верх-низ) и при нажатии центральной клавиши символ вставлялся в поле?

Офлайн

#3 Ноя. 12, 2009 17:24:10

gabin
От:
Зарегистрирован: 2009-03-07
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

Чтобы текст вводился в обычном клавиатурном режиме, а при нажатии центральной клавиши осуществлялся ввод набранных данных.
Это можно сравнить с интерактивным режимом pys60, к примеру: мы вводим текст , например import os , нажимаем центральную клавишу и происходит тут же обработка этой команды и строка для ввода новых команд

По сути нужна аналогичная raw_input функция, только чтоб данные вводились центральной клавишей



Отредактировано (Ноя. 12, 2009 19:49:42)

Офлайн

#4 Ноя. 13, 2009 09:48:03

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

Можешь написать сам, используя Text, и перенаправляя stdout и stdin. Забинди нужные клавиши на нужные действия.
upd: или можно посмотреть, как это сделано в интерактивной консоли…



Отредактировано (Ноя. 13, 2009 12:38:52)

Офлайн

#5 Ноя. 13, 2009 15:29:55

gabin
От:
Зарегистрирован: 2009-03-07
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

где можно посмотреть исходный код консоли?



Офлайн

#6 Ноя. 13, 2009 18:57:34

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

Офлайн

#7 Ноя. 16, 2009 11:02:40

gabin
От:
Зарегистрирован: 2009-03-07
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

Скрипт вроде небольшой, но как они биндят central key всё равно не понятно :|. Очень запутано.
На нокиа форуме тоже ничем не могут помочь.
igor.kaist, можешь набросать хотя бы пару строк кода ?



Офлайн

#8 Ноя. 16, 2009 14:28:04

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

А что там не понятного?

self.co.control.bind(EKeyDevice3, self.handle_ok_press)
P.S. Набросать пару строк не могу, так как нету у меня клавиатуры на телефоне :)



Отредактировано (Ноя. 16, 2009 14:28:45)

Офлайн

#9 Ноя. 16, 2009 14:31:32

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

from appuifw import *
from key_codes import *
text=Text()
def ok():
text.add('\n')
# делаем что нибудь еще
text.bind(EKeyDevice3,ok)
app.body=text
что то типа этого…



Офлайн

#10 Ноя. 16, 2009 19:13:53

gabin
От:
Зарегистрирован: 2009-03-07
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Аналог raw_input для смарта

Ок, допустим мне необходимо ввести 2 переменные. Я использую такой код:

#-*-coding:utf-8-*-
import e32
from appuifw import *
from key_codes import *
text=Text()
def ok():
text.add(u'\n')
# дeлaeм чтo нибyдь eщe

text.bind(EKeyDevice3,ok)
app.body=text
first=raw_input("Who fires?").lower()
second=raw_input("Who at?").lower()
print first,second
lock=e32.Ao_lock()
app.exit_key_handler=lock.signal
lock.wait()
Код неработоспособный. Появляется сперва сообщение Who fires? , потом чистый экран . Вводить можно любые символы и ok клавиша на это никак не реагирует



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version