简单介绍progress

    对progress语言的介绍

    首先要说的是,progress是一家在纳斯达克上市的一家美国公司,他的主要产品就是progress开发语言及其周边软件工具。如果有兴趣的话,你可以访问其官方网站: www.progress.com.

    说到progress语言本身,他现在的最新版本是v10,也叫OpenEdge 10. 目前流行的还是v9版本。

    progress语言有一个很大的特点就是听接近于自然语言的,这里当然是指英语。每一个语句都带有众多的属性,从而你可以给这些属性赋予不同的值,就可以得到不同的显示外观了。这一点有点儿像一语里的从句。 比如说 display "Hello world" format "x(10)"   with frame  my-frame. 其功能是把"Hello world"显示在框架my-frame里,并且显示的格式是十位。

    progress号称是一个符合第四代语言(4GL)规范的语言,接近底层的操作不多。比如说常见的数学函数,一般的语言里肯定是会提供大多数初等函数的,但是progress就没有很多,比如稍微复杂一点的对数函数、三角函数就没有提供。
当然了,progress提供了方法调用本地程序,甚至是dll里的函数。你也可以在图形界面里面使用ocx控件。同时也是为了弥补它自身控件种类有限的不足。

    progress有一点类似于java,可以跨平台。所以编译过的progress程序并不是一个可执行程序而是中间代码。它可以分为运行环境和开发环境:运行环境只能执行编译成中间代码的程序,而开发程序则可以直接运行源代码。比如说在unix服务器上装了一个运行环境,那么你的程序就可以以源代码的形式直接放在服务器上,无需编译成中间代码。

    现在的软件基本上都要访问数据库,progess自身就带了一个。这是一个表面看上去比较粗糙但是基本上符合基本的关系数据库特征的一个系统。并且它是和语言完美的结合在一起的。
对数据库的连接可以是手动也就是通过代码也可以是自动也就是通过开发环境连接。访问数据库的数据就像访问一个结构一样,你可以直接使用database.table.field来引用一个字段。
数据路的连接是隐性的、自动传递的,也就是说在a程序文件里连接了数据库,并且在a中调用了b程序那么在b程序中可以自动使用相同的数据库信息的。
和数据库配套的有一个很好的表格控件。

    对于数据的查询,最简单的就是一个for each语句。比如
    for each order where order.order_number = "123456" no-lock:
      display order.
    end.

    如果你想使用sql语句,你不得不使用一个专门的工具SQLExplorer.其实就是一个通过JDBC访问progress数据库的工具。
    另外像c语言一样,progress也支持嵌入式sql语句。不过我们从来不使用它。

    progress提供了很多方法访问外部资源,像刚才提到的比如动态连接库拉包括windows平台上的dll和unix平台上的so。除此之外,com,activex也是都不能少。
    作为语言本身具有的功能还有socket,xml(包括SAX和DOM)。

    progress语言有一个特别的地方就是没有程序入口。当你指定运行文件的时候或者是编写程序的时候,它会顺序执行。比如:
display "Hello world".
就像脚本语言一样,但它是强类型的。

    遗憾的一点是,好像没有试用版的开发环境。

    今天就先说到这里吧。
QAD ERP专用数据库及程序开发语言手册 ABL Reference Preface This Preface contains the following sections: * Purpose * Audience * Organization * Using this manual * Typographical conventions * Examples of syntax descriptions * Example procedures * OpenEdge messages * Third party acknowledgements Purpose This book describes ABL (Advanced Business Language), which is the OpenEdge® programming language for building business applications. It covers all ABL statements, functions, phrases, operators, preprocessor directives, special symbols, widgets, handles, classes, interfaces, attributes, methods, properties, and events. Audience This book is intended for programmers who develop applications using ABL and for anyone who needs to read and understand ABL code. Organization This book consists of the following sections: * A dictionary of ABL statements, functions, phrases, operators, preprocessors, and special symbols. * A dictionary of ABL widgets. * A dictionary of ABL handles. * A dictionary of ABL attributes and methods (for handles). * A dictionary of ABL handle-based object events. * A dictionary of ABL classes and interfaces. * A dictionary of ABL properties and methods (for classes). * A dictionary of ABL class events and event methods * An index of ABL keywords. Using this manual OpenEdge provides a special purpose programming language for building business applications. In the documentation, the formal name for this language is ABL (Advanced Business Language). With few exceptions, all keywords of the language appear in all UPPERCASE, using a font that is appropriate to the context. All other alphabetic language content appears in mixed case. For the latest documentation updates see the OpenEdge Product Documentation Overview page on PSDN: http://communities.progress.com/pcom/docs/DOC-16074. References to ABL compiler and run-time features ABL is both a compiled and an interpreted language that executes in a run-time engine.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值