CN103677763A - 一种图形化编程的源文件存储及解析方法 - Google Patents
一种图形化编程的源文件存储及解析方法 Download PDFInfo
- Publication number
- CN103677763A CN103677763A CN201210316959.7A CN201210316959A CN103677763A CN 103677763 A CN103677763 A CN 103677763A CN 201210316959 A CN201210316959 A CN 201210316959A CN 103677763 A CN103677763 A CN 103677763A
- Authority
- CN
- China
- Prior art keywords
- graphic elements
- attribute
- graphic
- programming
- xml
- 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.)
- Pending
Links
Images
Abstract
本发明提供一种图形化编程的源文件存储及解析方法,其步骤包括:将图形化编程所需的图形元件分为运算图形元件和连接线图形元件;将所述运算图形元件和所述连接线图形元件的各种属性使用XML语言进行表示,将每种图形元件各自存储为一个XML文件;对所述XML文件进行解析并获得相应的图形元件的属性信息,用于进行图形化编程。本发明在图形化编程的源文件存储及转换的过程中使用XML技术,可以方便地实现图形化程序与XML描述之间的相互转换,使编程工作更高效、更方便,并缩短产品开发周期。
Description
技术领域
本发明属于计算机图形存储显示技术领域,具体涉及一种图形化编程的源文件存储及解析方法。
背景技术
随着信息时代的飞速发展,社会对软件的需求量快速增长,因此制作软件的效率也需要不断提高。对于软件制作人员来说,使用高效的编程技术能够最大限度地节省人力、物力,降低成本,缩短产品开发周期,抢占市场先机。
软件编程技术发展迅速,其重要组成部分—软件开发语言,由古老的机器码,经历了BASIC、C、C++等,发展为高级语言;软件的开发环境也由文本式的代码编写,发展为可视化的多种工具集成的开发环境。作为编程技术的一种,图形化编程技术正走在前沿,是集可视化、对象化、组件化等思想为一体的集成开发环境。运用图形化的编程工具,编程人员可以像制作流程图一样,通过简单地添加和拖动几个图形化编程元素,连接必要的输入输出端,便可生成所需要的程序。图形化编程技术是软件编程技术发展过程中的一个飞跃,引领着新一代编程技术的发展。现有图形化编程技术中,所需图形元件一般为图片格式(如png、jpg文件等),每个图片文件代表具有不同属性的图形元件,这种开发模式工作量大、周期较长、功能有限、后期维护困难。
XML语言因其具备的多种特性,正得到越来越广泛的应用。XML语言与图形化编程技术的融合能体现出各自的优点,从而发挥出更大的作用。如果能将XML语言运用于图形化编程的源文件存储及转换,可使开发人员从繁复的代码中解脱出来,使编程工作更高效、更方便。
发明内容
本发明的目的是提供一种图形化编程的源文件存储及解析方法,在图形化编程的源文件存储及解析(转换)的过程中使用XML技术,可以方便地实现图形化程序与XML描述之间的相互转换,使编程工作更高效、更方便,并缩短产品开发周期。
本发明将图形化编程的所需图形元件的各种属性,如图形元件名称、宽度、高度、颜色、输入端口个数、输出端口个数、输入类型、输出类型等,以XML文件的形式存储;在图形化编程平台使用图形元件编程时,将存储该图形元件的XML文件进行解析,获得该图形元件的属性信息。具体来说,本发明采用如下技术方案:
一种图形化编程的源文件存储及解析方法,其步骤包括:
1)将图形化编程所需的图形元件分为运算图形元件和连接线图形元件;
2)将所述运算图形元件和所述连接线图形元件的各种属性使用XML语言进行表示,将每种图形元件各自存储为一个XML文件;
3)对所述XML文件进行解析并获得相应的图形元件的属性信息,用于进行图形化编程。
进一步地,所述运算图形元件包括算术运算图形元件和逻辑运算图形元件。
进一步地,所述运算图形元件的属性包括:输入端口属性、输出端口属性以及图形显示属性;所述图形显示属性包括:名称、高度、宽度和颜色。
进一步地,所述连接线图形元件的属性包括:名称属性、起始端点属性、终点端点属性、拐点位置坐标属性。
进一步地,使用C、C++或C#语言实现所述解析,将图形元件属性解析到自定义的各种变量之中,用于后续编程。
在图形化程序中,图形化编程元素表现能力突出,远远优于代码;图形包含比字母代码更多的信息,它独特的表现方式能使编程人员在看到它的瞬间大致了解其作用。图形化的程序便于从整体上看清程序结构,使编程人员保持思路清晰,了解编程的进展情况。因为XML文档不单单是文本型的,它所存储的数据是结构化的,具有独特的自描述性,通过解析器可以得到结构化的数据,既能实现图形化编程元素的XML表示,又能将其作为编程技术中的通用语言,解决异构系统的编程,增强程序的复用性。通过本发明方法,借助XML的自描述性,可以方便地实现图形化程序与XML描述之间的相互转换,使编程工作更高效、更方便,并缩短产品开发周期。
附图说明
图1为本发明实施例的图形化编程的源文件存储及解析方法的步骤流程图。
图2为本发明实施例的各种图形元件示意图。
具体实施方式
下面通过具体实施例,并配合附图,对本发明做详细的说明。
图1是本实施例的图形化编程的源文件存储及解析方法的步骤流程图。对其具体说明如下:
1)对图形化编程所需的图形元件进行分类。本发明将图形元件分为两类:
第一类是运算图形元件,包括算术运算和逻辑运算图形元件。算术运算有加法、减法、乘法、除法、取余数、取反数、取绝对值;逻辑运算有取反运算、逻辑与运算、逻辑或运算。该图形元件表示某种算术运算或逻辑运算,它具有可以设定数量和类型的输入端口属性和输出端口属性,及图形显示的属性如名称、高度、宽度、颜色。如表1所示。
表1.算术运算和逻辑运算图形元件属性表
第二类是各个图形元件端口之间的连接线图形元件。即该图形元件用于连接各个图形元件的端口,表示各个图形元件端口的输入输出关系。它具有名称属性、起始端点属性、终点端点属性、拐点位置坐标属性。如表2所示。
表2.连接线图形元件属性表
2)用XML技术对图形化编程的源文件进行存储。
将某种图形元件的各种属性使用XML语言进行表示,每种图形元件各自存储为一个XML文件。可使用开发工具(如Altova XMLSpy、Visual Studio 2010)根据图形元件属性创建XML文件。对于各图形元件的XML语言表示形式见下面各示例,其中标记“func”表示此图形元件完成的功能,用“funcname”的值来区分完成何种功能;标记“rect”表示图形元件的形状特征,“height”表示高度值,“width”表示宽度值,“color”表示颜色值;标记“input”表示输入,“num”为输入个数;标记“output”表示输入,“num”为输入个数;标记“value”表示输入或输入变量,“name”为变量名称,“type”表示变量类型。现举例说明如下:
2-1)算术运算的加法图形元件,如图2(a)所示。
2-2)算术运算的减法法图形元件,如图2(b)所示。
2-3)算术运算的乘法图形元件,如图2(c)所示。
2-4)算术运算的除法图形元件,如图2(d)所示。
2-5)算术运算的取余数图形元件,如图2(e)所示。
2-6)算术运算的取反数图形元件,如图2(f)所示。
2-7)算术运算的取绝对值图形元件,如图2(g)所示。
2-8)逻辑运算的取反图形元件,如图2(h)所示。
2-9)逻辑运算的或图形元件,如图2(i)所示。
2-10)逻辑运算的与图形元件,如图2(i)所示。
3)在使用图形元件编程时,对所述XML文件进行解析,获得图形元件的属性信息。
转换时,使用XML文件解析模块,该模块使用C或C++或C#语言编写,用于解析XML文件,将图形元件属性解析到自定义的各种变量之中。
下面提供解析过程的示例C#代码,此代码解析了代表“Adder”图形元件的XML文件:
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (6)
1.一种图形化编程的源文件存储及解析方法,其步骤包括:
1)将图形化编程所需的图形元件分为运算图形元件和连接线图形元件;
2)将所述运算图形元件和所述连接线图形元件的各种属性使用XML语言进行表示,将每种图形元件各自存储为一个XML文件;
3)对所述XML文件进行解析并获得相应的图形元件的属性信息,用于进行图形化编程。
2.如权利要求1所述的方法,其特征在于:所述运算图形元件包括算术运算图形元件和逻辑运算图形元件。
3.如权利要求1所述的方法,其特征在于:所述运算图形元件的属性包括:输入端口属性、输出端口属性以及图形显示属性;所述图形显示属性包括:名称、高度、宽度和颜色。
4.如权利要求1所述的方法,其特征在于:所述连接线图形元件的属性包括:名称属性、起始端点属性、终点端点属性、拐点位置坐标属性。
5.如权利要求1所述的方法,其特征在于:使用开发工具Altova XMLSpy或者Visual Studio创建所述XML文件。
6.如权利要求1所述的方法,其特征在于:使用C、C++或C#语言实现所述解析,将图形元件属性解析到自定义的各种变量之中,用于后续编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210316959.7A CN103677763A (zh) | 2012-08-30 | 2012-08-30 | 一种图形化编程的源文件存储及解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210316959.7A CN103677763A (zh) | 2012-08-30 | 2012-08-30 | 一种图形化编程的源文件存储及解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103677763A true CN103677763A (zh) | 2014-03-26 |
Family
ID=50315442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210316959.7A Pending CN103677763A (zh) | 2012-08-30 | 2012-08-30 | 一种图形化编程的源文件存储及解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677763A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155668A (zh) * | 2015-04-18 | 2016-11-23 | 成都复晓科技有限公司 | 一种宏语言的图形化表达方法 |
CN106155669A (zh) * | 2015-04-18 | 2016-11-23 | 成都复晓科技有限公司 | 一种软件界面与宏语言的参数匹配方法 |
CN106406890A (zh) * | 2016-09-23 | 2017-02-15 | 江西洪都航空工业集团有限责任公司 | 一种利用多语言建立机器人模块的方法 |
CN106446034A (zh) * | 2016-08-30 | 2017-02-22 | 西安美林数据技术股份有限公司 | 数据可视化查询语言系统 |
CN107491478A (zh) * | 2017-07-03 | 2017-12-19 | 广东南方数码科技股份有限公司 | 基于直观流程图的数据处理方法、电子设备及存储介质 |
WO2018209558A1 (zh) * | 2017-05-16 | 2018-11-22 | 深圳市创客工场科技有限公司 | 积木式编程转换成程序代码的方法及装置 |
CN105117215B (zh) * | 2015-08-05 | 2018-12-07 | 深圳市元征科技股份有限公司 | 汽车功能的开发方法及装置 |
CN109726216A (zh) * | 2018-12-29 | 2019-05-07 | 北京九章云极科技有限公司 | 一种基于有向无环图的数据处理方法和处理系统 |
CN109741417A (zh) * | 2018-11-19 | 2019-05-10 | 西安中线软件技术有限公司 | 一种图形文件的生成方法、装置、计算设备及存储介质 |
CN110134389A (zh) * | 2018-02-02 | 2019-08-16 | 阿尔斯通运输科技公司 | 开发铁路信号化程序的开发系统及相关开发方法 |
CN111782199A (zh) * | 2019-12-27 | 2020-10-16 | 江苏恩达通用设备有限公司 | 一种基于xml技术的plc图形化编辑器的开发方法 |
CN111984252A (zh) * | 2020-06-30 | 2020-11-24 | 北京编程猫科技有限公司 | 一种基于图形化编程工具的作品创建方法及装置 |
CN112015400A (zh) * | 2019-05-29 | 2020-12-01 | 厦门牙牙信息科技有限公司 | 一种将图形化代码块转换成可执行程序的解析方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1815336A2 (en) * | 2004-10-01 | 2007-08-08 | Diebold, Incorporated | A graphical xml programming system and engine where xml processing programs are built and represented in a graphical fashion |
CN101263459A (zh) * | 2004-10-01 | 2008-09-10 | 迪堡公司 | 图形xml编程系统和引擎 |
CN101826016A (zh) * | 2010-05-13 | 2010-09-08 | 天津大学 | 支持多核并行程序设计的可视化建模及代码框架生成方法 |
CN102346458A (zh) * | 2010-08-06 | 2012-02-08 | 上海开通数控有限公司 | 在数控系统上实现参数化编程的方法 |
-
2012
- 2012-08-30 CN CN201210316959.7A patent/CN103677763A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1815336A2 (en) * | 2004-10-01 | 2007-08-08 | Diebold, Incorporated | A graphical xml programming system and engine where xml processing programs are built and represented in a graphical fashion |
CN101263459A (zh) * | 2004-10-01 | 2008-09-10 | 迪堡公司 | 图形xml编程系统和引擎 |
CN101826016A (zh) * | 2010-05-13 | 2010-09-08 | 天津大学 | 支持多核并行程序设计的可视化建模及代码框架生成方法 |
CN102346458A (zh) * | 2010-08-06 | 2012-02-08 | 上海开通数控有限公司 | 在数控系统上实现参数化编程的方法 |
Non-Patent Citations (1)
Title |
---|
韩冰: "XML技术与图形化编程技术的结合", 《辽宁师专学报(自然科学版)》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155669A (zh) * | 2015-04-18 | 2016-11-23 | 成都复晓科技有限公司 | 一种软件界面与宏语言的参数匹配方法 |
CN106155668A (zh) * | 2015-04-18 | 2016-11-23 | 成都复晓科技有限公司 | 一种宏语言的图形化表达方法 |
CN106155668B (zh) * | 2015-04-18 | 2019-03-01 | 成都复晓科技有限公司 | 一种宏语言的图形化表达方法 |
CN106155669B (zh) * | 2015-04-18 | 2019-04-05 | 成都复晓科技有限公司 | 一种软件界面与宏语言的参数匹配方法 |
CN105117215B (zh) * | 2015-08-05 | 2018-12-07 | 深圳市元征科技股份有限公司 | 汽车功能的开发方法及装置 |
CN106446034A (zh) * | 2016-08-30 | 2017-02-22 | 西安美林数据技术股份有限公司 | 数据可视化查询语言系统 |
CN106406890A (zh) * | 2016-09-23 | 2017-02-15 | 江西洪都航空工业集团有限责任公司 | 一种利用多语言建立机器人模块的方法 |
US10929109B2 (en) | 2017-05-16 | 2021-02-23 | Makeblock Co., Ltd. | Method and apparatus for converting building block programming into program code |
WO2018209558A1 (zh) * | 2017-05-16 | 2018-11-22 | 深圳市创客工场科技有限公司 | 积木式编程转换成程序代码的方法及装置 |
CN107491478A (zh) * | 2017-07-03 | 2017-12-19 | 广东南方数码科技股份有限公司 | 基于直观流程图的数据处理方法、电子设备及存储介质 |
CN110134389A (zh) * | 2018-02-02 | 2019-08-16 | 阿尔斯通运输科技公司 | 开发铁路信号化程序的开发系统及相关开发方法 |
CN109741417A (zh) * | 2018-11-19 | 2019-05-10 | 西安中线软件技术有限公司 | 一种图形文件的生成方法、装置、计算设备及存储介质 |
CN109726216A (zh) * | 2018-12-29 | 2019-05-07 | 北京九章云极科技有限公司 | 一种基于有向无环图的数据处理方法和处理系统 |
CN112015400A (zh) * | 2019-05-29 | 2020-12-01 | 厦门牙牙信息科技有限公司 | 一种将图形化代码块转换成可执行程序的解析方法 |
CN112015400B (zh) * | 2019-05-29 | 2022-08-02 | 厦门牙牙信息科技有限公司 | 一种将图形化代码块转换成可执行程序的解析方法 |
CN111782199A (zh) * | 2019-12-27 | 2020-10-16 | 江苏恩达通用设备有限公司 | 一种基于xml技术的plc图形化编辑器的开发方法 |
CN111782199B (zh) * | 2019-12-27 | 2024-04-16 | 江苏恩达通用设备有限公司 | 一种基于xml技术的plc图形化编辑器的开发方法 |
CN111984252A (zh) * | 2020-06-30 | 2020-11-24 | 北京编程猫科技有限公司 | 一种基于图形化编程工具的作品创建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677763A (zh) | 一种图形化编程的源文件存储及解析方法 | |
CN111813963B (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN102646038B (zh) | 控件内容展现方法、控件内容展现装置以及移动终端 | |
CN107273104B (zh) | 一种配置数据结构的处理方法及装置 | |
Moore et al. | OME-Zarr: a cloud-optimized bioimaging file format with international community support | |
US10579745B2 (en) | Model driven computational platform for integrated design of products, materials and manufacturing processes | |
CN102479248A (zh) | 一种电子文档结构化处理的方法和系统 | |
EP2757492A1 (en) | SQL visualizer | |
Rahardjo et al. | Lean manufacturing in industry 4.0: a smart and sustainable manufacturing system | |
CN113326314A (zh) | 数据可视化方法、装置、电子设备及可读存储介质 | |
US20110161925A1 (en) | Method and electronic device for generating a graphical report | |
CN113553055A (zh) | 一种基于机器学习的可视化图表代码自动生成方法 | |
CN111767406B (zh) | Plc工程的知识表示方法及装置 | |
US8731874B2 (en) | Three-dimensional CAD model creating apparatus and program | |
CN115495069B (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
Rojas et al. | Bridging the gap between information architecture analysis and software engineering in interactive web application development | |
KR20150089413A (ko) | 선박해양 운영단계 정보 교환 프로토콜의 구조 | |
Barth et al. | Efficient use of data exchange formats in engineering projects by means of language integrated queries—Engineers LINQ to XML | |
Kos et al. | Evolution of Domain-Specific Modeling Language: An Example of an Industrial Case Study on an RT-Sequencer | |
Böhnke et al. | A modular engineering pipeline for mixed reality environments | |
US9047325B2 (en) | Modularizing complex XML data for generation and extraction | |
Milovanovic et al. | Python Data Visualization Cookbook | |
KR20130060523A (ko) | 데이터 마이닝 프로세스 자동화 시스템, 방법 및 그에 대한 기록매체 | |
CN113282795B (zh) | 数据结构图生成及更新方法、装置、电子设备及存储介质 | |
Horbach | Implications of interoperability for factory planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |