CN103620557A - 使用预构控件创建逻辑 - Google Patents

使用预构控件创建逻辑 Download PDF

Info

Publication number
CN103620557A
CN103620557A CN201280032330.8A CN201280032330A CN103620557A CN 103620557 A CN103620557 A CN 103620557A CN 201280032330 A CN201280032330 A CN 201280032330A CN 103620557 A CN103620557 A CN 103620557A
Authority
CN
China
Prior art keywords
control object
solution
logic
storehouse
user
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
Application number
CN201280032330.8A
Other languages
English (en)
Inventor
K·韦斯特帕
J·里韦拉
R·麦克明
R·科金斯
C·杜戈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN103620557A publication Critical patent/CN103620557A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供一个包含了预构逻辑的控件和动作的库集,以用于构建数据库程序中的应用、项目和解决方案。所述库可以包括考虑了数据库程序中的主逻辑场景的最常用控件。所述控件可以是简单的、清楚的和直观的,这样,具有少量或没有编程经验的用户在不必进入任何编码环境或不必构建复杂逻辑表示的情况下就能够使用库控件来开发数据库程序中的解决方案。所述库可以允许用户在不需要打开代码编辑器的情况下,通过将来自所述库中的预定控件添加到解决方案的设计表面上来构建完整的解决方案,并且所述控件后面的代码可以被自动地构建到所述解决方案中。所述解决方案的代码还可以对于在数据库程序中的用户的随后修改是可访问的。

Description

