LZY'Blog

记录LZY的生活、行程!

« 指定某特定字符为间隔的第几串字符Progress中的entry赋值语句说明及演示示例 »

Progress中的entry函数说明及演示示例

函数说明

  根据整数位置从列表返回字符串项。

语法

entry ( element , list [ , character ] )

参数说明

element

  与字符串在值列表中的位置相对应的整数值。如果element的值不对应entry列表,Progress将引发错误条件。假如element的值是一个未知的(?),entry将返回一个未知值。假如element小于或等于0,或者大于列表元素的个数,entry将返回一个错误。

list

  字符串列表。使用逗号作为字符串项分隔符。如果列表的值未知,entry返回一个未知值。

character

  为列表定义的分隔符,默认是逗号。这允许函数操作非逗号分隔的列表。如果使用字母字符,则此分隔符为大小写敏感的。

使用示例

  例1. 该程序返回与用户输入的日期相对应的星期几。weekday函数计算日期并以整数形式返回该日期的星期。entry函数用这个整数来表示这周的天数列表中的一个位置。

define variable datein as date.
define variable daynum as integer.
define variable daynam as character initial "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday".

set datein label "Enter a date (mm/dd/yy)".
daynum = weekday(datein).
display entry(daynum,daynam) format "x(9)" label "is a" with side-labels.

  运行结果:

entry函数使用示例

  例2. 这是一个用破折号而不是逗号分隔的列表示例。结果是“helvetica”。

define variable typeface as character.

typeface = "-adobe-helvetica-bold-r-normal--*-210-*-*-*-*-iso*-*".

display entry(3, typeface, "-") format "x(16)".

  例3. 以下程序在一个小密码数组中查找UNIX登录id并返回用户名。

define variable login-name as character format "x(10)".
define variable real-name as character format "x(20)".
define variable loop as integer.

/*username:password:uid:gid:gcos-field:home-dir:login-shell */
define variable passwd as character extent 5 initial [
"kulig::201:120:Clyde Kulig:/users/kulig",
"gegetskas::202:120:Neal Gegetskas:/users/geget:",
"bertrand::203:120:Rich Bertrand:/users/bertr:",
"lepage::204:120:Gary Lepage:/users/lepag:",
"wnek::205:120:Jordyn Wnek:/users/wnekj:"
].

repeat:
   set login-name.
   real-name = ?.
   do loop = 1 to 5:
      if entry(1,passwd[loop],":") = login-name then leave.
   end.
   if loop > 5 then
      message "Sorry, but" login-name "is not in my password file.".
   else
      real-name = entry(5,passwd[loop],":").
   display real-name.
end.

  运行结果:

entry函数使用示例

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 |

Copyright 2009-2012 LZY'Blog. | ICP:蜀ICP备05027543号