FormsDeveloper FormBuilder内置函数详览与开发指南

2 下载量 173 浏览量 更新于2024-09-08 收藏 1.85MB DOCX 举报
"FormsDeveloper FormBuilder Reference, Release 6i Volume 1" 是一份详细的文档,专为 Oracle Corporation 的 Forms Developer FormBuilder 用户设计,旨在提供开发过程中所需的关键信息和支持。该文档在 Part No: A73074-01 中发布,主要关注以下核心内容: 1. 内置函数:这是文档的核心部分,详细介绍了在 FormBuilder 中内置的子程序、函数和操作,这些函数用于处理数据、执行逻辑操作或与系统交互。这部分内容对于理解如何高效利用 FormBuilder 功能以及避免编写自定义代码非常关键,因为内置函数通常具有优化性能和可维护性的优势。 2. 选项和属性:文档还涵盖了 FormBuilder 中的选项设置和属性管理,包括用户界面元素(如按钮、复选框、文本框等)的各种配置选项,以及如何调整它们的外观、行为和功能。 3. 系统变量:系统变量是存储和管理应用程序全局状态的重要工具。文档会列出可用的系统变量及其用途,帮助开发者控制流程和管理数据流,确保应用的稳定性和一致性。 4. 触发器:触发器是 FormBuilder 的自动化机制,允许在特定事件发生时执行预设的操作。文档会介绍触发器的不同类型(例如,字段更改触发、表单提交触发等),以及如何编写和配置触发器以响应用户交互和业务逻辑。 5. 可读性和实用性评估:文档开头鼓励读者提供反馈,询问他们在阅读过程中遇到的问题,比如错误是否清晰、信息是否足够、示例是否正确等,这表明作者重视用户的使用体验和持续改进。 6. 联系方式和支持:文档提供了电子邮箱地址 ododoc@us.oracle.com 供用户发送评论和建议,同时也建议有问题的用户联系当地的 Oracle 全球支持中心寻求软件问题的帮助。 "FormsDeveloper FormBuilder Reference, Release 6i Volume 1" 是一个实用的工具,旨在帮助开发者深入了解和掌握 FormBuilder 的核心功能,以及如何有效地使用内置函数、选项、属性和触发器来构建高效、易用的业务流程和用户界面。通过深入学习和利用这份文档,开发者可以提升工作效率,并确保他们的应用满足业务需求。

class AbstractGreedyAndPrune(): def __init__(self, aoi: AoI, uavs_tours: dict, max_rounds: int, debug: bool = True): self.aoi = aoi self.max_rounds = max_rounds self.debug = debug self.graph = aoi.graph self.nnodes = self.aoi.n_targets self.uavs = list(uavs_tours.keys()) self.nuavs = len(self.uavs) self.uavs_tours = {i: uavs_tours[self.uavs[i]] for i in range(self.nuavs)} self.__check_depots() self.reachable_points = self.__reachable_points() def __pruning(self, mr_solution: MultiRoundSolution) -> MultiRoundSolution: return utility.pruning_multiroundsolution(mr_solution) def solution(self) -> MultiRoundSolution: mrs_builder = MultiRoundSolutionBuilder(self.aoi) for uav in self.uavs: mrs_builder.add_drone(uav) residual_ntours_to_assign = {i : self.max_rounds for i in range(self.nuavs)} tour_to_assign = self.max_rounds * self.nuavs visited_points = set() while not self.greedy_stop_condition(visited_points, tour_to_assign): itd_uav, ind_tour = self.local_optimal_choice(visited_points, residual_ntours_to_assign) residual_ntours_to_assign[itd_uav] -= 1 tour_to_assign -= 1 opt_tour = self.uavs_tours[itd_uav][ind_tour] visited_points |= set(opt_tour.targets_indexes) # update visited points mrs_builder.append_tour(self.uavs[itd_uav], opt_tour) return self.__pruning(mrs_builder.build()) class CumulativeGreedyCoverage(AbstractGreedyAndPrune): choice_dict = {} for ind_uav in range(self.nuavs): uav_residual_rounds = residual_ntours_to_assign[ind_uav] if uav_residual_rounds > 0: uav_tours = self.uavs_tours[ind_uav] for ind_tour in range(len(uav_tours)): tour = uav_tours[ind_tour] quality_tour = self.evaluate_tour(tour, uav_residual_rounds, visited_points) choice_dict[quality_tour] = (ind_uav, ind_tour) best_value = max(choice_dict, key=int) return choice_dict[best_value] def evaluate_tour(self, tour : Tour, round_count : int, visited_points : set): new_points = (set(tour.targets_indexes) - visited_points) return round_count * len(new_points) 如何改写上述程序,使其能返回所有已经探索过的目标点visited_points的数量,请用代码表示

2023-06-10 上传