01.02.01.tiptop:快速开始篇(4fd+4gl:创建一个窗口)

本页目录:

  • 1、编写程序
  • 2、配置
  • 3、测试

编写程序

4fd

  • 使用GeneroStudio创建4fd

在这里插入图片描述

cd /u1/toptest/topcust/cxm/4fd
# 编译
r.f2 cxmq380 2 c

# 预览
r.gf cxmq380 2 c

4gl

  • 代码
# Prog. Version..: '5.00.03-2023.11.16(00000)'
# Pattern name...: cxmq380.4gl
# Descriptions...: 多角订单出货未交明细查询
# Author..: DKLi
# Date: 2023.11.17
DATABASE ds
GLOBALS "../../config/top.global"


DEFINE g_curs_index          LIKE type_file.num10
DEFINE g_row_count           LIKE type_file.num10

# Pattern name...: MAIN
# Descriptions...: 主函数
MAIN
  # 定義局域變量,本文函數可以用
  DEFINE p_row,p_col     LIKE type_file.num5

  LET p_row  = ARG_VAL(1)
  LET p_col  = ARG_VAL(2)

  # 改變一些系統缺省值
  OPTIONS
      FORM LINE     FIRST + 2,               #畫面開始的位置
      MESSAGE LINE  LAST,                    #訊息顯示的位置
      PROMPT LINE   LAST,                    #提示訊息的位置
      INPUT NO WRAP                          #輸入的方式: 不打轉
  DEFER INTERRUPT                            #擷取中斷鍵

  # cl_user( ) 主要在抓取系統中與『個人設定』
  IF (NOT cl_user()) THEN
    EXIT PROGRAM
  END IF

  # 當發生 SQL 錯誤時,系統會CALL cl_err_msg_log( )
  WHENEVER ERROR CALL cl_err_msg_log

  # cl_setup( ) 主要在抓取系統中與『模組設定』相關的變數值資料,
  # 如這個模組所必需的全域變數等等
  IF (NOT cl_setup("CXM")) THEN
    EXIT PROGRAM
  END IF

  CALL  cl_used(g_prog,g_time,1) RETURNING g_time   -- 計算使用時間 (進入時間)

  # 打開窗口
  LET p_row = 5 LET p_col = 10  -- 給變量賦值
  OPEN WINDOW q380_w AT p_row,p_col WITH FORM "cxm/42f/cxmq380"
    ATTRIBUTE (STYLE = g_win_style CLIPPED)
    CALL cl_ui_init()     -- 初始化程序設定 
    CALL q380_menu()  -- 調用q380_menu函數
  CLOSE WINDOW q380_w

  CALL  cl_used(g_prog,g_time,2) RETURNING g_time    -- 計算使用時間 (退出時間)

END MAIN

# Pattern name...: q380_menu()
# Descriptions...:画面的ToolBar的设置函数
FUNCTION q380_menu()
    # ToolBar的設置
    MENU ""
        BEFORE MENU
          CALL cl_navigator_setting(g_curs_index, g_row_count)  -- 重新設定TOOLBAR上的『上筆、跳筆、下筆』等五個按鍵是否可用 / 不可用。
        ON ACTION query -- 查询按钮
          DISPLAY "query!"
        ON IDLE g_idle_seconds 
          CALL cl_on_idle() 
          CONTINUE MENU
        ON ACTION locale --语言按钮
          CALL cl_dynamic_locale() #切换
          CALL cl_show_fld_cont() #显示
        ON ACTION qbe_select --条件查询
          CALL cl_qbe_select()
        ON ACTION help --帮助/说明按钮
          CALL cl_show_help()
        ON ACTION about --程式咨询按钮
          CALL cl_about()
        ON ACTION controlg --程式切换
          CALL cl_cmdask() 
        ON ACTION exit   -- 離開按鈕
          LET INT_FLAG = FALSE
          EXIT MENU
        ON ACTION close -- 窗口右上角x按钮
          LET INT_FLAG=FALSE
          EXIT MENU
    END MENU
END FUNCTION

  • 编译
cd /u1/toptest/topcust/cxm/4gl
r.c2 cxmq380
  • 按钮属性:具体应用查TOP_GP 的201~204页

配置

程序权限配置

添加程序到页面

  • p_zz
  • 维护链结档:是p_link程序,用来链接r.c2 cxmq380程序后生成的cxm_cxmq380.42m
  • 维护Action: 是给程序按钮权限,按钮的语言设置到p_all_act
  • 群组权限设:是给程序在p_zy的权限组设定权限

添加语言档案

  • p_per
  • p_perlang

程序授权用户

指定用户授权

  • p_zxw

指定组授权

  • p_zy

测试

cd /u1/toptest/topcust/cxm/4gl
r.c2 cxmq380
r.l2 cxmq380
exe2 cxmq380
  • 效果

在这里插入图片描述

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DKLi1717

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值