`
xiaobian
  • 浏览: 592208 次
  • 来自: 北京
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    python-for-s60编程基础教程--by-阿斌.doc

    在Python for S60中,编写程序主要通过文本编辑器或专门的脚本编辑器完成。为了确保兼容性,建议使用支持JAVA UTF-8编码的编辑器。在编写脚本时,要注意以下几点: - 所有符号需在英文输入法下输入。 - 引号可以是单...

    python平台

    Visual Studio Code(VS Code)则是一个轻量级但功能强大的源代码编辑器,通过安装Python扩展,它也能成为强大的Python开发工具。Jupyter Notebook则是交互式编程和数据分析的理想选择,它支持编写和执行可混合文本...

    Python应用于Series 60平台入门

    4. **编写脚本代码**:开发者可以在文本编辑器中编写Python脚本,然后通过Python运行环境执行。 5. **安装新脚本**:使用Python Installer可以将新的脚本安装到设备上。 6. **使用Python Installer**:这是一个专门...

    PyS60-Projects:我的pys60代码的集合

    Python S60项目 该存储库是我从2011年到2015年创建的各种项目和通用库的存档。 它们是使用非常方便创建的。 是的,这确实意味着我只能在手机上制作它们,这要归功于蓝牙键盘。... 文本编辑器支持自

    tengge手机端j2me编程教程.doc

    1. **文本编辑器**:用于编写Java源代码。建议使用UTF-8格式的编辑器,例如s40的minicommander或s60的Python脚本编辑器,避免使用可能导致编码问题的x-plore。 2. **J2ME编译器**:如Janino,它可以将源代码编译为....

Global site tag (gtag.js) - Google Analytics