Python For S60 文本编辑器

##################################
#-*- 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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值