Форум сайта python.su
Всем привет! Извиняю за заголовок темы, лучшего не мог придумать. Пишу программу для Symbian 9,2, которая через определенный интервал времени делает нужное мне действие. Ну вот в чем вопрос. Программа должна отображать время на сколько настроен таймер, но это происходит только после того, как я снова запускаю программу, настраиваю таймер, и только потом отображается время. Вроде с файлом куда записывается время все нормально(после настройки таймера), но в чем подвох не пойму(((. Помогите пожалуйста.
import appuifw
import appswitch
import sys
import os
import time
import e32
def ru(x):return x.decode('utf-8')
try:
dir = 'C:\\System\\1.dat'
file = open(dir, 'r')
t = file.read()
file.close()
appuifw.app.body = body = appuifw.Text(ru("Таймер настроен на ") + tnum + ru(" минут")) #вот тут скорее всего не работает
except:
pass
def timer():
t=appuifw.query(ru("отключение через (мин):"),"number")
tnum = str(t)
appuifw.app.body = body = appuifw.Text(ru("Таймер настроен на ") + tnum + ru(" минут"))
dir = 'C:\\System\\1.dat'
file = open(dir, 'w') # если хотим дописывать файл, а не ПЕРЕписывать с каждым запуском программы, то ставим атрибут не "w", а "а".
tnum = str(t) # обязательно переводим число в строку - иначе не запишется!!!
file.write(tnum)
file.close()
run = 1
while run:
t=t*60
appuifw.note(ru("Ждите..."),"info")
e32.ao_sleep(t)
appuifw.note(ru("N/A"),"info") # любое действие программы
app_lock=e32.Ao_lock()
appuifw.app.menu=[(ru("таймер"),timer)]
app_lock.wait()
Отредактировано (Сен. 1, 2009 11:03:25)
Офлайн
Хм… Посмотри какая ошибка вылезает. Ты ж все исключения перехватываешь, соответственно не можешь увидеть где ошибка.
Офлайн
Я не знаю, никаких ошибок не вылазит! х(
Офлайн
Ну естественно не вылазит. У тебя блок try/except не даст вылезти ошибке. Для начала почитай хоть какой нибудь учебник по питону, прежде чем писать программы (править чужие)
Офлайн
igor.kaistЭто ты зря, я 2 недели по инету шастал и читал какой нибудь учебник по питону! найди программу с таким-же содержанием а потом говори
(править чужие)
Отредактировано (Сен. 1, 2009 13:58:30)
Офлайн
Andrey_ProGrammeRЗначит мало шастал
Это ты зря, я 2 недели по инету шастал и читал какой нибудь учебник по питону! найди программу с таким-же содержанием а потом говори
Andrey_ProGrammeRраз не заметил, почему не вылазит
Я не знаю, никаких ошибок не вылазит! х(
Офлайн
Andrey_ProGrammeRПеречитай еще раз мой пост, я тебя ни в чем не обвинял.
Это ты зря, я 2 недели по инету шастал и читал какой нибудь учебник по питону! найди программу с таким-же содержанием а потом говори
Andrey_ProGrammeR:)
и читал какой нибудь учебник по питону
Отредактировано (Сен. 1, 2009 14:20:20)
Офлайн
Для таймеров с симбиан используются активные обьекты. Простейший активный обьект - таймер реализован в классе e32.Ao_timer(), использование циклов в данном случае не есть гуд.
Отредактировано (Сен. 1, 2009 15:07:42)
Офлайн
arokДа подожди ты, тут человек с try/except разобраться еще не может :)
Для таймеров с симбиан используются активные обьекты. Простейший активный обьект - таймер реализован в классе e32.Ao_timer(), использование циклов в данном случае не есть гуд.
Офлайн
Всем спасибо, плять и без вас сам разобрался, даже подсказать ниче не можете, тоже мне профи блин…
Офлайн