理解PROGRESS编程:从基础到高级

需积分: 10 16 下载量 55 浏览量 更新于2024-12-14 收藏 25KB TXT 举报
"这篇文章主要介绍了PROGRESS编程的基本概念和常用语法,包括变量定义、数据类型、格式化输出以及查询操作。" 在PROGRESS编程中,首先我们要了解的是如何创建和定义变量。例如,我们可以定义一个字符串变量str01,设置其初始值为"hello",并添加一个标签"DemoString",这样定义的代码为: ```progress define variable str01 as string label "DemoString" initial "hello". ``` 接着,我们可以通过`like`关键字来定义与已有变量类型相同的变量,如定义str02与str01类型相同: ```progress defvar str02 like str01. ``` 对于日期类型的变量,可以使用`as date`声明,并指定存储容量,如定义dt01变量: ```progress defvar dt01 as date extent 5. ``` 对于整型变量inte01,我们可以设定其显示格式,如: ```progress defvar inte01 as inte format ">>>9". ``` 在PROGRESS中,变量定义还包括数据类型的说明,如`string`表示字符串,`integer`代表整型,`date`表示日期,`logical`则为布尔型。 标签(Label)用于提供变量的描述性名称,方便代码阅读和理解。`initial`关键字用于设置变量的初始值。`extent`用于定义数组的大小,例如`extent 5`表示数组有5个元素。 在数据格式化方面,`format`关键字允许我们定制变量的输出样式,如`format ">>>9"`意味着inte01将按照右对齐,空格填充,宽度9的格式显示。还可以定义如`format "9999"`这样的格式,用于确保数值始终显示四位。 在PROGRESS中,注释可以通过`/* ... */`进行多行注释,或者以`//`开始进行单行注释。示例中展示了如何使用这些注释方式。 查询操作是数据库编程的关键部分。在PROGRESS中,我们可以使用`foreach`循环遍历表格,例如: ```progress foreach TABLE_NAME: display TABLE_NAME. end. ``` 这将显示所有表格的名称。`find`语句用于查找特定条件的记录,如: ```progress find pt_mstr where pt_model begins "E" no-lock break by pt_price: disp pt_model pt_price. end. ``` 这里展示了如何根据条件(模型名以"E"开头)查找并显示结果,`no-lock`表示不锁定记录,`break by`用于按特定字段分组并控制排序。 此外,PROGRESS支持各种比较运算符(如<, >, =, <>等)和逻辑运算符(如and, or, not),以及嵌套条件表达式,如: ```progress 1 and (2 or (3 or 4)) ``` `no-error`关键字用于防止查询错误时中断程序,`no-lock`则表示在查询时不锁定记录,这在并发环境中尤其重要。 总结起来,PROGRESS编程涉及变量定义、数据类型、格式化输出和查询操作等方面,通过理解并掌握这些基本概念,可以更有效地进行数据库编程。