CN117608559A - 页面显示代码生成方法、装置、电子设备、存储介质 - Google Patents
页面显示代码生成方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN117608559A CN117608559A CN202410095594.2A CN202410095594A CN117608559A CN 117608559 A CN117608559 A CN 117608559A CN 202410095594 A CN202410095594 A CN 202410095594A CN 117608559 A CN117608559 A CN 117608559A
- Authority
- CN
- China
- Prior art keywords
- code
- message processing
- control
- main page
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 149
- 230000006870 function Effects 0.000 claims description 158
- 238000007726 management method Methods 0.000 claims description 27
- 238000013523 data management Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 48
- 238000013461 design Methods 0.000 description 17
- 238000004806 packaging method and process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006378 damage Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009417 prefabrication Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明公开了页面显示代码生成方法、装置、电子设备、存储介质,属于计算机技术领域,页面显示代码生成方法包括:响应于代码生成请求,根据页面显示模板和配置参数生成主页面代码或/和控件代码;在页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;主页面消息处理函数中包括主页面创建消息处理代码;控件消息处理函数中包括控件创建消息处理代码;主页面创建消息处理代码、控件创建消息处理代码中均预留有子控件创建代码书写位置;输出代码文件,代码文件中包括主页面代码或/和控件代码。本发明解决了现有技术中代码不能复用、开发效率低的技术问题。
Description
技术领域
本发明属于计算机技术领域,具体地说,是涉及一种页面显示代码生成方法、装置、电子设备、存储介质。
背景技术
MiniGUI是一个跨操作系统的、面向嵌入式系统的轻量级图形用户界面(Graphical User Interface,GUI)支持系统。MiniGUI平台同样采用消息驱动处理机制进行开发,与Windows API接口高度类似,属于C语言代码开发。
C语言代码开发属于面向过程开发,重点主要在于算法的处理。如果开发者对代码结构设计的不好,会严重影响程序的健壮性。
消息驱动处理机制与传统的面向过程开发不一样,代码设计时考虑的角度有差异;传统的面向过程开发都是主动做某件事,而消息驱动处理机制则是被动做某件事;如果开发者不熟悉消息驱动处理机制,不仅开发效率很低,而且程序健壮性很差。
目前由MiniGUI平台开发的系统,在维护和需求变更时,具有以下困难:MiniGUI程序结构性差,后期维护困难,扩展性差,开发新功能困难;代码不能复用,导致大量重复性劳动,降低了软件开发效率,代码质量无法保证,延长了开发周期。
发明内容
本发明提供了页面显示代码生成方法,解决了现有技术中代码不能复用、开发效率低的技术问题。
为达到上述技术目的,本发明采用以下技术方案实现:
页面显示代码生成方法,包括:
接收用户发送的代码生成请求;
响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;其中,在所述页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;所述主页面消息处理函数中包括主页面创建消息处理代码;所述控件消息处理函数中包括控件创建消息处理代码;所述主页面创建消息处理代码、所述控件创建消息处理代码中均预留有子控件创建代码书写位置;
输出代码文件,所述代码文件中包括主页面代码或/和控件代码。
本申请一些实施例中,在所述页面显示模板中还配置有子控件消息处理函数框架,或者,预留有用于用户自定义子控件消息处理函数的位置。
本申请一些实施例中,在所述主页面消息处理函数中还配置有定时器消息处理代码框架,或者,预留有用于用户自定义定时器消息处理代码的位置。
本申请一些实施例中,在所述主页面消息处理函数中还配置有主页面销毁消息处理代码框架,或者,预留有用于用户自定义主页面销毁消息处理代码的位置。
本申请一些实施例中,所述代码生成请求以主页面为单位生成。
本申请一些实施例中,所述页面显示代码生成方法还包括:
响应于所述代码生成请求,根据预先配置的屏幕坐标校验模板和自定义屏幕坐标配置代码生成屏幕坐标校验代码。
本申请一些实施例中,所述页面显示代码生成方法还包括:
响应于所述代码生成请求,根据预先配置的数据管理模板和自定义数据管理代码生成数据管理代码;
或者,响应于所述代码生成请求,根据预先配置的路径管理模板和自定义路径配置代码生成路径管理代码;
或者,响应于所述代码生成请求,根据预先配置的多语言管理模板和自定义语言配置代码生成多语言管理代码。
页面显示代码生成装置,包括:
接收单元,其配置为接收代码生成请求;
生成单元,其配置为响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;其中,在所述页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;所述主页面消息处理函数中包括主页面创建消息处理代码;所述控件消息处理函数中包括控件创建消息处理代码;所述主页面创建消息处理代码、所述控件创建消息处理代码中均预留有子控件创建代码书写位置;
输出单元,其配置为输出代码文件,所述代码文件中包括主页面代码或/和控件代码。
电子设备,包括处理器、通信接口、存储器、输入装置和输出装置;所述处理器、通信接口、存储器、输入装置和输出装置相互连接,其中,所述存储器用于存储计算机程序,所述处理器被配置用于调用所述计算机程序执行所述的页面显示代码生成方法。
存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的页面显示代码生成方法。
与现有技术相比,本发明的优点和积极效果是:本发明的页面显示代码生成方法、装置、电子设备、存储介质,接收用户发送的代码生成请求;响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;在页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;主页面消息处理函数中包括主页面创建消息处理代码;控件消息处理函数中包括控件创建消息处理代码;主页面创建消息处理代码、控件创建消息处理代码中均预留有子控件创建代码书写位置;输出代码文件,代码文件中包括主页面代码或/和控件代码。本发明的页面显示代码生成方法、装置、电子设备、存储介质,实现了代码的复用性、扩展性,代码可以重复使用,提高了开发效率,缩短了开发周期,解决了现有技术中代码不能复用、扩展性差、开发效率低的技术问题。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所提出的页面显示代码生成方法的一个实施例的流程图;
图2是本发明所提出的页面显示代码生成装置的一个实施例的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
针对目前代码不能复用、开发效率低的技术问题,本发明提出了页面显示代码生成方法、装置、电子设备、计算机存储介质,实现代码可以重复使用,提高了开发效率,缩短了开发周期。下面,结合附图对本发明的页面显示代码生成方法、装置、电子设备、计算机存储介质进行详细说明。
首先将所要实现的页面按照设定的切分基准切分成若干个主页面或/和控件。
获取每个主页面或/和控件的名称信息。每个主页面/控件都确定一个唯一的名称,用于生成代码。
根据名称信息进行解析处理,获取基本配置信息,作为配置参数。每个主页面/控件的名称确定后,主页面/控件的各个函数接口的名称也就确定了,主页面/控件使用的结构体、类型名称也就确定了。
页面显示模板结合配置参数生成主页面代码或/和控件代码。在主页面/控件的函数接口的名称、结构体、类型名称确定后,就可以生成基本的、能运行的、模块化、能复用的代码。
在生成的主页面代码或/和控件代码基础上进行开发,生成第三方应用程序。用户在生成代码的基础上,在预留的位置上书写定义的代码,就可以实现第三方的应用程序。
实施例一、本实施例的页面显示代码生成方法,是一种基于MiniGUI的页面显示代码生成方法,主要包括下述步骤,参见图1所示。
步骤S11:接收用户发送的代码生成请求。
当需要生成主页面代码时,用户发送主页面代码生成请求。当需要生成控件代码时,用户发送控件代码生成请求。
接收用户发送的主页面代码生成请求,或者控件代码生成请求。
步骤S12:响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码。
配置参数包括主页面或/和控件的名称。主页面/控件的名称确定后,显示功能模板内的主页面/控件的各个函数接口的名称也就确定,主页面/控件使用的结构体、类型名称也就确定,可以生成主页面代码/控件代码。
页面显示模板包括主页面模板和控件模板。
接收到主页面代码生成请求时,调用输入接口,用户在输入接口中输入配置参数(包括主页面的名称),然后根据预先配置的、基于MiniGUI的主页面模板和用户提供的配置参数生成主页面代码。主页面代码包含了主页面模板、配置参数的所有信息。主页面可以单独存在,主页面中还可以包含多个不同类型的子控件。
接收到控件代码生成请求时,调用输入接口,用户在输入接口中输入配置参数(包括控件的名称),然后根据预先配置的、基于MiniGUI的控件模板和用户提供的配置参数生成控件代码。控件代码包含了控件模板、配置参数的所有信息。
在页面显示模板中配置有主页面结构体、主页面创建接口函数,或/和,控件结构体、控件创建接口函数,用于接收用户提供的显示功能参数(包括父窗口、坐标、大小等)。
在页面显示模板中配置的主页面结构体/控件结构体用于存储创建页面/控件时的参数,包含通用的参数,例如父窗口指针、宽度和高度等,还允许写入每个页面/控件独立的配置。
用户通过显示功能参数填充主页面结构体/控件结构体,并将其传递给主页面创建接口函数/控件创建接口函数,以配置创建特定类型的显示页面。
因此,主页面/控件在创建时还可以通过主页面创建接口函数/控件创建接口函数调整显示大小及坐标等属性的。
在页面显示模板中配置的主页面创建接口函数,用于创建显示主页面。主页面创建接口函数用来暴露给外界,用户在该主页面创建接口函数中调整显示功能参数。主页面代码生成后,用户通过调用此主页面创建接口函数来创建显示主页面,允许调用者通过参数来调整页面显示效果。
同理,在页面显示模板中配置的控件创建接口函数,用于创建显示控件。控件创建接口函数用来暴露给外界,用户在该控件创建接口函数中调整显示功能参数。控件代码生成后,用户通过调用此控件创建接口函数来创建显示控件,允许调用者通过参数来调整页面显示效果。
创建每个主页面/控件都需要配置主页面创建接口函数/控件创建接口函数的参数,每个主页面/控件的名称各不相同,每个主页面/控件创建时需要的参数几乎都不一样,所以参数有效性判断也不一样。因此,在主页面创建接口函数中预留有书写位置,用于用户书写参数有效性判断代码,以判断传入的显示功能参数的有效性。
在页面显示模板中还配置有主页面消息处理函数或/和控件消息处理函数。
每个主页面都要进入消息循环。
主页面消息处理函数中包括主页面创建消息处理代码,用于响应主页面创建消息。主页面创建消息处理代码中预留有子控件创建代码书写位置,用于用户书写子控件创建代码,实现扩展功能。在主页面创建消息处理代码中还预留有主页面初始化代码书写位置,用于用户书写主页面初始化代码。
每个主页面都有一个主页面消息处理函数来处理各种消息。每个主页面的消息处理几乎不一样。每个主页面创建后需要进行初始化操作。每个主页面要进行的初始化操作几乎不一样。可以根据实际情况自行添加初始化代码和子控件创建代码,实现扩展功能。
因此,在主页面创建消息处理代码中,预留有书写位置,用于用户自定义子控件创建代码。基于自定义的子控件创建代码,在主页面上创建子控件,以满足用户的扩展要求。
控件消息处理函数中包括控件创建消息处理代码,用于响应控件创建消息。控件创建消息处理代码中预留有子控件创建代码书写位置,用于用户书写子控件创建代码。基于自定义的子控件创建代码,在控件上创建子控件,以满足用户的扩展要求。在控件创建消息处理代码中还预留有控件初始化代码书写位置,用于用户书写控件初始化代码。
步骤S13:输出代码文件,代码文件中包括主页面代码或/和控件代码。
生成的主页面代码、控件代码以文件形式保存,例如以.c文件和.h文件保存。
例如,保存有主页面代码的代码文件,其文件名为主页面的名称,其后缀为.c和.h。
保存有控件代码的代码文件,其文件名为控件的名称,其后缀为.c和.h。
用户打开代码文件,根据实际需求,在预留位置书写代码,以生成所需的应用程序。
在主页面创建消息处理代码中预留有主页面初始化代码或/和子控件创建代码的书写位置。因此,当需要在主页面上自定义初始化或/和创建子控件时,用户打开代码文件,在主页面创建消息处理代码的预留位置书写主页面初始化代码或/和子控件创建代码。生成的应用程序中,主页面创建后进行初始化或/和主页面上具有一个子控件。
在控件创建消息处理代码中预留有控件初始化代码或/和子控件创建代码的书写位置。因此,当需要在控件上自定义初始化或/和创建子控件时,用户打开代码文件,在控件创建消息处理代码的预留位置书写控件初始化代码或/和子控件创建代码。生成的应用程序中,控件创建后进行初始化或/和控件上具有一个子控件。
本实施例的页面显示代码生成方法,接收用户发送的代码生成请求;响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;在页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;主页面消息处理函数中包括主页面创建消息处理代码;控件消息处理函数中包括控件创建消息处理代码;主页面创建消息处理代码、控件创建消息处理代码中均预留有子控件创建代码书写位置;输出代码文件,代码文件中包括主页面代码或/和控件代码。本实施例的页面显示代码生成方法,实现了代码的复用性、扩展性,代码可以重复使用,提高了开发效率,缩短了开发周期,解决了现有技术中代码不能复用、扩展性差、开发效率低的技术问题。
本申请又一些实施例中,还包括:封装并提供接口函数;用户调用接口函数生成用于页面显示的应用程序,或者,用户调用接口函数并写入自定义代码,生成用于页面显示的应用程序。
本申请一些实施例中,接口函数可以为主页面创建接口函数或/和控件创建接口函数。用户调用主页面创建接口函数/控件创建接口函数,写入显示功能参数,以创建并显示主页面/控件。
本申请一些实施例中,大部分子控件也需要消息处理函数,为了进一步提高开发效率,在页面显示模板中还配置有子控件消息处理函数框架,或者,预留有用于用户自定义子控件消息处理函数的位置。
在子控件消息处理函数框架中,用户根据实际需求,快速设计代码,提高开发效率。在子控件消息处理函数框架中,预制了书写范例,以便于用户根据实际需求,快速设计代码,提高开发效率。
用户还可以在预留的位置自定义子控件消息处理函数,实现个性化设计。当然,在该位置还有注释性文字说明,以便于用户快速找到相应预留位置。
本申请一些实施例中,有些主页面需要定时器,为了进一步提高开发效率,在主页面消息处理函数中还配置有定时器消息处理代码框架,或者,预留有用于用户自定义定时器消息处理代码的位置。
在定时器消息处理代码框架中,用户根据实际需求,快速设计代码,提高开发效率。在定时器消息处理代码框架中,预制了书写范例,以便于用户根据实际需求,快速设计代码,提高开发效率。
用户还可以在预留的位置自定义定时器消息处理代码,实现个性化设计。当然,在该位置还有注释性文字说明,以便于用户快速找到相应预留位置。
本申请一些实施例中,为了进一步提高开发效率,主页面消息处理函数还包括主页面关闭消息处理代码框架,用于响应主页面关闭。
本申请一些实施例中,为了进一步提高开发效率,在主页面消息处理函数中还配置有主页面销毁消息处理代码框架,或者,预留有用于用户自定义主页面销毁消息处理代码的位置。
在主页面销毁消息处理代码框架中,用户根据实际需求,快速设计代码,提高开发效率。在主页面销毁消息处理代码框架中,预制了书写范例,以便于用户根据实际需求,快速设计代码,提高开发效率。
用户还可以在预留的位置自定义主页面销毁消息处理代码,实现个性化设计。当然,在该位置还有注释性文字说明,以便于用户快速找到相应预留位置。
单一主页面或控件在复用性方面考虑,给每一个主页面或控件都分配一个数据存储单元。主页面消息处理函数中预制释放给每一个主页面都实例分配一个数据存储单元的代码。控件消息处理函数中预制释放给每一个控件都实例分配一个数据存储单元的代码。
主页面销毁消息处理代码,用于释放分配给每一个主页面的数据存储单元。
每个主页面被关闭销毁的时候都需要进行清理工作,例如释放申请的资源。但是每个主页面要进行的清理工作几乎不一样,因此,预留位置以便于用户添加清理工作代码,形成主页面销毁消息处理代码,实现扩展功能。
在控件消息处理函数中也配置有控件销毁消息处理代码框架,或者,预留有用于用户自定义控件销毁消息处理代码的位置。
本实施例中,借鉴MVC(Model-View-Controller,模型-视图-控制器)架构思想,采用UI(User Interface,用户界面)与数据分离架构,将代码模板分为页面显示模板和功能模块模板两大类。
MiniGUI页面显示功能包含主页面和控件两部分,因此页面显示模板包括主页面模板和控件模板。
主页面模板生成代码以主页面为单位进行复用,使得在一个应用程序中可以同时存在多个同一类主页面。
本申请一些实施例中,应用程序包括若干个主页面;代码生成请求以主页面为单位生成,以简化代码开发过程,提高代码开发效率。
本申请一些实施例中,主页面包括多个子控件;以子控件为单位,针对每一个子控件,根据用户提供的子控件创建代码生成子控件代码,以简化代码开发过程,提高代码开发效率。
在一个主页面中可以同时存在多个同一类子控件。子控件生成代码以控件为单位进行复用。
在主页面模板中还包括创建主页面参数结构,其中包括通用参数,并预留有扩展参数的书写位置,用于用户根据实际情况添加参数。
由于每个子控件都需要定义id,因此,在主页面模板中还包括子控件id定义的位置。因为每个主页面所拥有的子控件几乎不一样,因此在主页面模板中还预留有添加子控件id的书写位置,实现扩展性设计。
在主页面模板中还包括主页面窗口关联数据结构,每个主页面要存储的数据几乎不一样,要根据实际情况自行添加要存储的数据变量,实现扩展性设计。每个主页面都有一个用于存储数据的结构体变量,这个变量是代码能复用的关键。
功能模块模板按照功能划分为屏幕坐标校正模板、数据管理模板、路径管理模板、多语言管理模版。根据实际情况定义对外API接口;根据实际情况设计实现模块功能。
在实际开发过程中会遇见屏幕坐标校验需求,所以设计实现屏幕坐标校验模板。屏幕坐标校验模板在复用性方面考虑,定义了设置配置、读取配置接口和实现。屏幕坐标校验模板在扩展性方面考虑,将屏幕坐标校验功能分配置管理和操作ui两部分。
本申请一些实施例中,为了进一步提高开发效率,实现屏幕坐标校验功能,页面显示代码生成方法还包括下述步骤:响应于代码生成请求,根据预先配置的屏幕坐标校验模板和自定义屏幕坐标配置代码生成屏幕坐标校验代码。屏幕坐标校验代码保存在代码文件中。
封装并提供API接口,当需要实现屏幕坐标校验功能时,调用该API接口,生成用于进行屏幕坐标校验功能的程序。
应用框架采用UI与数据分离架构,所以应用中所有数据都由数据管理模板进行管理。由于每个应用使用的数据都不一样,所以数据管理模板在扩展性方面,考虑只保留该模块相关定义,预留添加自定义接口声明和接口实现的代码书写位置。
本申请又一些实施例中,为了进一步提高开发效率,页面显示代码生成方法还包括下述步骤:响应于代码生成请求,根据预先配置的数据管理模板和自定义数据管理代码生成数据管理代码。数据管理代码保存在代码文件中。
封装并提供API接口,当需要实现数据管理功能时,调用该API接口,生成用于进行数据管理功能的程序。
在实际开发过程中会出现更换路径的情况,所以设计实现路径管理模板。路径管理模板在复用性方面考虑,定义了模块初始化接口,获取路径接口。路径管理模板在扩展性上考虑,实现可以通过调用模块初始化接口并传入不同的信息来自定义设置路径信息。
本申请又一些实施例中,为了进一步提高开发效率,页面显示代码生成方法还包括下述步骤:响应于代码生成请求,根据预先配置的路径管理模板和自定义路径配置代码生成路径管理代码。路径管理代码保存在代码文件中。
封装并提供API接口,当需要实现路径管理功能时,调用该API接口,生成用于进行路径管理功能的程序。
在实际开发过程中会遇到国际化需求,所以设计实现多语言管理模板。多语言管理模板在复用性方面考虑,提供了语言定义,文本定义,定义了设定当前语言,获取当前语言,获取文本接口。多语言管理模板在扩展性方面考虑,预留了添加自定义语言定义,自定义文本定义,实现获取语言,实现获取文本接口书写代码位置。
本申请又一些实施例中,为了进一步提高开发效率,页面显示代码生成方法还包括下述步骤:响应于代码生成请求,根据预先配置的多语言管理模板和自定义语言配置代码生成多语言管理代码。多语言管理代码保存在代码文件中。
封装并提供API接口,当需要实现多语言管理功能时,调用该API接口,生成用于进行多语言管理功能的程序。
代码模板是对代码的一种总结,把所有程序共同有的代码进行定义。
利用主页面模板可以快速实现主页面。用户只需要关注主页面业务功能。主页面模板主要包括:
(1)主页面创建接口函数:封装创建主页面参数、封装主页面数据,实现创建主页面功能。由于封装了主页面接口参数,在用户调整参数时,无需调整模板代码。由于封装了主窗口数据,在用户调整数据变量时,无需调整模板代码。而且,没有使用全局变量,使代码完全摆脱了全局变量,真正的实现了代码复用。用户调用主页面创建接口函数,以定义显示功能参数。
在主页面创建接口函数中,预留有书写位置,用于用户书写参数有效性判断代码,以判断显示功能参数的有效性;在主页面创建接口函数中,还具有分配资源代码、创建页面代码、进入消息循环代码、存储数据代码等。
(2)主窗口消息处理函数:实现主窗口消息处理函数框架、预留主页面业务逻辑书写地方。
(3)子控件消息处理函数:预留子控件业务逻辑代码书写地方。
利用控件模板可以快速实现自定义控件。用户只需要关注自定义控件业务功能。控件模板主要包括:
(1)控件注册函数:具有注册接口,实现自定义控件注册功能。
(2)控件注销函数:具有注销接口,实现自定义控件注销功能。
(3)控件创建接口函数:创建控件接口,封装创建控件参数、封装控件数据、实现创建控件功能。
(4)控件消息处理函数:实现控件消息处理函数框架、预留控件业务逻辑书写地方。
(5)子控件消息处理函数:预留子控件业务逻辑代码书写地方。
因此,主页面的创建流程为:创建接口增加参数,允许调用者通过参数来调整页面显示效果;设置主页面消息处理函数;创建主页面;进入消息处理循环。消息处理函数中处理初始化消息,初始化设置主页面本身,预留添加定制初始化代码位置。消息处理函数中预留添加创建子控件代码书写位置,设置控件事件处理函数的代码书写位置。
控件的创建流程为:注册控件;创建接口增加参数,允许调用者通过参数来调整页面显示效果;设置控件消息处理函数;创建控件;消息处理函数中处理初始化消息,初始化设置控件本身,预留添加定制初始化代码位置。消息处理函数中预留添加创建子控件代码书写位置,设置控件事件处理函数的代码书写位置。
利用功能模块模板可以快速实现无页面功能模块。模板预制功能模块书写规范,用户只需要按照规范书写代码。预制了基本成分,预留使用者书写代码的地方,标明书写代码的规范。
对外接口:预制书写对外接口规范。
功能实现函数:预留书写功能函数地方。
本实施例的基于MiniGUI的页面显示代码生成方法,具有以下优点:
(1)扩展性。设计主页面创建接口函数,实现了对创建主页面接口参数的封装。当用户对创建参数进行增加或删除操作等时,用户只需要增加或删除等操作,无需调整模板框架代码。
(2)结构性。模板包括主页面模板、控件模板、功能模块模板。主页面模板预制了创建接口、主页面消息处理函数、子控件消息处理函数。预制了基本成分,预留用户书写代码的地方,标明书写代码的规范。用户严格按照规范书写代码,则程序代码结构清晰。由于结构清晰,代码出错几率降低,产生bug减少,程序稳定性提高,用户使用熟练,开发效率提高,项目成本降低。
(3)易用性。利用主页面模板、控件模板、功能模块模板,初学者只要理解规范,按照规范书写代码,可以快速实现功能。
(4)复用性。借鉴面向对象思想封装主窗口数据,去掉了全局变量,严格遵守高内聚低耦合规范实现了模块化。由于较好的实现了模块化,主页面代码可以复用,程序可以同时创建多个主页面进行显示。由于代码可以复用,当遇到功能类似的开发任务,就可以使用之前的代码,减少了工作量,提高的工作效率。
本实施例的基于MiniGUI的页面显示代码生成方法,为用户实现功能书写代码时提供相应书写规范及范例。用户按照规范进行开发,就可以维持较好的代码结构性,提高代码健壮性,减少bug数量,快速开发,降低用户开发功能和项目维护的成本。即使初学者或者不熟悉MiniGUI开发的人员,严格按照开发模板进行编写代码也可以快速完成功能。针对主页面、控件、功能模块进行封装,实现模块化。
因此,本实施例的基于MiniGUI的页面显示代码生成方法,可以快速生成代码,减少书写重复代码时间,提高工作效率;模板生成的代码保持一致的框架结构,风格统一,方便阅读理解;对于编程初学者,可以快速上手工作;对于项目新成员可以快速熟悉项目;本模板借鉴MVC框架设计,实现显示和数据分离,使程序实现逻辑简单;本模板实现模块化设计,实现高内聚低耦合,实现代码复用;本模板预制自定义代码书写位置,使本模板具有良好的扩展性,适用于各种项目情况;严格按照本模板实现的代码,书写规范,降低产生错误的几率。
实施例二、基于实施例一的页面显示代码生成方法的设计,本实施例二提出了一种页面显示代码生成装置,包括接收单元、生成单元、输出单元等,参见图2所示。
接收单元,其配置为接收代码生成请求。
生成单元,其配置为响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;其中,在所述页面显示模板中配置有主页面创建接口函数或/和控件创建接口函数,用于接收用户提供的配置参数;在所述页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;所述主页面消息处理函数中包括主页面创建消息处理代码;所述控件消息处理函数中包括控件创建消息处理代码;所述主页面创建消息处理代码、所述控件创建消息处理代码中均预留有子控件创建代码书写位置。
输出单元,其配置为输出代码文件,所述代码文件中包括主页面代码或/和控件代码。
具体的页面显示代码生成装置的工作过程,已经在上述页面显示代码生成方法中详述,此处不予赘述。
本实施例的页面显示代码生成装置,接收用户发送的代码生成请求;响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;在页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;主页面消息处理函数中包括主页面创建消息处理代码;控件消息处理函数中包括控件创建消息处理代码;主页面创建消息处理代码、控件创建消息处理代码中均预留有子控件创建代码书写位置;输出代码文件,代码文件中包括主页面代码或/和控件代码。本实施例的页面显示代码生成装置,实现了代码的复用性、扩展性,代码可以重复使用,提高了开发效率,缩短了开发周期,解决了现有技术中代码不能复用、扩展性差、开发效率低的技术问题。
实施例三、本实施例提出了一种电子设备,包括处理器、通信接口、存储器、输入装置和输出装置;处理器、通信接口、存储器、输入装置和输出装置相互连接,其中,存储器用于存储计算机程序,处理器被配置用于调用计算机程序执行实施例一中的页面显示代码生成方法,并实现相应实施例的技术效果。
实施例四、本实施例提出了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现实施例一中的页面显示代码生成方法,并实现相应实施例的技术效果。
上述的计算机存储介质,可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。计算机存储介质可以是通用或专用计算机能够存取的任何可用存储介质。
在一些实施例中,计算机存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于设备中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明个实施例技术方案的精神和范围。
Claims (10)
1.页面显示代码生成方法,其特征在于:包括:
接收用户发送的代码生成请求;
响应于所述代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;其中,在所述页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;所述主页面消息处理函数中包括主页面创建消息处理代码;所述控件消息处理函数中包括控件创建消息处理代码;所述主页面创建消息处理代码、所述控件创建消息处理代码中均预留有子控件创建代码书写位置;
输出代码文件,所述代码文件中包括主页面代码或/和控件代码。
2.根据权利要求1所述的页面显示代码生成方法,其特征在于:
在所述页面显示模板中还配置有子控件消息处理函数框架,或者,预留有用于用户自定义子控件消息处理函数的位置。
3.根据权利要求1所述的页面显示代码生成方法,其特征在于:
在所述主页面消息处理函数中还配置有定时器消息处理代码框架,或者,预留有用于用户自定义定时器消息处理代码的位置。
4.根据权利要求1所述的页面显示代码生成方法,其特征在于:
在所述主页面消息处理函数中还配置有主页面销毁消息处理代码框架,或者,预留有用于用户自定义主页面销毁消息处理代码的位置。
5.根据权利要求1所述的页面显示代码生成方法,其特征在于:所述代码生成请求以主页面为单位生成。
6.根据权利要求1所述的页面显示代码生成方法,其特征在于:还包括:
响应于所述代码生成请求,根据预先配置的屏幕坐标校验模板和自定义屏幕坐标配置代码生成屏幕坐标校验代码。
7.根据权利要求1所述的页面显示代码生成方法,其特征在于:还包括:
响应于所述代码生成请求,根据预先配置的数据管理模板和自定义数据管理代码生成数据管理代码;
或者,响应于所述代码生成请求,根据预先配置的路径管理模板和自定义路径配置代码生成路径管理代码;
或者,响应于所述代码生成请求,根据预先配置的多语言管理模板和自定义语言配置代码生成多语言管理代码。
8.页面显示代码生成装置,其特征在于:包括:
接收单元,其配置为接收代码生成请求;
生成单元,其配置为响应于代码生成请求,根据预先配置的、基于MiniGUI的页面显示模板和用户提供的配置参数生成主页面代码或/和控件代码;其中,在所述页面显示模板中配置有主页面消息处理函数或/和控件消息处理函数;所述主页面消息处理函数中包括主页面创建消息处理代码;所述控件消息处理函数中包括控件创建消息处理代码;所述主页面创建消息处理代码、所述控件创建消息处理代码中均预留有子控件创建代码书写位置;
输出单元,其配置为输出代码文件,所述代码文件中包括主页面代码或/和控件代码。
9.电子设备,其特征在于,包括处理器、通信接口、存储器、输入装置和输出装置;所述处理器、通信接口、存储器、输入装置和输出装置相互连接,其中,所述存储器用于存储计算机程序,所述处理器被配置用于调用所述计算机程序执行如权利要求1至7中任一项所述的页面显示代码生成方法。
10.存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7中任一项所述的页面显示代码生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410095594.2A CN117608559B (zh) | 2024-01-24 | 2024-01-24 | 页面显示代码生成方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410095594.2A CN117608559B (zh) | 2024-01-24 | 2024-01-24 | 页面显示代码生成方法、装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117608559A true CN117608559A (zh) | 2024-02-27 |
CN117608559B CN117608559B (zh) | 2024-04-19 |
Family
ID=89958386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410095594.2A Active CN117608559B (zh) | 2024-01-24 | 2024-01-24 | 页面显示代码生成方法、装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117608559B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081520A (zh) * | 2011-01-14 | 2011-06-01 | 杭州海康威视数字技术股份有限公司 | 嵌入式硬盘录像机的图形用户界面创建方法及其系统 |
US20160132305A1 (en) * | 2013-04-08 | 2016-05-12 | Mitsubishi Electric Corporation | Program graph display device, program graph display method, and program graph display program |
CN106325833A (zh) * | 2015-06-18 | 2017-01-11 | 中国石油化工股份有限公司 | 一种用于企业信息管理的代码生成方法 |
CN106647635A (zh) * | 2016-12-22 | 2017-05-10 | 广州数控设备有限公司 | 基于Minigui的数控系统铣床对话式图形编程系统及方法 |
CN108427731A (zh) * | 2018-02-26 | 2018-08-21 | 平安普惠企业管理有限公司 | 页面代码的处理方法、装置、终端设备及介质 |
CN114138254A (zh) * | 2021-11-30 | 2022-03-04 | 北京宇信科技集团股份有限公司 | 一种代码自动生成方法、介质、设备和系统 |
CN114741070A (zh) * | 2022-04-12 | 2022-07-12 | 中国联合网络通信集团有限公司 | 代码生成方法、装置、电子设备及存储介质 |
CN115098097A (zh) * | 2022-06-08 | 2022-09-23 | 广州鲁邦通智能科技有限公司 | 页面构建和管理方法和系统以及前端显示方法 |
CN115268908A (zh) * | 2022-07-21 | 2022-11-01 | 中国平安财产保险股份有限公司 | 自定义配置页面的方法、装置、设备和存储介质 |
CN115525280A (zh) * | 2022-09-28 | 2022-12-27 | 海尔优家智能科技(北京)有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
CN115543282A (zh) * | 2022-10-18 | 2022-12-30 | 康键信息技术(深圳)有限公司 | 页面代码的生成方法、装置、存储介质及计算机设备 |
CN116185403A (zh) * | 2022-12-30 | 2023-05-30 | 中国联合网络通信集团有限公司 | 一种代码生成方法、装置及存储介质 |
CN116301891A (zh) * | 2023-02-27 | 2023-06-23 | 中国建设银行股份有限公司 | 代码生成方法、装置、电子设备和存储介质 |
CN117111909A (zh) * | 2023-08-23 | 2023-11-24 | 中国平安财产保险股份有限公司 | 代码自动化生成方法、系统、计算机设备及存储介质 |
CN117389562A (zh) * | 2023-10-26 | 2024-01-12 | 大连佳佰讯物联网产业有限公司 | 一种基于Vue的前端代码可视化配置与智能化生成方法及系统 |
-
2024
- 2024-01-24 CN CN202410095594.2A patent/CN117608559B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081520A (zh) * | 2011-01-14 | 2011-06-01 | 杭州海康威视数字技术股份有限公司 | 嵌入式硬盘录像机的图形用户界面创建方法及其系统 |
US20160132305A1 (en) * | 2013-04-08 | 2016-05-12 | Mitsubishi Electric Corporation | Program graph display device, program graph display method, and program graph display program |
CN106325833A (zh) * | 2015-06-18 | 2017-01-11 | 中国石油化工股份有限公司 | 一种用于企业信息管理的代码生成方法 |
CN106647635A (zh) * | 2016-12-22 | 2017-05-10 | 广州数控设备有限公司 | 基于Minigui的数控系统铣床对话式图形编程系统及方法 |
CN108427731A (zh) * | 2018-02-26 | 2018-08-21 | 平安普惠企业管理有限公司 | 页面代码的处理方法、装置、终端设备及介质 |
CN114138254A (zh) * | 2021-11-30 | 2022-03-04 | 北京宇信科技集团股份有限公司 | 一种代码自动生成方法、介质、设备和系统 |
CN114741070A (zh) * | 2022-04-12 | 2022-07-12 | 中国联合网络通信集团有限公司 | 代码生成方法、装置、电子设备及存储介质 |
CN115098097A (zh) * | 2022-06-08 | 2022-09-23 | 广州鲁邦通智能科技有限公司 | 页面构建和管理方法和系统以及前端显示方法 |
CN115268908A (zh) * | 2022-07-21 | 2022-11-01 | 中国平安财产保险股份有限公司 | 自定义配置页面的方法、装置、设备和存储介质 |
CN115525280A (zh) * | 2022-09-28 | 2022-12-27 | 海尔优家智能科技(北京)有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
CN115543282A (zh) * | 2022-10-18 | 2022-12-30 | 康键信息技术(深圳)有限公司 | 页面代码的生成方法、装置、存储介质及计算机设备 |
CN116185403A (zh) * | 2022-12-30 | 2023-05-30 | 中国联合网络通信集团有限公司 | 一种代码生成方法、装置及存储介质 |
CN116301891A (zh) * | 2023-02-27 | 2023-06-23 | 中国建设银行股份有限公司 | 代码生成方法、装置、电子设备和存储介质 |
CN117111909A (zh) * | 2023-08-23 | 2023-11-24 | 中国平安财产保险股份有限公司 | 代码自动化生成方法、系统、计算机设备及存储介质 |
CN117389562A (zh) * | 2023-10-26 | 2024-01-12 | 大连佳佰讯物联网产业有限公司 | 一种基于Vue的前端代码可视化配置与智能化生成方法及系统 |
Non-Patent Citations (3)
Title |
---|
XIANGFEI SHE 等: "An Automatic Page Code Generation Method Based on Excel Template and Poi Technology", 2020 INTERNATIONAL CONFERENCE ON INTELLIGENT TRANSPORTATION, BIG DATA & SMART CITY (ICITBS), 3 July 2020 (2020-07-03) * |
刘国伟;陈宏君;刘克金;: "嵌入式装置可视化页面程序代码处理架构设计", 单片机与嵌入式系统应用, no. 05, 1 May 2017 (2017-05-01) * |
张晶;黄小锋;: "基于业务模型和界面模型的代码生成工具", 电脑与信息技术, no. 02, 15 April 2016 (2016-04-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117608559B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090064196A1 (en) | Model based device driver code generation | |
CN108958708B (zh) | 一种基于组件的软件系统架构及软件实现方法 | |
US11042387B2 (en) | Deploying cross-platform applications on mobile devices with native and web components | |
US10656971B2 (en) | Agile framework for vertical application development and delivery | |
US8479150B2 (en) | Compositional modeling of integrated systems using event-based legacy applications | |
CN104090749A (zh) | 一种WinCE产品界面主题更新变换处理方法及系统 | |
CN112711408A (zh) | 基于Vue组件化的可视化配置渲染方法、系统、终端 | |
CN105893061A (zh) | 应用程序开发方法及系统 | |
WO2021052338A1 (zh) | 智能合约客户端程序的生成方法、系统、设备和介质 | |
CN113064593B (zh) | 移动app动态化的方法、装置、计算机设备及存储介质 | |
US20150143267A1 (en) | SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES | |
KR101747424B1 (ko) | 애플리케이션 설계와 구현을 통합하는 객체 지향 프로그래밍 장치, 및 방법 | |
US20030106042A1 (en) | System and method for animating state diagram through debug connection | |
CN117608559B (zh) | 页面显示代码生成方法、装置、电子设备、存储介质 | |
CN114968192A (zh) | 一种项目创建方法、装置、计算机设备及存储介质 | |
US11604662B2 (en) | System and method for accelerating modernization of user interfaces in a computing environment | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN102226888A (zh) | 框架加载方法及设备 | |
CN106775608B (zh) | 独立系统进程的实现方法和装置 | |
CN110599112B (zh) | 一种网络页面开发、维护方法和装置 | |
CN114416202B (zh) | 一种移动端sdk调用方法及系统 | |
CN116107623A (zh) | 一种软件开发方法、装置及电子设备 | |
CN111857782B (zh) | 界面更新方法、装置、计算机设备和存储介质 | |
CN114816475A (zh) | 一种嵌入式操作系统的更新方法、装置、设备和介质 | |
US20150074678A1 (en) | Device and method for automating a process of defining a cloud computing resource |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |