23 2010

1.0.2.5更新说明

分类目录: 最新动态admin @ 7:42 下午

1.0.2.5版本更新说明如下:
1、增加类似switch的分支语句,中文语法格式如下:
对于(变量A)
{
若为 0:
若为 1:
{
跳出;
}
若为 2:
{
跳出;
}
其它:
{
}
}

2、增加了二选一语句,与C语法不同的是,在O中间语言中把问号提到了前面:
在C中的语法是 (A==B)?x:y;
在O中的语法是 ?(A==B)x:y;
把问号提到前面主要是便于语法解析。

3、增加了互换指令的浮点变量支持

4、增加了局部变量的初始化功能,可以在局部变量中这样初始化字符串数组
字符[] 字符串变量 = “这是一个字符串数组”;

5、增加了数组的相互赋值:
整数32[5]  数组A,数组B = {1,2,3,4,5};
数组A = 数组B;
这个语法格式在C中是不被支持的。

6、还修正了其它几个小BUG


09 2010

1.0.2.3版本更新说明

分类目录: 最新动态admin @ 3:03 下午

1.0.2.3版本更新说明如下:
1、增加了类型重定义的新语法,如:
类定义(整数32,自定义整数1,自定义整数2,自定义整数3);

2、修正了地址++和–指令,如果地址有指定类型,则++为加一个类型的长度,–为减一个类型的长度,比如:
地址<整数32> 整数地址 = 0;
整数地址++; //相当于 整数地址 += 取大小 整数32;
如果地址没有指定类型则自加或自减1;

3、增加了可把地址当做数组使用的功能,比如:
有一个地址<整数32>的变量“整数地址”,可用 整数地址[1]来得到这个地址所指向的第二个整数

4、设循环(即for循环)增加了可在括号内定义变量的语法:
设(整数32 i=0;i<10;i++)
{
}

5、增加了互换指令,互换指令语法为:
变量A <=> 变量B;
  执行完这条指令,两个变量值互换,即变量A的值变为变量B的值,变量B的值变为变量A的值。

6、增加了C标准库的支持,使用C标准库写程序时应当按如下的语法格式设定主函数,而不要自己设定程序入口
函数 C调用 主函数:main(整数32 argc,地址 argv)=>整数32
{
返回 0;
}

//下面是一个标准C函数的使用示例

.包含文<*.\标准C.omh>

//下面是主函数定义
函数 C调用 主函数:main(整数32 argc,地址 argv)=>整数32
{
printf(&”Hello World!”);
getchar();

返回 0;
}


05 2010

1.0.2.2可视化测试版更新说明

分类目录: 最新动态admin @ 8:17 下午

1.0.2.2可视化测试版更新说明
嚯嚯,这个版本有意思,终于实现了可视化与O中间语言的结合。
并且制作了一个视频教程,大家去下载体验吧。

如果点击视频教程不能下载,请自行访问下面网站下载:
http://cid-70783734cd14460b.skydrive.live.com/browse.aspx/.Public/oml


02 2010

1.0.2.1更新说明

分类目录: 最新动态admin @ 7:23 下午

本次对程序只做了一点小更新,主要是增加了O中间语言的帮助文档,其帮助文档是help目录下的oml.chm,可以运行IDE后按F1快捷键打开。


24 2010

1.0.2.0可视化体验版更新说明

分类目录: 最新动态admin @ 7:15 下午

1.0.2.0可视化体验版更新说明如下:
本次升级主要增加了窗口可视化编辑的强大功能,可以说是跨越式升级,
因此版本也从1.0.1.0直接跳跃到1.0.2.0
由于这是可视化功能的第一版本,有些功能还有待完善,因此称为体验版,
欢迎你测试并提供宝贵建议。

要体验可视化窗口编辑功能按如下操作:
1、运行一次“升级后运行一次.reg”文件,使IDE组件重新布局,因为添
加了新的工具条和窗口
2、运行OLIDE.exe,并手动布局IDE工具条及窗口
3、把aa.ofl文件拖到IDE中
4、在“界面描述编辑工具窗口”中任意拖拽一个控件到编辑窗口中
5、其它功能自己测试吧


25 2010

1.0.1.0版本更新说明如下

分类目录: 最新动态admin @ 10:53 上午

1、增加了嵌入界面描述代码的支持
2、修正了IDE中双击编译错误时跳转位置不够精确的问题
3、修正其它几个小BUG

增加了O中间语言代码嵌入界面描述功能之后,编写程序界面将非常方便,这种写法类似于微软的XAML编写功能,但实现原理是完全不同的,XAML使用了XML的结构并且代码会被编译到程序中,O界面描述使用了更为简单的自定义格式,内嵌代码会做为字符串保存在程序中程序运行时需要OFL.DLL进行界面实现。IDE在编译程序时会根据代码中是否有嵌入界面描述代码,自动判断是否复制OFL.DLL文件到程序输出目录。

下面是使用在O代码中嵌入界面描述代码的演示:

界面描述 第一个界面
{

<LanguageType=2>

//上面这一行设置了关键字默认语言为中文(1为英文,2为中文),这一行必须在所有代码(包括注释文本)之前

//界面描述中所使用的包含语句必须在界面描述代码内
.包含文<*.\ofl\宏定义.txt>

//窗口定义开始
窗口 主窗口<类型 = 窗口类型_通用,标题=”O界面设计语言示例”,边框=0,/*背景色=0xFF1111,右下背景色=0×001180,背景图片=”background.bmp”,*/宽度=500,高度=500> /*普通窗口*/
{

}//主窗口结束

} //界面描述结束

