GS语言更新到V3.0
本次更新内容:
1、增加常数组支持
2、增加内置数学库函数
3、增加内置字符串处理库函数
4、增加对COM对象的支持
5、增加对文件操作的支持
6、增加对XML数据的操作支持
7、解释器优化,使用了对象池,大大提高了解释速度
一、什么是常数组?
请看示例:
array ar=[20,30,40,100,50];//把一个常数组赋值给一个变量。
int func(array a)
{
....
}
func([10,20,30,40]);//直接使用常数组作为参数
array ar= //带键值的常数组(与JSON格式类似)
[
"x":10,
"y":20,
"z":0,
"p":[1,2,3]
]
二、COM对象如何使用?
object ComObject =new GSCOMObject("Excel.Application");//创建Excel对象
ComObject.visible=true;//设置属性
ComObject.Workbooks.add();
//添加工作簿
ComObject.Worksheets("sheet1").Activate();
//激活第一个工作表
...
也可从COM对象派生类
class Excel:GSCOMObject
{
Excel():parent("Excel.Application")
{
}
public var Show(){this.visible=true;}
public var Hide(){this.visible=false;}
public var NewBooks()
{
this.Workbooks.add();//添加工作簿
this.Worksheets("Sheet1").Activate();
}
public var SelectAll(string sheet)
{
this.Worksheets(sheet).Activate();
this.Cells.Select();
}
public var MergeRange(string strRange)
{
this.range(strRange).Select();//选择标题栏所在单元格
this.Selection.Merge();//合并单元格
this.range(strRange).HorizontalAlignment=3;
}
public var OpenFile(string filename)
{
this.Workbooks.Open(filename);
}
public VAR Shapes(string strShapeName)
{
return this.ActiveSheet.Shapes;
}
};
var t=new Excel();
t.Show();
t.NewBooks();
t.MergeRange("F1:K6");
var range=t->range('F1');
range.value='客户服务部工作量情况统计表';
range.Font.Name="黑体";
range.Font.size=24;
t.ActiveSheet.Pictures.Insert("E:\DSC00797.JPG");
t.quit();
三、如果操作XML
VAR xml=new GSXmlDoc(@"F:\GScript2.xml");
if(!xml)
{
print("ERROR\n");
return;
}
int j=0;
VAR eachback=function(object elem,int i)
{
if(elem.Name=="Win32")//操作属性
{
elem.Find="true";
return TRUE;
}
};
xml.EachElement(eachback,TRUE,20);
xml.SaveFile(@"F:\GScript2.xml");