使用预构控件创建逻辑
背景
数据库程序可以被用于构建管理各种类型和数量的数据的解决方案以及应用。可以在数据库程序中被开发的一些示例解决方案可以包括用于存储定制数据的制表、提供用户友好的数据条目和与数据库的有效交互的表格、过滤数据的查询、概括数据以及自动数据管理任务和格式化概括并呈现数据的报告。一些数据库程序可以提供用于构建简单解决方案的模板,而对于构建更加复杂的解决方案,可以提供宏以及程序开发应用或代码编辑器。
在数据库程序中典型地构建数据库或解决方案需要一些编码知识或经验。可以使用在分开的程序开发应用中的代码编辑器或使用在数据库程序内的宏来生成用于添加控件、表格、制表和报告的复杂解决方案,并且可以对能够使用该数据库程序开发解决方案的用户进行限制。数据库程序对于很多用户来说是很有用的,并且当用户基数增加时,当用户具有少量或没有编程经验时,对所述用户来说,他们开发数据库程序中的解决方案的能力就可能受到限制,因为所述用户可能不能编码复杂的解决方案的组件。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在专门标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
实施例旨在提供一个控件和动作的库集(gallery set),所述库集包含了用于构建数据库程序中的应用、项目和解决方案的预构逻辑。所述库可以包括考虑为数据库程序中的主逻辑场景的常用控件。所述控件可以是简单的、清楚的和直观的,这样,具有少量或没有编程经验的用户在不必进入任何编码环境或不必构建复杂逻辑表示的情况下就能够使用库控件来开发数据库程序中的解决方案。所述库可以允许用户在不需要打开代码编辑器的情况下,通过将来自所述库中的预定控件添加到解决方案的设计表面上来构建完整的解决方案,并且所述控件后面的代码可以被自动地构建到所述解决方案中。所述解决方案代码还可以对于在数据库程序中的用户的随后修改是可访问的。所述库还可以允许用户添加他们自己的定制的所定义的控件以用于容易的重新使用。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且不限制所要求保护的各方面。
附图简述
图1示出包括了数据库程序中的控件库和在应用内的预构控件的解决方案设计的示例屏幕截图。
图2示出了根据实施例的用于输入逻辑场景的更多参数的对话框或精灵的示例屏幕截图。
图3示出用于输入逻辑场景的更多参数的对话框或精灵的示例屏幕截图。
图4是其中可实现根据各实施例的系统的联网环境;
图5是其中可实现各实施例的示例计算操作环境的框图;以及
图6示出根据实施例的用于提供数据库程序中的逻辑场景的预构控件的库的过程的逻辑流程图。
详细描述
如前简要描述地,数据库程序中的预构的控件的库可以使得用户能在不需要用户访问代码编辑器来构建解决方案的情况下使用预构控件来创建数据应用或解决方案。所述库可以含有数据库程序中常用的控件和动作,可以通过简单的拖放或类似动作来将它们加入到应用中,并且可以在所述控件之后预构所述逻辑和代码,这样用户可以将控件加入解决方案,并且所述控件之后的逻辑可以被自动地构建到解决方案中而无需该用户必须手动构建并生成所述代码逻辑。构建到所述控件中的代码也可以是完全可编辑的,这样,用户能够容易地修改控件,而无需从头或从空编码环境开始。
在下面的详细描述中,将参考构成本发明的一部分的附图,在附图中,通过例图,示出了特定实施例或示例。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,以下详细描述并不旨在限制,并且本发明的范围由所附权利要求及其等效方案来限定。
尽管在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其它程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。
贯穿本说明书,术语“平台”可以是用于构建并修改(以及执行)数据库应用的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个计算设备上执行的应用、以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。在下面将提供关于这些技术和示例操作的详细细节。
图1示出包括了数据库应用中的控件库的解决方案设计的示例的屏幕截图。如图表100所示,用户可以在制表或表格中,例如在使用控件对象库中所提供的预构控件的数据库程序中,创建一个解决方案。用户可以在数据库程序中创建各种各样的数据库应用和解决方案,例如制表、表格、项目和报告。典型地在数据库程序中构建复杂解决方案可以要求用户具有编程语言的某种知识以及使用程序设计应用编写和编辑代码和逻辑的能力。预构控件对象的库可以允许在编码或编程方面具有少量经验的用户在不需要必须访问编码环境的情况下构建数据库程序中的解决方案。
在根据实施例的系统中,对于要在数据库程序中构建从开始到完成的完整逻辑解决方案的用户来说,用户可能仅需要访问控件库。所述库可以在分开的菜单102中显示控件,或者控件可以被合并入数据库程序的设计视图112的功能区任务栏120中。另外,用户可以定制库显示以确定将所述控件显示在哪里,如何显示它们,任意定制创建的逻辑控制以及在库中要显示和不要显示哪些逻辑场景。一些用户可以比其它逻辑场景更多地使用某些逻辑场景,并且,所述用户能够根据用户的偏好和使用习惯来定制库视图,以便创建在构建完整的数据库解决方案中要使用的有效库。这样,允许用户创建在所述库中使用的他们自己定制的所定义的控件。
所述库可以包含考虑到数据库程序中的逻辑场景的各种控件和动作的控件对象。数据库程序可以包含用于构建数据库程序中的解决方案的许多逻辑场景,并且所述库可以显示考虑了常见逻辑场景的大多数或全部的常用控件。所述库中的控件对象可以被预构为包含在每个控件之后的代码和逻辑,这样,用户可以简单地选择一个要加入到解决方案中的控件,并且所述用户永远不需要查阅或访问控件之后的逻辑。所述库中的控制逻辑可以清楚地指示要在解决方案中执行的控件或动作,这样,所述库对于用户是简单且直观的,并且,可以将所述库中的预构控件对象加入到解决方案的设计视图112中以用于构建到解决方案中的组件。
可以用文本来标记所述控件对象以清楚且简明地指示所述控件对象表示的动作,和/或所述控件对象可以被显示为图标或图形以表示所述库中的特定动作和逻辑场景。可以使用点击和添加方法或拖放方法将所述控件对象加入到解决方案中。由于库控件可能具有所有在控件之后内建的控制动作的逻辑,当所述用户将控件加入到解决方案时,或拖放所述控件到设计画布上时,所述代码可以被自动构建到解决方案中,无需用户总是必须访问代码编辑器。然而,所述解决方案代码在用户希望在所述解决方案的开发期间的任意点处编辑解决方案之后的逻辑的情况下对于用户可以是可访问的以用于查阅和修改每个控件之后的逻辑或代码和完整的解决方案可以遵循合适的编程原理和语言,并且可以包括错误处理和注释,这样,如果且当用户不需要访问代码来查阅或修改时,可以使用已知编程技术来容易地读取、理解和编辑所述代码。
在数据库程序中可以使用的一些示例逻辑场景可以包括应用导航、过滤、记录导航、发送数据、更新和验证数据以及定制用户界面自动化。可以在控件对象的库中将表示这些场景中的动作的控件显示为文本框113、下拉菜单114、按钮、组合框、列表、单选按钮和/或复选框,它们可以被加入到用所述控件的逻辑完全预构的设计画布中。例如,用户可能需要通过打开和关闭对话框和新的页面使用、保存、取消和删除对项的改变或搜索页面上或所述表格中包含的信息来导航所述数据库程序中的表格。由于这些是数据库程序中相当常见的导航控件或动作,所述库可以包含这些动作中每个的控件对象,以便用户可以将这些导航能力加入到解决方案中。
在示例实施例中,所述库可以包括用于保存和/或关闭解决方案中的表格或其它应用的控件。用户可以选择保存和关闭按钮108并将其拖放到设计视图112上的用户希望该按钮被放置在的位置。随后,按钮118可以以允许用户保存并关闭表格的方式出现。保存和关闭所述表格的动作的逻辑可以结合库中保存和关闭按钮108被预构,并且当由用户将保存和关闭按钮108拖放到所述设计画布时,可以将所述逻辑添加到所述完整的解决方案逻辑中。指示所述逻辑包含什么指令的注释,例如“这个宏将保存当前记录并关闭表格”,可以被包括在解决方案的逻辑中。
在另一个示例中,用户可以将搜索窗格116添加到数据库程序的解决方案中。搜索框116可以包括用于输入文本的文本框和用于点击以执行搜索动作的选择按钮。当用户将搜索框加入到解决方案的设计画布时,所述搜索控件的预构逻辑可以被自动地构建到解决方案代码中,并且可以包括依据搜索按钮点击事件或当用户按Tab离开(tab out)搜索框时搜索文本框中的文本的记录的指令。搜索框的默认逻辑可以搜索当前表格和/或如果子表格存在的话搜索子表格上的所有记录。可选地,可以呈现一个对话框或精灵来允许用户设置搜索框并定制一旦点击了搜索按钮时被搜索的记录。
在一些场景中,要被加入到解决方案中的控件可以包含用于执行动作的完整的逻辑。例如,可以通过简单地拖放到解决方案的设计画布上来将保存、关闭、删除、取消和撤消按钮添加到解决方案中,无需任意其它输入。然而,其它逻辑场景可能要求将完整逻辑加入到解决方案的更多信息或更多输入参数,并且可以在一旦将控件添加到设计表面时将它们输入到精灵或对话框。要求更多输入参数的示例逻辑场景可以包括打开-表格控件104。打开数据库程序中的表格首先要求用户选择当点击控件时他们想要打开哪个表格。如此,打开可以以各种方式被执行,例如内联(取代现有的页面内容)、在子表格(在当前页面上的表格中)中和在模式弹出窗口中。当用户从所述库中选择打开-表格控件104并将其拖放到设计视图112上以创建打开-表格按钮时,按钮124可以出现,并且该按钮可以指示“打开表格”。当将其加入到画布时,可以弹出精灵或对话框并示出用户在该控件完成之前他们还需要填充什么内容并在完成更多输入参数时指导他们。
图2示出了根据实施例的用于输入逻辑场景的更多参数的对话框或精灵的示例屏幕截图。如上述结合图1简要描述地,当用户将控件添加到设计解决方案时,可能需要更多的信息以完全构建到解决方案中的控件的完整逻辑。当需要更多的信息来构建控件的完整逻辑时,一旦将该控件加入到设计画布,就弹出对话框或精灵来从用户收集更多的输入参数。例如,当用户选择将打开-表格控件加入到解决方案时,一旦添加了打开-表格控件,就可以在解决方案中创建打开-表格按钮124,并且可以出现提示用户指示用户想要打开的表格的名字(204)的对话框202。用户可以从对话框中的列表中选择表格的名字,例如“联系人”206,并且依据点击“ok”按钮208,对话框可以关闭,并且可以构建打开-表格按钮的完整逻辑。还可以通过诸如下拉菜单、复选选择等的其它手段来选择表格名字。
可以将控制逻辑构建到解决方案中,这样,只要从设计解决方案中选择打开-表格按钮,就打开用户在对话框中选择的表格。另外,可以更新并修改打开-表格按钮的标题以便例如如果用户从对话框列表中选择联系人206时就显示“打开联系人”,并且打开-表格按钮的逻辑中的注释可以指示依据选择控件将打开联系人或用户已经选择要打开的任意一个其它表格。用户能够修改逻辑以改变所选的要打开的表格或如果需要的话对其做出其它改变。
在其它实施例中,可以呈现更多的对话框210以收集用于打开表格的附加信息,例如在表格212上要示出哪些记录以及要如何将表格打开214。用户可以首先从下拉列表216中选择要被打开的表格,并且随后可以在复选框或下拉菜单或列表中呈现打开该表格的进一步的选项。在一个示例中,可以以各种各样的方式来执行打开数据库程序中的表格。例如,内联、在子表格中,或在弹出窗口中,并且可以将选择可用的打开-表格方法之一的复选框对话框用于允许用户确定用于该表格的打开方法。另外,用户可以从记录集中选择将哪个(些)记录绑定为当打开表格时在所述表格中示出。他们可以选择查阅当前记录、新记录或显示所有记录。可以使用从有限数量的选项中进行选择的复选框或用于显示指定项的所有选项的下拉菜单来收集其它信息。
在另一个示例中,用户能够通过对话框220设置另一个控件的值。用户可以使用下拉菜单222来选择该用户想要设置哪个控件的值。例如,对话可以询问要设置哪个控件,以及该控件要设置为哪个值。对话框220可以在当前表格中呈现一个所有控件的下拉菜单或列表。另外,构建器按钮可以允许用户弹出表达式构建器以选择当前表格之外的控件。如果在按钮所拖曳到的表格上存在子表格,下拉菜单还可以列出子表格上的控件。对话还可以显示第二下拉菜单或列表或文本框224以选择或输入用于设置该控件的值。要设置的值可以在所选的控件的上下文中。可以被选择或显示的控件的一些示例值可以包括表达式构建器、日历/日期拾取器、用于选择要附加的文件的附件拾取器或计算器。第二下拉框可以分析正被更新的控件的控件类型,以便允许用户根据控件的定义从控件的可接受值的列表中容易地进行选择。例如,如果用户从下拉菜单222中选择名为“性别”的控件,那么文本框224可以转换成仅具有选项“男性”和“女性”的组合框控件。
图3示出了根据实施例的用于输入逻辑场景的更多参数的对话框或精灵的示例屏幕截图。在示例实施例中,用户可以选择添加“设置属性”按钮,并且当添加设置属性按钮时,对话300可以和几个下拉菜单一起出现以供用户选择设置另一个控件上的属性的更多参数。例如,一些更多的输入参数可以包括:要更新哪个控件(302)、要更新哪个属性(304)以及要将属性设置为什么(306)。所述设置属性按钮可以设置当前表格或子表格中的控件的属性。用于设置控件的一些示例属性可以包括:启用、可视、锁定、彩色、前景色、背景色和标题。属性的一些示例属性值对于启用/可视性来说可以是真或假,对于色彩属性的颜色来说可以是色彩拾取器或写入十六进制值的能力,以及对于标题来说是选择值的文本框。
例如,可以显示色彩拾取器308以允许用户容易地选择他们想要更新的颜色,而无需知道十六进制颜色代码或数据库程序颜色代码。下拉菜单或列表可以是渐进可选择的,这样,当选择一个属性时,仅有被选中的属性的属性值可以被显示在后续的菜单中。例如,第一问题“应该更新哪些控件”(302)可以示出当前表格上的所有控件。一旦选择了控件,后续菜单或列表(例如304、306)可以显示要更新的控件属性的较小列表。例如,如果用户选择文本框的控件,下拉菜单可以显示诸如颜色、启用、可视之类的属性值,但可能不会显示标题属性,因为文本框不具有的单独标题属性。一旦用户已经选择或回答了所有的问题,用户可以选择“ok”,并且依据点击“ok按钮”310,代码可以被构建到解决方案。
已经用具体配置、应用和交互描述了图1到3中的示例系统。各实施例不限于根据这些示例的系统。可以在使用更少或附加组件并执行其它任务的配置中实现一种用于提供数据库程序中的逻辑场景的预构控件的库的系统。此外,可以使用此处描述的原理以相似的方式来实现特定的协议和/或接口。
图4是其中可以实现各实施例的示例联网环境。可以通过在诸如托管服务之类的一个或多个服务器414上执行的软件来实现一种用于提供数据库程序中的逻辑场景的预构控件的库的系统。该平台可以通过网络410来与诸如智能电话413、膝上型计算机412、或台式计算机411(‘客户机设备’)之类的个体计算设备上的客户机应用进行通信。
在任一客户机设备411-413上执行的客户机应用可便于通过由各服务器414执行的或在个体服务器416上执行的应用进行的通信。在所述服务器之一上执行的应用可以便利于生成包含在数据库程序中使用的主逻辑场景的预构控件的库,添加控件到设计解决方案以及构建到完整解决方案代码逻辑的控件的逻辑。所述应用可以为用户提供附加的对话或精灵以选择用于根据用户定制偏好构建完整逻辑解决方案的更多输入参数。该应用可直接或通过数据库服务器418从数据存储419中检索相关数据,并且通过客户端设备411-413将所请求的服务(例如文档编辑)提供给用户。
网络410可包括服务器、客户机、因特网服务供应商以及通信介质的任何拓扑结构。根据各实施例的系统可以具有静态或动态拓扑结构。网络410可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络410还通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络410可包括诸如蓝牙或类似网络等短程无线网络。网络410提供此处描述的节点之间的通信。作为示例而非限制,网络410可以包括例如声学、RF、红外线和其它无线介质等无线介质。
可以采用计算设备、应用、数据源和数据分发系统的许多其它配置来实现一种用于提供数据库程序中的逻辑场景的预构控件的库的平台。此外,图4中所讨论的联网环境仅用于说明目的。各实施例不仅限于示例应用、模块或过程。
图5及相关联讨论旨在提供对其中可实现各实施例的合适计算环境的简要概括描述。参考图5,该图示出了诸如计算设备500之类的根据各实施例的应用的示例计算操作环境的框图。在基本配置中,计算设备500可以是任何计算设备并包括至少一个处理单元502和系统存储器504,该任何计算设备根据各实施例来执行一种用于提供数据库程序中的逻辑场景的预构控件的库的应用。计算设备500还可以包括在执行程序时相互协作的多个处理单元。取决于计算设备的确切配置和类型,系统存储器504可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器504通常包括适于控制平台操作的操作系统505,诸如来自华盛顿州雷德蒙市的微软公司的
Figure BDA0000448775040000081
操作系统。系统存储器504还可包括一个或多个软件应用,诸如程序模块506、应用522、以及库模块524。
应用522可以允许计算设备500提供在数据库程序的设计视图中的主逻辑场景的预构控件的库,并允许用户从所述库中选择要添加到数据库程序中的解决方案的控件,构建到完整的解决方案代码的控件逻辑。通过由库模块524所控制的用户界面,应用522可以将数据库程序中的常用控件或动作显示为包含在该数据库程序的设计视图中的库中的预构控件。所述应用可以允许用户将预构控件拖放到解决方案的设计表面上,并且,所述应用可以将控件之后的逻辑构建到完整的解决方案代码逻辑中。所述应用还进一步显示用于输入构建控件的完整逻辑到解决方案代码中所需的附加信息的精灵。所述应用可以允许用户创建并指定他们自己的定制构建的控件。应用522和库模块524可以是分开的应用或托管服务的集成模块。该基本配置在图5中由虚线508内的那些组件示出。
计算设备500可以具有附加特征或功能。例如,计算设备500还可包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。在图5中通过可移动存储509和不可移动存储510示出这样的附加存储。计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器504、可移动存储509和不可移动存储510都是计算机可读存储介质的示例。因此,计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带、磁盘存储或其它磁性存储设备、或可用于储存所需信息并可由计算设备500访问的任何其它介质。任何这种计算机存储介质都可以是计算设备500的一部分。计算设备500也可具有输入设备512,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可以包括输出设备514,诸如显示器、扬声器、打印机和其它类型的输出设备。这些设备在本领域中公知且无需在此处详细讨论。
计算设备500还可包含通信连接516,该通信连接允许该设备诸如通过分布式计算环境中的有线或无线网络、卫星链路、蜂窝链路、短程网络和类似机制来与其他设备518进行通信。其他设备518可包括执行通信应用的计算机设备、web服务器和类似设备。一个或多个通信连接516是通信介质的一个示例。通信介质可在其中包括计算机可读指令、数据结构、程序模块或其他数据。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一些来执行该方法的各个操作中的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。
图6示出根据实施例的用于提供数据库程序中的逻辑场景的预构控件的库的过程600的逻辑流程图。可以将过程600实现在能够通过处理器来执行指令的计算设备或类似的电子设备上。
过程600从操作610开始,在其中,系统可以检测用户已经创建或打开了数据库程序中的新的设计解决方案。或者,用户可以正修改现有的设计解决方案。数据库程序中的一些示例解决方案可以包括表格、制表、项目、查询和报告。一旦检测到新解决方案的创建或现有解决方案的修改,系统可以确定用于用户正在工作的解决方案的类型的常用逻辑场景。在操作620,系统可以将表示常用逻辑场景的动作或对象的预构控件加载到控件对象的库中。控件对象的库可以被显示为数据库程序中的解决方案的设计视图中的菜单,或者所述控件可以被显示为任务栏的部分,所述任务栏被显示为解决方案设计视图的部分。所述库可以允许用户选择库中的一个控件以添加到所述解决方案。用户可以点击控件以选择它,或者用户可以使用拖放方法来将控件加入到所述解决方案。库中的控件可以包含在控件之后预构的用于生成所述控件的逻辑或代码,这样,用户可以简单地选择以将控件添加到解决方案中,无需必须编辑任意代码或访问代码编辑器。
在操作630,系统可以使用点击和添加方法、拖放方法或类似方法检测从库中的控件选择以及到解决方案设计视图的控件的添加。在将控件添加到解决方案之后,在操作640,系统可以将该控件的对象加入到设计解决方案。作为一些示例,所述对象可以是按钮、菜单、列表、文本框或弹出窗口。另外,控件之后的逻辑可以被添加到完整的解决方案代码。这可以允许解决方案的代码随用户已经添加的解决方案组件一起更新,而不需要用户必须手动编辑解决方案代码。
在一些逻辑场景或控件中,可能需要更多的信息以构建控件的完整逻辑到系统中。在这种情况下,所述系统可以在操作650可选地显示精灵或对话窗口,所述精灵或对话窗口可以在将控件添加到解决方案设计视图之后出现。所述精灵可以呈现多个问题、下拉菜单、列表或复选框,以向用户显示附加的输入参数和选项来选择以定制和完成解决方案中的控件对象。在用户已经选择了附加选项并提供了构建解决方案中的控件的完整逻辑所需的更多信息之后,系统可以更新解决方案中的对象以显示解决方案中的对象的精确功能或操作。在操作660,控件对象的完整逻辑可以被创建到数据库程序的解决方案的解决方案代码逻辑中。
如果用户需要的话,用户可用所述代码来进行编辑并定制,然而,可以在无需用户必须访问代码生成器或产生任意代码或逻辑的情况下就从开始到结束构建完整的解决方案。在一些实施例中,所述方法可以是制表、表格、项目、报告或查询内部的逻辑。
过程600中包括的操作只是为了说明。使用预构控件创建逻辑可以使用此处所述的各原理通过具有更少或更多步骤的相似过程、以及不同的操作次序来实现。
以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施方式的示例形式而公开的。

