开源动态删减卷帘菜单项目并保存到数据库源码
功能说明:该程序是一个基于易语言开发的桌面应用程序,主要用于管理和维护层级化的菜单与项目数据。程序核心界面采用“卷帘式菜单”控件,实现了类似资源管理器或启动器的分类管理功能,适用于需要对本地下拉菜单式结构进行增删改查的场景。
1. **程序启动与初始化**
程序在窗口创建完毕时(`__启动窗口_创建完毕`)执行初始化流程。首先,程序读取运行目录下的“图标.eil"文件至字节集变量,并将该图标组绑定到“卷帘式菜单 1"控件,用于在界面中显示菜单和项目的图标。随后,程序读取“窗口配置文件.ini",根据配置恢复组合框的选中项(排列方式),确保用户界面状态得以保留。初始化最后调用“数据绑定”子程序,加载核心数据。
2. **数据存储结构**
程序依赖两个主要的数据库文件存储在运行目录下,采用易语言数据库(.edb)格式:
- **菜单.edb**:用于存储主菜单分类名称。这是层级结构的第一层。
- **项目.edb**:用于存储具体的项目名称。每个项目记录包含“项目名称”、“菜单索引”(归属哪个菜单)和“图片索引”。
这种结构实现了“菜单 - 项目”的一对多层级关系,数据持久化存储在本地文件中。
3. **核心功能模块**
程序的功能主要通过一系列以`.子程序` 定义的事件处理函数实现,涵盖了数据的 CRUD(创建、读取、更新、删除)操作:
- **数据绑定与显示**:`数据绑定` 子程序负责打开上述两个数据库,遍历所有记录。它先将“菜单.edb"中的菜单名称加载到卷帘式菜单,再将“项目.edb"中的项目根据菜单索引关联到对应菜单下,确保界面显示与数据库内容同步。
- **菜单管理**:
- **添加菜单**(`_加入菜单_被单击`):通过输入框获取用户输入的菜单名,验证非空后写入“菜单.edb"数据库,并实时更新界面显示。
- **删除菜单**(`_删除菜单_被单击`):具有级联删除功能。在删除 selected 菜单前,程序会先查找并删除“项目.edb"中属于该菜单的所有子项目,确保数据一致性,然后删除菜单记录并更新界面。
- **修改菜单**(`_修改菜单名_被单击`):允许用户修改当前选中菜单的名称,同步更新数据库记录和界面显示。
- **项目管理**:
- **添加项目**(`_添加项目_被单击`):在当前选中的菜单下添加新项目,输入项目名称后写入“项目.edb",自动关联当前菜单索引。
- **删除项目**(`_删除项目_被单击`):用于删除当前选中的项目记录,释放数据库资源。
4. **配置与资源管理**
程序支持通过“窗口配置文件.ini"保存界面状态(如排列方式)。图标资源独立存储在“图标.eil"文件中,程序启动时读取并应用到界面控件,实现了界面资源与逻辑数据的分离。此外,程序使用了 iext 系列支持库,表明其界面控件具有扩展功能。
5. **错误处理与稳定性**
程序在数据库操作(打开、读取、写入、关闭)过程中包含了基本的错误判断。如果数据库无法打开或操作失败,会通过信息框提示错误信息(如“无法打开 (菜单.edb) 数据库”),并在操作完成后执行 `全部关闭` 子程序释放数据库连接,防止资源泄露。
综上所述,该程序是一个典型的本地数据库管理工具,通过卷帘式菜单界面直观地管理分类数据,具备完整的增删改查功能及配置保存能力。
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 数据绑定
| |
| |------ _加入菜单_被单击
| |
| |------ _删除菜单_被单击
| |
| |------ _修改菜单名_被单击
| |
| |------ _添加项目_被单击
| |
| |------ _删除项目_被单击
| |
| |------ _修改项目名_被单击
| |
| |------ 显示项目图片
| |
| |------ _修改图标_被单击
| |
| |------ _超级列表框1_左键单击表项
| |
| |------ _添加图片_被单击
| |
| |------ _删除图片_被单击
| |
| |------ _组合框1_列表项被选择
| |
| |------ __启动窗口_将被销毁
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。