函数 主窗口()
{
//使用系统默认语言初始化,1为英文 2为中文 小于0则不设置默认语言
若(界面_默认初始化(-1) == 0)
{
返回;
}

//添加接口函数
//界面_添加函数(&”按钮处理”,按钮处理);
//界面_添加函数(&”主窗口关闭”,主窗口关闭);
//界面_添加函数(&”主窗口创建”,主窗口创建);
//界面_添加函数(&”菜单处理”,菜单处理);

//解析界面代码
若(界面_解析文本(&第一个界面,&”第一个界面”,2,0,0))
{
//显示主窗口
界面_显示主窗口(&”主窗口”);
}

//程序即将退出,这里要进行必要的清理工作
界面_清理();
}

示例请下载界面描述语言


20 2010

1.0.0.9版本更新说明

分类目录: 最新动态admin @ 3:30 下午

1.0.0.9版本更新说明如下:
1、添加了取地址”&”符号及取数值”*”符号的使用
2、增加了对界面描述语言的支持
3、修正了一个宏BUG

下面是使用界面描述语言的演示:

函数 主窗口()
{
//系统初始化
若(界面_默认初始化() == 0)
{
返回;
}

//添加接口函数
界面_添加函数(&”按钮处理”,按钮处理);
界面_添加函数(&”主窗口关闭”,主窗口关闭);
界面_添加函数(&”主窗口创建”,主窗口创建);
界面_添加函数(&”菜单处理”,菜单处理);

//解析界面代码
若(界面_解析(&”界面语言示例.txt”,1))
{
//显示主窗口
界面_显示主窗口(&”主窗口”);
}

//程序即将退出,这里要进行必要的清理工作
界面_清理();
}
本示例请下载“界面描述语言”包。


20 2010

界面描述语言第1版发布

分类目录: 最新动态admin @ 3:01 下午

界面描述语言组件实现了根据脚本的定义代码进行界面的创建、管理及交互。交互是双向的,界面通过控件的事件与主程序进行交互,将事件对应 的函数添加到函数表中,就能在界面中将某一事件与这个函数进行映射。若主程序要操控界面元素,可以使用“主窗口.面板一.编辑控件1”这样的命名方式进行 引用。
界面描述语言主要有以下几大优点:
1、实现程序功能与界面的分离,将程序员从复杂的界面开发中解脱出来。
2、大大降低了软件界面开发的难度。
3、实现了软件的功能与界面的无关性,可以使软件自由地换肤(就像人穿衣服一样),大大提高了软件的灵活性和趣味性。
4、平台无关性。
界面脚本即可以用在Windows平台下,也可以用在Linux下,非常方便软件的移植。(Linux下暂时还没实现)
5、语言无关性。
无论你是用VC、VB、Delphi还是C#开发程序,都可以使用界面设计语言所设计出来的界面。当然也可以用在O语言上啦!
6、升级方便。
只需要对DLL进行一定的升级,就能支持很多的控件。


十二 13 2009

1.0.0.8版本更新说明

分类目录: 最新动态admin @ 8:30 下午


1.0.0.8版本更新说明如下:
1、修正了1.0.0.7中在OML增加动态加载DLL功能后产生的一个BUG
2、修正了O汇编帮助文档中”地址妈”应为”地址码”错误
3、在O汇编中增加了直接嵌入指令数据功能
4、增加了O汇编的源码级调试功能,使用方法与OML一致

下面是O汇编中直接嵌入指令数据演示:
入口 主函数()
{
  //下面是嵌入指令数据演示,嵌入的指令数据必须正确,否则会运行出错
  //这里的”abcd”就无法正确运行,这里只是演示可以嵌入字符串数据
  嵌入[字节|0xCC,0x90,"abcd"]

  主窗口()
  ExitProcess(0)
}

特别说明:本次更新对OML的调试功能略有改动,要调试原来的OML工程请重新编译生成调试版。


十二 06 2009

1.0.0.7版本更新说明

分类目录: 最新动态admin @ 9:46 下午

1.0.0.7版本主要增加下列功能:
1、修正了调试状态下变量类型显示的问题。
2、修正了调试中数组变量显示的一个小BUG。
3、增加了函数格式的变量类型,主要用于动态加载DLL,并调用DLL内的函数。
4、增加了结构体变量赋值。

下面是3、4功能的代码演示:
//O中间语言代码文件

.包含文<*.\视窗32.omh>

函数类型 ADD(整数 参数1,整数 参数2)=>整数; //这是新定义的一种函数格式的变量类型而不是函数,类型名为ADD

入口 主函数()
{
矩形结构 矩形A,矩形B;
矩形B.左 = 1;
矩形B.右 = 2;
矩形B.顶 = 3;
矩形B.底 = 4;

矩形A = 矩形B; //结构体赋值

句柄 hDll句柄;
hDll句柄 = LoadLibrary(取地址 “DLL演示.dll”);
若(hDll句柄 != 0)
{
//用ADD类型定义一个变量
ADD p_add = GetProcAddress(hDll句柄,取地址 “add”);
整数 结果;
结果 = p_add(1,2); //使用函数格式的变量进行函数调用
//p_add(1,2);

FreeLibrary(hDll句柄);
}

ExitProcess(0);
}


下一页 »