最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

BDL-FGL_BASE基本语法(base.Application)

开发相关 bron1984 6315浏览
base.Application 提供接口得到程序参数信息

 

方法:

类方法

getArgumentCount() RETURNING INTEGER               返回传给程序参数的个数

getArgument(position INTEGER) RETURNING STRING     返回传给程序指定position位置值参数的值,position从1开始计数

getProgramName() RETURNING STRING                  返回程序名

getProgramDir() RETURNING STRING                   返回程序文本所在位置

getFglDir() RETURNING STRING                       返回系统运行时环境路径,即FGLDIR

getResourceEnter(name STRING) RETURNING STRING     返回FGLPROFILE指定name名称的参数的值

getStackTrace() RETURNING STRING                   返回当前程序堆栈信息

 

使用步骤:

不需要先创建对象,直接调用该类的方法

 

示例:

view plaincopy to clipboardprint?
#base.Application.4gl      
MAIN     
   DEFINE l_index     INTEGER  
        
   #WHENEVER ERROR CALL 后面接的函数不能带括号   
   WHENEVER ERROR CALL my_handler  
     
   #取得FGLDIR的所在路径,系统环境变量$FGLDIR  (linux命令:echo $FGLDIR)    
   DISPLAY "FglDir:",base.Application.getFglDir()   
     
   #取得$FGLPROFILE中的配置项:ex 关于数据库驱动文件的配置项dbi.default.driver的值     
   DISPLAY "FGLPROFILE dbi.default.driver:",base.Application.getResourceEntry("dbi.default.driver")   
     
   #取得当前执行程序所在路径     
   DISPLAY "ProgramDir:",base.Application.getProgramDir()  
     
   #取得当前执行程序文件名(不含后缀)      
   DISPLAY "ProgramName:",base.Application.getProgramName()   
     
   #取得当前执行程序的参数个数     
   DISPLAY "ArgumentCount:",base.Application.getArgumentCount()      
   FOR l_index=1 TO base.Application.getArgumentCount() STEP + 1   
     #取每一个参数值   
     DISPLAY "arg",l_index USING "##",":",base.Application.getArgument(l_index)     
   END FOR      
END MAIN     
     
FUNCTION my_handler()     
   DISPLAY "base.Application.getStackTrace():"     
   DISPLAY base.Application.getStackTrace()     
END FUNCTION  
#base.Application.4gl   
MAIN   
   DEFINE l_index     INTEGER
      
   #WHENEVER ERROR CALL 后面接的函数不能带括号
   WHENEVER ERROR CALL my_handler
   
   #取得FGLDIR的所在路径,系统环境变量$FGLDIR  (linux命令:echo $FGLDIR) 
   DISPLAY "FglDir:",base.Application.getFglDir() 
   
   #取得$FGLPROFILE中的配置项:ex 关于数据库驱动文件的配置项dbi.default.driver的值  
   DISPLAY "FGLPROFILE dbi.default.driver:",base.Application.getResourceEntry("dbi.default.driver") 
   
   #取得当前执行程序所在路径  
   DISPLAY "ProgramDir:",base.Application.getProgramDir()
   
   #取得当前执行程序文件名(不含后缀)   
   DISPLAY "ProgramName:",base.Application.getProgramName() 
   
   #取得当前执行程序的参数个数  
   DISPLAY "ArgumentCount:",base.Application.getArgumentCount()    
   FOR l_index=1 TO base.Application.getArgumentCount() STEP + 1 
     #取每一个参数值
     DISPLAY "arg",l_index USING "##",":",base.Application.getArgument(l_index)   
   END FOR    
END MAIN   
   
FUNCTION my_handler()   
   DISPLAY "base.Application.getStackTrace():"   
   DISPLAY base.Application.getStackTrace()   
END FUNCTION


           

#结果:   
<topprod:/u1/usr/lee/4gl/42m> fglrun 4gl_base.Application.42m lee yihui   
FglDir:/u1/genero/fgl   
FGLPROFILE dbi.default.driver:dbmoraB2x   
ProgramDir:/u1/usr/lee/4gl/42m/   
ProgramName:4gl_base.Application   
ArgumentCount:          2   
arg 1:lee   
arg 2:yihui 

 

转载请注明:赫非域 » BDL-FGL_BASE基本语法(base.Application)