##################################
#-*- coding:utf8 -*- #
# Author:biansutao@gmail.com #
# Purpose:Text edit programer #
# #
##################################
#import s60
import appuifw
import e32
#import sys
import os
import time
import sys
sys.setdefaultencoding("utf8")
rootDir="e:/text/"
title = ""
content = ""
app_lock=e32.Ao_lock()
def info(msg):
appuifw.note(msg,'info')
def error(msg):
appuifw.note(msg,'error')
def conf(msg):
appuifw.note(msg,'conf')
def init():
global rootDir
if not os.path.isdir(rootDir):
os.makedirs(rootDir)
def new():
global content,title
content=appuifw.Text()
content.set("")
appuifw.app.body=content
appuifw.app.title=unicode("","utf8")
title = unicode("","utf8")
def save():
global rootDir,title,content
file = ""
if title == "":
if not appuifw.query(unicode("请输入文件名","utf8"),'query'):
file=rootDir+time.strftime("%Y%m%d%H%S%M")+".txt"
else:
newTitle=appuifw.query(unicode("请输入文件标题:","utf8"),'text')
appuifw.app.title=newTitle
title=newTitle
file=rootDir+title+".txt"
else:
file=rootDir+title+".txt"
result={}
result['title']=title
result['content']=content.get()
try:
f=open(file,'w')
f.write(repr(result))
f.close()
msg = unicode("保存成功","utf8")+file
conf(msg)
except IOError,TypeError:
msg = unicode("保存失败","utf8")+file
info(msg)
def saveas():
global title
newTitle=appuifw.query(unicode("请输入文件标题:","utf8"),'text')
appuifw.app.title=newTitle
title=newTitle
save()
def list():
global rootDir,title,content
appuifw.app.title=unicode("请您选择文件","utf8")
try:
list=map(unicode,os.listdir(rootDir))
index=appuifw.selection_list(choices=list,search_field=1)
file=rootDir+list[index]
try:
f=open(file,'r')
result=f.read()
f.close();
data=eval(result)
title=data.get("title","")
content1=data.get("content","")
appuifw.app.title=title
content=appuifw.Text()
content.set(content1)
appuifw.app.body=content
except:
info(unicode("打开文件失败","utf8")+"\n"+file)
except:
info(unicode("选择文件发生错误","utf8"))
def quit():
if appuifw.query(unicode("确认退出?","utf8"),'query'):
app_lock.signal()
# appuifw.app.set_exit()
def about():
appuifw.note(unicode("记事本 V1.0","utf8"),'info')
def delete():
global rootDir,title,content
appuifw.app.title=unicode("请您选择要删除的文件","utf8")
try:
list=map(unicode,os.listdir(rootDir))
index=appuifw.selection_list(choices=list,search_field=1)
file=rootDir+list[index]
try:
if appuifw.query(unicode("确认删除文件吗?","utf8"),'query'):
os.remove(file)
info(unicode("删除成功","utf8")+"\n"+file)
except:
info(unicode("删除文件失败","utf8")+"\n"+file)
except:
info(unicode("选择文件发生错误","utf8"))
if __name__ == "__main__":
appuifw.app.title=unicode("记事本","utf8")
appuifw.app.screen='normal'
appuifw.app.menu=[(unicode("新建","utf8"),new),(unicode("保存","utf8"),save),(unicode("另存为","utf8"),saveas),(unicode("打开","utf8"),list),(unicode("删除","utf8"),delete),(unicode("退出","utf8"),quit),(unicode("关于","utf8"),about)]
appuifw.app.exit_key_handler=quit
content=appuifw.Text()
content.set("")
appuifw.app.body=content
init()
app_lock.wait()
分享到:
相关推荐
在Python for S60中,编写程序主要通过文本编辑器或专门的脚本编辑器完成。为了确保兼容性,建议使用支持JAVA UTF-8编码的编辑器。在编写脚本时,要注意以下几点: - 所有符号需在英文输入法下输入。 - 引号可以是单...
Visual Studio Code(VS Code)则是一个轻量级但功能强大的源代码编辑器,通过安装Python扩展,它也能成为强大的Python开发工具。Jupyter Notebook则是交互式编程和数据分析的理想选择,它支持编写和执行可混合文本...
4. **编写脚本代码**:开发者可以在文本编辑器中编写Python脚本,然后通过Python运行环境执行。 5. **安装新脚本**:使用Python Installer可以将新的脚本安装到设备上。 6. **使用Python Installer**:这是一个专门...
Python S60项目 该存储库是我从2011年到2015年创建的各种项目和通用库的存档。 它们是使用非常方便创建的。 是的,这确实意味着我只能在手机上制作它们,这要归功于蓝牙键盘。... 文本编辑器支持自
1. **文本编辑器**:用于编写Java源代码。建议使用UTF-8格式的编辑器,例如s40的minicommander或s60的Python脚本编辑器,避免使用可能导致编码问题的x-plore。 2. **J2ME编译器**:如Janino,它可以将源代码编译为....