Claims (10)

1.一种至少部分地在计算设备中执行的用于提供控件对象的库的方法,所述方法包括:
检测数据库程序的新解决方案的创建和现有解决方案的修改中的一个;
确定所述数据库程序中的解决方案的常用逻辑场景;
生成具有所述数据库程序中的项目的所述常用逻辑场景的预构逻辑的控件对象的库;
允许用户从所述库中选择并添加控件对象到解决方案设计画布;
在所述解决方案设计画布上显示新添加的控件对象;
将所述控件对象之后的所述逻辑自动构建到所述解决方案的逻辑代码中;以及
在激活所述控件对象之后,执行由所述控件对象所表示的一个或多个动作。
2.如权利要求1所述的方法,其特征在于,还包括:
允许所述控件对象之后的所述逻辑在将来的使用中是完全可编辑的;以及
允许所述用户创建在所述库中使用的他们自己定制的所定义的控件。
3.如权利要求1所述的方法,其特征在于,还包括:
在将所述控件对象添加到所述解决方案设计画布之后,呈现用于输入附加参数以构建所述控件对象之后的所述逻辑到所述解决方案的所述逻辑代码中的对话。
4.如权利要求3所述的方法,其特征在于,还包括:
在检测到已经通过所述对话输入的所请求的信息之后,允许所述用户关闭所述对话;以及
更新下述一个或多个项:所述控件对象之后的所述代码、所述控件对象之后的描述控件动作的逻辑的注释、所述解决方案设计画布上的所述控件对象上的标题以及显示在所述解决方案设计画布上的所述控件对象。
5.如权利要求1所述的方法,其特征在于,还包括:
将控件对象的所述库显示为以下之一:单独菜单和所述解决方案设计画布内的任务栏的部分。
6.如权利要求1所述的方法,其特征在于,还包括:
标记所述库中的所述控件对象以指示由每个控件对象所表示的动作和逻辑场景中的至少一个。
7.如权利要求1所述的方法,其特征在于,允许用户添加所选的控件对象到解决方案设计画布还包括:
允许用户选择所述库中的所述控件对象,从所述库中拖曳所述控件对象到所述解决方案设计画布,并将所述控件对象放在所述解决方案设计画布之上以添加到所述解决方案中的所述控件对象被放下的位置处。
8.一种提供与数据库程序相结合的控件对象的库的计算设备,所述计算设备包括:
存储指令的存储器;
耦合到所述存储器的处理器,所述处理器执行用于提供控件对象的库的
解决方案设计应用,其中所述解决方案设计应用被配置为:
检测数据库程序的新解决方案的创建和现有解决方案的修改中的一个;
确定所述数据库程序中的解决方案的常用逻辑场景;
生成具有所述数据库程序中的项目的所述常用逻辑场景的预构逻辑的控件对象的库;
允许用户从所述库中选择并添加控件对象到解决方案设计画布;
在所述解决方案设计画布上显示新添加的控件对象;
将所述控件对象之后的所述逻辑自动构建到所述解决方案的逻辑代码中;以及
自动更新所述控件对象之后的描述控件动作的所述逻辑的注释、所述解决方案设计画布上的所述控件对象上的标题以及显示在所述解决方案设计画布上的所述控件对象;
允许所述控件对象之后的所述逻辑在将来的使用中是完全可编辑的;以及
允许所述用户创建在所述库中使用的他们自己定制的所定义的控件;以及
在激活所述控件对象之后,执行由所述控件对象所表示的一个或多个动作。
9.如权利要求8所述的计算设备,其特征在于,所述解决方案设计应用被进一步配置为显示包括下述一个或多个项的对话:在添加了需要更多用于构建所述控件对象的逻辑的参数的控件对象之后用于输入附加信息的下拉菜单、复选框、列表以及文本框。
10.一种具有存储在其上的用于提供与数据库程序相结合的控件对象的库的指令的计算机可读存储器设备,所述指令包括:
检测数据库程序的新解决方案的创建和现有解决方案的修改中的一个;
确定所述数据库程序中的解决方案的常用逻辑场景;
生成具有所述数据库程序中的项目的所述常用逻辑场景的预构逻辑的控件对象的库;
允许用户从所述库中选择并添加控件对象到解决方案设计画布;
在所述解决方案设计画布上显示新添加的控件对象;
如果所述控件对象要求定制参数,呈现用于输入构建所述控件对象之后的逻辑到解决方案的逻辑代码中的定制参数;
将所述控件对象之后的所述逻辑自动构建到所述解决方案的逻辑代码中并使得其可用于将来的修改;
自动更新所述控件对象之后的描述控件动作的所述逻辑的注释、所述解决方案设计画布上的所述控件对象上的标题以及显示在所述解决方案设计画布上的所述控件对象;
允许所述控件对象之后的所述逻辑在将来的使用中是完全可编辑的;以及
允许所述用户创建在所述库中使用的他们自己定制的所定义的控件;以及
在激活所述控件对象之后,执行由所述控件对象所表示的一个或多个动作。
CN201280032330.8A 2011-06-29 2012-05-19 使用预构控件创建逻辑 Pending CN103620557A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/172,705 2011-06-29
US13/172,705 US8924420B2 (en) 2011-06-29 2011-06-29 Creating logic using pre-built controls
PCT/US2012/038741 WO2013002912A1 (en) 2011-06-29 2012-05-19 Creating logic using pre-built controls

