📄 terminal_interface-curses-forms-field_types-user__adb.htm
字号:
<FONT COLOR=red><A NAME="ref_67_10">Ptr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A> := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_30">T</A>); <b>begin</b> <b>return</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>'(Usr => System.Null_Address, Typ => <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_67_10">Ptr</A>, Cft => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>); <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Allocate_Arg</A>; <b>begin</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_62_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_56_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_58_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Allocate_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Typ</A>)); <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_62_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_62_7">Res</A>); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_82_13">To_Argument_Access</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion (System.Address, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>); <b>function</b> <FONT COLOR=red><A NAME="ref_85_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_13">Generic_Field_Check</A></FONT> (<FONT COLOR=red><A NAME="ref_85_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_9">Field</A>; <FONT COLOR=red><A NAME="ref_86_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_84_34">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A> <b>is</b> <FONT COLOR=red><A NAME="ref_88_7">Result</A></FONT> : Boolean; <FONT COLOR=red><A NAME="ref_89_7">Udf</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_82_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_84_34">Usr</A>).<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>); <b>begin</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_88_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Field_Check</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_89_7">Udf</A>.<b>all</b>); <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_88_7">Result</A>)); <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_13">Generic_Field_Check</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_96_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_13">Generic_Char_Check</A></FONT> (<FONT COLOR=red><A NAME="ref_96_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Ch</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_97_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_91_33">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A> <b>is</b> <FONT COLOR=red><A NAME="ref_99_7">Result</A></FONT> : Boolean; <FONT COLOR=red><A NAME="ref_100_7">Udf</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_82_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_91_33">Usr</A>).<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>); <b>begin</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_99_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Character_Check</A> (Character'Val (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Ch</A>), <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_100_7">Udf</A>.<b>all</b>); <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_99_7">Result</A>)); <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_13">Generic_Char_Check</A>; <FONT COLOR=green><EM>-- -----------------------------------------------------------------------</EM></FONT> <FONT COLOR=green><EM>--</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_109_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">C_Generic_Type</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> <b>is</b> <FONT COLOR=red><A NAME="ref_111_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>; <FONT COLOR=red><A NAME="ref_112_7">T</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_112_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_13">Generic_Field_Check</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_13">Generic_Char_Check</A>'<b>Access</b>); <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_112_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_286_4">Form_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_111_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_112_7">T</A>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>); <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_111_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_111_7">Res</A>); <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_112_7">T</A>; <b>end</b> <b>if</b>; <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>); <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A>; <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">C_Generic_Type</A>;<b>end</b> <A HREF="terminal_interface__ads.htm#ref_41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_43_53">User</A>;</PRE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -