开源不会打字也可排课表
功能说明:该程序是一个基于易语言开发的学校课程表管理系统。程序主要依赖于 eDB 数据库支持库和 eGrid 表格支持库,旨在实现课程表的数据库存储、初始化以及界面展示功能。
程序的核心功能体现在以下几个子程序及逻辑块中:
1. **初始化与数据库检查(__启动窗口_创建完毕)**:
程序启动时,首先初始化一个包含 7 个元素的数组“表组”,分别命名为"kcb1"到"kcb7",这对应于一周七天的课程表结构。接着,程序检查当前目录下是否存在"data"文件夹以及"test.mdb"数据库文件。如果不存在,则调用创建子程序进行初始化。数据库连接成功后,程序会自动载入“班级数设置_窗口”,以便用户进行后续配置。
2. **数据库与表结构创建(子程序_创建)**:
该子程序负责底层的数据库构建。如果检测到数据库文件缺失,它会使用 ADOX.Catalog 对象创建一个带有密码(admin)的 Access 数据库文件。随后,程序通过 SQL 语句创建了一系列数据表:
* **课程表(kcb1-kcb7)**:共 7 张表,代表周一到周日的课程安排。每张表包含班级(bj)和 10 个节课字段(kc1-kc10)。
* **时间表(sjb)**:用于存储具体的上课时间段信息。
* **班级科目表(djb)**:存储班级与科目的对应关系。
* **科目表(kmb)**:存储科目基本信息。
创建完成后,程序会关闭并重新连接数据库,确保环境就绪。
3. **界面表格设置(置表头)**:
此子程序主要负责“高级表格 1"控件的布局与数据填充,用于可视化展示课程表。
* **表头布局**:设置了星期、班别、时间等列。通过合并单元格的方式,将时间划分为“早读”、“上午”、“下午”、“晚上”以及“自习”等大板块,符合学校作息习惯。
* **数据加载**:程序从数据库的"sjb"表中读取具体时间信息填入表格底部行,从动态指定的课程表表中读取班级信息。
* **格式调整**:设置了列宽、对齐方式(居中),并将数字行号转换为中文大写(如一、二...),增强了界面的可读性。
综上所述,该程序是一个典型的课程表管理工具的后端逻辑与界面初始化部分。它自动化处理了数据库的建立与维护,并通过复杂的表格控件配置,实现了课程表的标准化展示。程序结构清晰,涵盖了从文件检查、数据库创建、表结构定义到界面数据绑定的完整流程,适用于学校教务管理或班级课程安排场景。
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 子程序_创建
| |
| |------ 置表头
| |
| |------ _高级表格1_将被编辑
| |
| |------ _高级表格1_结束编辑
| |
| |------ _工具条1_被单击
| |
| |------ _打印预览_被选择
| |
| |------ _数据备份_被选择
| |
| |------ _数据恢复_被选择
| |
| |------ 连接数据库
| |
| |------ _按钮课程检查_被单击
| |
| |------ _系统设置_被选择
| |
| |
======窗口程序集2
| |
| |------ _班级数设置_窗口_创建完毕
| |
| |------ _保存设置按钮_被单击
| |
| |------ 子程序_保存班级数量
| |
| |------ 子程序_保存上课时间
| |
| |------ 子程序_科目设置保存
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。