Publications (1)

Publication Number Publication Date
CN103620557A true CN103620557A (zh) 2014-03-05

Family

ID=47391707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280032330.8A Pending CN103620557A (zh) 2011-06-29 2012-05-19 使用预构控件创建逻辑

Country Status (6)

Country Link
US (1) US8924420B2 (zh)
EP (1) EP2726982A4 (zh)
JP (1) JP6074419B2 (zh)
KR (1) KR101989634B1 (zh)
CN (1) CN103620557A (zh)
WO (1) WO2013002912A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109479073A (zh) * 2016-08-25 2019-03-15 英特尔公司 Iot解决方案大小调整
CN112099789A (zh) * 2020-09-08 2020-12-18 中国第一汽车股份有限公司 人机交互设计方法、装置、设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9766789B1 (en) * 2014-07-07 2017-09-19 Cloneless Media, LLC Media effects system
US20160188171A1 (en) * 2014-12-31 2016-06-30 Microsoft Technology Licensing, Llc. Split button with access to previously used options

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815149A (en) * 1997-02-19 1998-09-29 Unisys Corp. Method for generating code for modifying existing event routines for controls on a form
US5911070A (en) * 1995-08-07 1999-06-08 Inprise Corporation Development system with methods for bi-directional application program code generation
US6633888B1 (en) * 1999-02-03 2003-10-14 International Business Machines Corporation Method and apparatus for visually creating and testing object oriented components
CN1755624A (zh) * 2004-09-30 2006-04-05 微软公司 基于web的数据表单
CN101278252A (zh) * 2005-09-07 2008-10-01 微软公司 数据库应用程序中用于显示可选功能控件的命令用户界面
US20090319924A1 (en) * 2006-05-12 2009-12-24 Captaris, Inc. Workflow data binding
US20100070945A1 (en) * 2003-09-11 2010-03-18 Tattrie Scott I Custom and customizable components, such as for workflow applications
CN101819529A (zh) * 2010-02-24 2010-09-01 上海引跑信息科技有限公司 用于实现工作流任务界面可视化开发的系统和方法
US7934149B1 (en) * 1999-09-30 2011-04-26 Instantis, Inc. Automated creation and maintenance of programs to process internet form related submissions

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04163625A (ja) * 1990-10-29 1992-06-09 Fuji Xerox Co Ltd ソースコード生成装置
JPH064279A (ja) * 1992-06-17 1994-01-14 Hitachi Ltd ユーザインタフェース画面編集装置
CA2146890C (en) * 1994-06-03 2000-10-24 At&T Corp. Outline programming for developing communication services
JPH08249170A (ja) * 1995-03-14 1996-09-27 Mitsubishi Electric Corp グラフィカルユーザインタフェース設計/製造支援装置
US6179487B1 (en) * 1997-07-21 2001-01-30 International Business Machines Corp. Data processing system and method for associating specific graphics with data processing applications
US7039699B1 (en) * 2000-05-02 2006-05-02 Microsoft Corporation Tracking usage behavior in computer systems
US20020054155A1 (en) * 2000-07-14 2002-05-09 Borland Software Corporation Data module design system
JP2002196925A (ja) * 2000-12-26 2002-07-12 Toshiba Corp データベース処理用アプリケーション作成支援プログラム
US7512906B1 (en) * 2002-06-04 2009-03-31 Rockwell Automation Technologies, Inc. System and methodology providing adaptive interface in an industrial controller environment
US7337409B2 (en) 2002-09-25 2008-02-26 Siemens Aktiengesellschaft Customizable drag and drop for industrial software applications
CA2443454A1 (en) 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
US7549130B2 (en) * 2004-11-30 2009-06-16 Sap Ag Pattern-based keyboard controls
US7415010B1 (en) 2005-08-31 2008-08-19 At&T Corp. Method and apparatus for providing customer specified service logic
US8312048B2 (en) * 2009-05-19 2012-11-13 Microsoft Corporation Database application navigation
US20110289419A1 (en) * 2010-05-18 2011-11-24 Yu Chi Sum Sam Browser integration for a content system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5911070A (en) * 1995-08-07 1999-06-08 Inprise Corporation Development system with methods for bi-directional application program code generation
US5815149A (en) * 1997-02-19 1998-09-29 Unisys Corp. Method for generating code for modifying existing event routines for controls on a form
US6633888B1 (en) * 1999-02-03 2003-10-14 International Business Machines Corporation Method and apparatus for visually creating and testing object oriented components
US7934149B1 (en) * 1999-09-30 2011-04-26 Instantis, Inc. Automated creation and maintenance of programs to process internet form related submissions
US20100070945A1 (en) * 2003-09-11 2010-03-18 Tattrie Scott I Custom and customizable components, such as for workflow applications
CN1755624A (zh) * 2004-09-30 2006-04-05 微软公司 基于web的数据表单
CN101278252A (zh) * 2005-09-07 2008-10-01 微软公司 数据库应用程序中用于显示可选功能控件的命令用户界面
US20090319924A1 (en) * 2006-05-12 2009-12-24 Captaris, Inc. Workflow data binding
CN101819529A (zh) * 2010-02-24 2010-09-01 上海引跑信息科技有限公司 用于实现工作流任务界面可视化开发的系统和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109479073A (zh) * 2016-08-25 2019-03-15 英特尔公司 Iot解决方案大小调整
CN109479073B (zh) * 2016-08-25 2022-03-29 英特尔公司 Iot解决方案大小调整
CN112099789A (zh) * 2020-09-08 2020-12-18 中国第一汽车股份有限公司 人机交互设计方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20130007071A1 (en) 2013-01-03
KR101989634B1 (ko) 2019-06-14
KR20140041603A (ko) 2014-04-04
US8924420B2 (en) 2014-12-30
JP2014526081A (ja) 2014-10-02
EP2726982A4 (en) 2015-09-16
JP6074419B2 (ja) 2017-02-01
EP2726982A1 (en) 2014-05-07
WO2013002912A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
CN105518660B (zh) 三维条件格式化
US8381180B2 (en) Visually exposing data services to analysts
CN108345456A (zh) 页面代码生成方法、装置、计算机设备和存储介质
JP5941541B2 (ja) モバイル・アプリケーション開発のためのシステムおよび方法
CN104395962A (zh) 基于作者偏好显示文档
US20130152038A1 (en) Project management workflows
CN103649875A (zh) 通过基于上下文的菜单上的动作来管理内容
CN102999559A (zh) 通过浏览器进行文档共享
CN101652743A (zh) 用于媒体制作和分发的工作流引擎
CN102968300A (zh) 提供上下文的针对对象的控制启动器和控件
CN102884497A (zh) 对已禁用的选项的一步选择
CN111522552A (zh) 子应用生成方法、装置、计算机设备和存储介质
CN103620557A (zh) 使用预构控件创建逻辑
CN101874233A (zh) 逻辑结构设计表面
CN111488102A (zh) 图形动画的模块化编辑方法、终端、服务器及系统
CN116304442A (zh) 页面代码生成方法、装置、电子设备以及存储介质
CN113010157A (zh) 一种代码生成方法及装置
EP3779798A1 (en) Information processing method, information processing device, and program
KR101426918B1 (ko) Gui 공유 시스템과 gui 편집 장치
Cernuzzi et al. GAIA4E: A tool supporting the design of MAS using Gaia
US9372669B2 (en) Multiple architecture viewpoints in single unified modeling language (UML) model
KR100668070B1 (ko) 컴퓨터 프로그램의 기능 편집 장치 및 방법
US20150121244A1 (en) Building a Realized Topology with a Binding Document
JP6604140B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
CN116795358A (zh) 界面数据处理方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150716

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150716

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20171103