主题:[原创]最简单的编程语言【MYS语言】精彩例文
dbxmouse
[专家分:0] 发布于 2008-01-19 14:34:00
[b]MYS是MYL的脚本形式[/b]
[b]本人现在以编写Myl为主[/b]
【Myl语言】同样非常简单
【Myl语言】是编译执行的
【Myl语言】还可以使用中文编程
【Myl语言】现阶段只能使用微软的 .Net 库
【Myl语言】下载地址:[url=http://dubixia.51.net/myl/]http://dubixia.51.net/myl/[/url]
[b]此贴将陆续上传【Myl语言】的一些精彩例文。[/b]
最后更新于:2012-02-02 14:27:00
回复列表 (共1个回复)
沙发
dbxmouse [专家分:0] 发布于 2008-01-19 21:22:00
//这是一个简单的Myl文件编辑器
使用 [标准界面引用.中文.Myl]
使用 System.Diagnostics
字符串 文件名, 启动后的文件
字符串 对话框过滤器=[*.myl|*.Myl|*.*|*.*]
字符串 新文件名=[新文件]
字符串 扩展名=[.中文.Myl]
文本框 代码框
窗口 我的窗口
设置 我的设置
是否 置换中文标点为英文
方法 设置文件名(字符串 s){
文件名=s
我的窗口.标题文本=[[路径.获取文件名(s)]--简单的Myl编辑器]
}
方法 装载(){
流读入者(文件名,编码器.默认值){
代码框.标题文本=读到结尾();
代码框.修改过=否
} //自动关闭流
如果(异常){说[异常参数的信息为:[异常参数.消息]] }
}
方法 保存(){
流写入者(文件名,否,编码器.默认值){
写(代码框.标题文本);
代码框.修改过=否
} //自动关闭流
如果(异常){说[异常参数的信息为:[异常参数.消息]] }
}
是否 另存(){
保存文件对话框(){
文件名=.文件名
过滤器=对话框过滤器
如果(显示对话框()=确定){
设置文件名(文件名)
保存()
返回 成功
}
}
返回 失败
}
是否 保存文件(){
如果(代码框.修改过=否)返回 成功;
否则{ 保存(); 返回 成功}
}
是否 关闭文件(){
如果(代码框.修改过=否)返回 成功;
结果=消息框.显示[保存已修改的文件吗?][文件已修改](MessageBoxButtons.YesNoCancel);
如果(结果=取消)返回 失败
再如果(结果=是){保存(); 返回 成功}
否则 返回 成功
}
是否 打开文件(){
如果(不 关闭文件())返回 失败
打开文件对话框(){
文件名=.文件名
过滤器=对话框过滤器
如果(显示对话框()=确定){
设置文件名(文件名)
装载()
返回 成功
}
}
返回 失败
}
字符串 获取新文件名(){
i=1
新文件名1=[[新文件名][i][扩展名]]
循环(文件.存在(新文件名1)){
i++; 新文件名1=[[新文件名][i][扩展名]]
}
返回 新文件名1
}
是否 创建新文件(){
如果(不 关闭文件())返回 失败
设置文件名(获取新文件名())
代码框.标题文本=[
//中文Myl编程语言
使用 [`标准界面引用.中文.Myl]`
说[`你好!]`
]
代码框.修改过=是
返回 成功
}
方法 自动加tab(){
代码框{
s=标题文本
如果( 选择的起点-2<0)返回
如果( s.(选择的起点-2)!='Return')返回
id=获取某行首字符的位置 (获取某位置所在的行(选择的起点)-1)
tabs=[]
c=s.(选择的起点-3)
如果(c)='{' ,'[','(' { tabs=[['Tab']] }
循环{
如果(s.(id)='Tab'){
tabs=[[tabs]['Tab']]
id++
}
否则 跳出
}
Paste(tabs)
}
}
我的字典=字典<字符,字符>(){
加入('【','[')
加入('】',']')
加入('(','(')
加入(')',')')
加入('《','<')
加入('》','>')
加入(':',':')
加入(';',';')
加入(',',',')
加入('。','.')
加入('、','/')
加入('?','?')
加入('’',''')
加入('‘',''')
加入('“','"')
加入('”','"')
}
方法 置换(键按着事件参数 事件参数){
事件参数.KeyChar=我的字典.(事件参数.KeyChar)
如果(异常){返回}
}
我的窗口=
窗口[简单的Myl编辑器]{
当窗口准备关闭时{{
如果(不 关闭文件()){事件参数.取消=是}
}}
代码框=
文本框(){
停靠=填满
多行=有效
接受Tab=有效
自动换行=无效
滚动条风格=二者
当键放开时{{
如果(事件参数.KeyCode=Keys.Enter)自动加tab()
}}
当键按着时{{如果(置换中文标点为英文) 置换(事件参数) }}
}
}
我的设置=
设置[Myl编辑器设置]{
条目[颜色]{
选择(@代码框.背景颜色){
条目[红色](颜色.Red)
条目[绿色](颜色.Green)
条目[蓝色](颜色.Blue)
条目[黑色](颜色.Black)
条目[自选]{
编辑[自选颜色](@值)
}
}
编辑(@代码框.前景颜色)
}
条目[字体]{
编辑(@代码框.字体)
}
条目[其他]{
选择(@启动后的文件){
[创建新文件]
[打开最后文件]
}
是否(@置换中文标点为英文)
}
}
代码框{
设置菜单[Myl编辑器菜单]{
主设置=我的设置
执行[运行]{{如果(保存文件()=成功) 进程.开始(文件名) }} { ShortcutKeys=F5 }
条目[文件]{
执行[新建]{{创建新文件()}}
执行[打开]{{打开文件() }}
执行[保存]{{保存文件() }} { ShortcutKeys=Control | S }
执行[另存]{{另存() }}
}
条目[编辑]{
执行[剪切]{{代码框.Cut()}}
执行[复制]{{代码框.Copy()}}
执行[粘贴]{{代码框.Paste()}}
执行[删除]{{代码框.SelectedText=[];代码框.修改过=是}}
分隔条()
执行[全选]{{代码框.SelectAll()}} { ShortcutKeys=Control | A }
}
条目[选项]{
条目[启动后的要编辑的文件]{
选择(@启动后的文件){
[创建新文件]
[打开最后文件]
}
}
编辑(@代码框.字体)
是否(@置换中文标点为英文){ ShortcutKeys=F12 }
执行[设置]{{我的设置.显示()}}
}
条目[帮助]{
执行[目录]{{说[暂时没有帮助目录]}}
执行[搜索]{{说[暂时没有帮助搜索]}}
}
}
}
状态保存[Myl编辑器状态]{
@我的窗口.左边
@我的窗口.顶边
@我的窗口.宽度
@我的窗口.高度
@我的窗口.窗口状态
@文件名
}
如果(启动后的文件=[创建新文件]){
创建新文件()
}
否则{
设置文件名(文件名)
装载()
}
应用程序.运行(我的窗口)
//如果(异常){ 说(异常参数.消息) }
我来回复