4gl
DATABASE ds
GLOBALS "../../config/top.global"
DEFINE g_curs_index LIKE type_file.num10
DEFINE g_row_count LIKE type_file.num10
DEFINE g_imas INTEGER
DEFINE g_ima INTEGER
DEFINE g_sure STRING
DEFINE g_ima121 INTEGER
DEFINE g_ima122 INTEGER
DEFINE g_ima123 INTEGER
MAIN
OPTIONS
INPUT NO WRAP
DEFER INTERRUPT
IF (NOT cl_user()) THEN
EXIT PROGRAM
END IF
WHENEVER ERROR CALL cl_err_msg_log
IF (NOT cl_setup("AZZ")) THEN
EXIT PROGRAM
END IF
CALL cl_used(g_prog,g_time,1) RETURNING g_time
OPEN WINDOW p_zz_w WITH FORM "azz/42f/p_test" ATTRIBUTE(STYLE=g_win_style CLIPPED)
CALL cl_ui_init()
LET g_action_choice = ""
DISPLAY base.Application.getProgramName() TO name
INITIALIZE g_imas TO NULL
LET g_sure="N"
CALL test_menu()
CLOSE WINDOW p_zz_w
CALL cl_used(g_prog,g_time,2) RETURNING g_time #No:MOD-580088 HCN 20050818 #No.FUN-6A0096
END MAIN
FUNCTION test_count()
WHILE TRUE
INITIALIZE g_ima121 TO NULL
INITIALIZE g_ima122 TO NULL
INITIALIZE g_ima123 TO NULL
CLEAR FORM
MESSAGE ''
DISPLAY g_sure TO s123
INPUT g_ima121,g_ima122 FROM ima121,ima122
LET g_ima123=g_ima121+g_ima122
LET g_ima=g_ima123
IF INT_FLAG THEN
MESSAGE "crash!!"
LET INT_FLAG = 0
EXIT WHILE
END IF
LET g_imas=g_ima
DISPLAY g_ima121 TO ima121
DISPLAY g_ima122 TO ima122
DISPLAY g_ima123 TO ima123
IF g_ima123 IS NULL THEN
CONTINUE WHILE
ELSE
MESSAGE "count successfully!!" ATTRIBUTE (YELLOW)
END IF
EXIT WHILE
END WHILE
END FUNCTION
FUNCTION test_menu()
MENU ""
BEFORE MENU
CALL cl_navigator_setting(g_curs_index, g_row_count)
ON ACTION insert
LET g_action_choice="insert"
CALL test_count()
ON ACTION query
LET g_action_choice="query"
ON ACTION sure
CALL test_sure()
ON ACTION modify
LET g_action_choice="modify"
IF g_sure MATCHES "[Y]" THEN
MESSAGE "can't not change"
ELSE
CALL test_sq()
END IF
ON ACTION invalid
LET g_action_choice="invalid"
ON ACTION exit
LET g_action_choice = "exit"
EXIT MENU
ON ACTION controlg
CALL cl_cmdask()
ON ACTION locale
CALL cl_dynamic_locale()
CALL cl_show_fld_cont() #No:FUN-550037 hmf
ON IDLE g_idle_seconds
CALL cl_on_idle()
CONTINUE MENU
ON ACTION about #MOD-4C0121
CALL cl_about() #MOD-4C0121
COMMAND KEY(INTERRUPT)
LET INT_FLAG=FALSE #MOD-570244 mars
LET g_action_choice = "exit"
EXIT MENU
ON ACTION related_document #No:MOD-470515
LET g_action_choice="related_document"
END MENU
END FUNCTION
FUNCTION test_sq()
MESSAGE ''
LET g_imas=0
IF g_ima MATCHES "[0]" OR g_ima IS NULL THEN
MESSAGE "!g_ima123=0"
ELSE
LET g_ima121=g_ima
LET g_ima122=g_ima
LET g_imas=g_ima121*g_ima122
DISPLAY g_ima121 TO ima121
DISPLAY g_ima122 TO ima122
DISPLAY g_imas TO ima123
LET g_ima=g_imas
END IF
END FUNCTION
FUNCTION test_sure()
IF g_sure="N" THEN
IF g_imas IS NULL OR g_imas MATCHES "[0]" THEN
MESSAGE "g_imas is null !!"
ELSE
LET g_sure="Y"
DISPLAY g_sure TO s123
MESSAGE ''
END IF
ELSE
MESSAGE "Have been identified!"
END IF
END FUNCTION
4fd
<?xml version="1.0" encoding="UTF-8" ?>
<Form CHECKSUM="-1" browserStatus="true" database_name="ds" fourSTFile="" gstVersion="11401" height="25" lstrtext="false" lstrtoallcomment="false" lstrtoallitem="false" lstrtoalltext="false" lstrtoalltitle="false" name="p_test" posX="0" posY="0" spacing="normal" text="p_test" width="91">
<Grid fontPitch="default" height="16" hidden="--------" hrecindex="-1" lstrcomment="false" name="gr16" posX="1" posY="1" width="74">
<Text height="1" hrecindex="-1" name="text38" posX="16" posY="1" text="這是手寫的第一個簡單的不能再簡單的,簡單的甚至都不叫做4gl的4gl,只是为了试着熟悉一下代码" width="34"/>
<Text height="1" name="text40" posX="25" posY="3" text="下面將實現一個簡單的計算器功能" width="15"/>
<FormField colName="ima121" fieldtype="FORM_ONLY" name="ima121" sqlDBName="formonly" sqlTabName="formonly">
<Edit autoNext="--------" case="NONE" century="R" color="black" colorCondition="black" data_type="INTEGER" fontPitch="default" formfieldname="formfield0" height="1" hidden="--------" invisible="--------" justify="none" lstrcomment="false" name="ima121" noEntry="--------" notNull="--------" posX="26" posY="5" required="--------" reverse="--------" scroll="--------" sizePolicy="initial" tabIndex="1" verify="--------" width="8"/>
</FormField>
<FormField colName="ima122" fieldtype="FORM_ONLY" name="ima122" sqlDBName="formonly" sqlTabName="formonly">
<Edit autoNext="--------" case="NONE" century="R" color="black" colorCondition="black" data_type="INTEGER" fontPitch="default" formfieldname="formfield1" height="1" hidden="--------" invisible="--------" justify="none" lstrcomment="false" name="ima122" noEntry="--------" notNull="--------" posX="26" posY="7" required="--------" reverse="--------" scroll="--------" sizePolicy="initial" tabIndex="2" verify="--------" width="8"/>
</FormField>
<Text height="1" name="text26" posX="9" posY="5" text="num1" width="4"/>
<Text height="1" name="text27" posX="9" posY="7" text="num2" width="4"/>
<FormField colName="name" fieldtype="FORM_ONLY" name="name" sqlTabName="formonly">
<Edit autoNext="--------" case="NONE" century="R" color="black" colorCondition="black" data_type="VARCHAR" fontPitch="default" formfieldname="formfield0" height="1" hidden="--------" invisible="--------" justify="none" lstrcomment="false" name="name" noEntry="--------" notNull="--------" posX="5" posY="3" required="--------" reverse="--------" scroll="--------" sizePolicy="initial" tabIndex="5" verify="--------" width="17"/>
</FormField>
<Label color="black" colorCondition="black" flag_text_changed="TRUE" fontPitch="default" height="1" hidden="--------" justify="none" lstrcomment="false" lstrtext="false" name="lb15_1" posX="9" posY="11" sizePolicy="initial" text="確認碼" width="6"/>
<FormField colName="s123" fieldtype="FORM_ONLY" name="s123" sqlDBName="formonly" sqlTabName="formonly">
<Edit autoNext="--------" case="NONE" century="R" color="black" colorCondition="black" data_type="INTEGER" fontPitch="default" formfieldname="formfield2" height="1" hidden="--------" invisible="--------" justify="none" lstrcomment="false" name="s123" noEntry="--------" notNull="--------" posX="26" posY="11" required="--------" reverse="--------" scroll="--------" sizePolicy="initial" tabIndex="4" verify="--------" width="8"/>
</FormField>
<FormField colName="ima123" fieldtype="FORM_ONLY" hrecindex="-1" name="ima123" sqlDBName="formonly" sqlTabName="formonly">
<Edit autoNext="--------" case="NONE" century="R" color="black" colorCondition="black" data_type="INTEGER" fontPitch="default" formfieldname="formfield0" height="1" hidden="--------" invisible="--------" justify="none" lstrcomment="false" name="ima123" noEntry="--------" notNull="--------" posX="26" posY="9" required="--------" reverse="--------" scroll="--------" sizePolicy="initial" tabIndex="3" verify="--------" width="18"/>
</FormField>
<Text height="1" name="text5" posX="9" posY="9" text="num3" width="4"/>
</Grid>
</Form>
文章原文:https://www.luojiasan.com/category/4gl/623.html
文章来源:https://www.luojiasan.com
[声明]本站内容除特别声明外,均属站长手写原创内容。
1、本站所有原创文章、图片等资料,如需转载使用,必须附上来源出处及链接方式;
2、若本站侵犯到您的权益或任何版权问题,请立即告知本站,我们将及时删除并致以最深的歉意!
3、本站转载文章版权归原作者所有,内容为作者个人观点,本站只提供参考并不构成任何投资及应用建议。任何本站转载文章链接及得到的资讯、产品、服务,本站概不负责,亦不负任何法律责任。