为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 数据库类源码 正文

易语言编写学校智能排课系统源码

三叶资源网 2017-02-20 01:23:33 数据库类源码 865 ℃ 1 评论

易语言编写学校智能排课系统源码,本软件用于学校辅助排课,可以排总课程表和各班课程表。最后在桌面生成总课程表和各班课程表,文件格式为excel表格。

@郭新亮

.版本 2
.支持库 eExcel2000
.支持库 shell

.程序集 窗口程序集_启动窗口
.程序集变量 实有班级数, 整数型

.子程序 __启动窗口_创建完毕

.如果真 (取年份 (取现行时间 ()) > 16 × 126 + 1)
    信息框 (“您的使用权限已经到期。作者:郭新亮 联系电话:18738329645”, 0, , )
    结束 ()
.如果真结束

.如果真 (Excel程序1.创建 () = 假)
    信息框 (“您的EXCEL版本过高或没有安装office办公软件。作者:郭新亮 联系电话:18738329645”, 0, , )
    结束 ()
.如果真结束
Excel程序1.显示 = 真
Excel工作簿1.置程序 (Excel程序1)
Excel工作簿1.打开 (取运行目录 () + “分课表.xls”)
分解课程表到每节课 ()

.子程序 分解课程表到每节课
.局部变量 计数横, 整数型
.局部变量 计数纵, 整数型
.局部变量 课程节数, 文本型
.局部变量 授课教师, 文本型
.局部变量 课程, 文本型
.局部变量 班别, 文本型

Excel工作簿1.表格序号 = 1
Excel工作簿1.首单元格 = 字符 (66 + 计数横) + 到文本 (3 + 计数纵)
Excel工作簿1.尾单元格 = 字符 (66 + 计数横) + 到文本 (3 + 计数纵)
课程节数 = Excel工作簿1.内容
.判断循环首 (课程节数 ≠ “”)
    Excel工作簿1.首单元格 = 字符 (66 + 计数横) + 到文本 (3 + 计数纵)
    Excel工作簿1.尾单元格 = 字符 (66 + 计数横) + 到文本 (3 + 计数纵)
    课程节数 = Excel工作簿1.内容
    .如果真 (课程节数 = “”)
        跳出循环 ()
    .如果真结束
    Excel工作簿1.首单元格 = 字符 (67 + 计数横) + 到文本 (3 + 计数纵)
    Excel工作簿1.尾单元格 = 字符 (67 + 计数横) + 到文本 (3 + 计数纵)
    授课教师 = Excel工作簿1.内容

    Excel工作簿1.首单元格 = 字符 (67 + 计数横) + 到文本 (2)
    Excel工作簿1.尾单元格 = 字符 (67 + 计数横) + 到文本 (2)
    课程 = Excel工作簿1.内容

    Excel工作簿1.首单元格 = 字符 (65) + 到文本 (3 + 计数纵)
    Excel工作簿1.尾单元格 = 字符 (65) + 到文本 (3 + 计数纵)
    班别 = Excel工作簿1.内容

    .如果真 (授课教师 ≠ “”)
        .计次循环首 (到整数 (课程节数), )
            列表框1.加入项目 (班别 + “-” + 课程 + “-” + 授课教师, )
        .计次循环尾 ()
        实有班级数 = 计数纵 + 1
    .如果真结束

    计数纵 = 计数纵 + 1
    Excel工作簿1.首单元格 = 字符 (66 + 计数横) + 到文本 (3 + 计数纵)
    Excel工作簿1.尾单元格 = 字符 (66 + 计数横) + 到文本 (3 + 计数纵)
    .如果真 (Excel工作簿1.内容 = “”)
        计数纵 = 0
        计数横 = 计数横 + 2
    .如果真结束

.判断循环尾 ()
打乱顺序 (11)

.子程序 打乱顺序, , , 无问题
.参数 循环次数, 整数型
.局部变量 项目次序, 整数型

.计次循环首 (循环次数, )
    .变量循环首 (列表框1.取项目数 (), 1, -1, )
        置随机数种子 (取秒 (取现行时间 ()))
        项目次序 = 取随机数 (0, 列表框1.取项目数 () - 1)
        列表框2.加入项目 (列表框1.取项目文本 (项目次序), )
        列表框1.删除项目 (项目次序)
    .变量循环尾 ()
    .变量循环首 (列表框2.取项目数 (), 1, -1, )
        置随机数种子 (取秒 (取现行时间 ()))
        项目次序 = 取随机数 (0, 列表框2.取项目数 () - 1)
        列表框1.加入项目 (列表框2.取项目文本 (项目次序), )
        列表框2.删除项目 (项目次序)
    .变量循环尾 ()

.计次循环尾 ()

.子程序 _按钮开始排课_被单击
.局部变量 分课到何班, 整数型
.局部变量 综合信息, 文本型, , "0"
.局部变量 列表框行次, 整数型
.局部变量 检查分课表到何班, 整数型
.局部变量 不写, 逻辑型
.局部变量 周次, 整数型
.局部变量 节次, 整数型
.局部变量 单元格位置数据, 文本型

Excel工作簿1.表格序号 = 2
按钮开始排课.标题 = “正在排课···”
' 先写每天的第1节
.计次循环首 (5, 周次)
    .计次循环首 (实有班级数, 分课到何班)  ' 遍历每个班级
        Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
        Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
        .如果真 (“” ≠ Excel工作簿1.内容)
            到循环尾 ()
        .如果真结束

        .计次循环首 (列表框1.取项目数 (), 列表框行次)  ' 遍历列表框项目
            综合信息 = 分割文本 (列表框1.取项目文本 (列表框行次 - 1), “-”, )
            Excel工作簿1.首单元格 = “A” + 到文本 (分课到何班 + 2)
            Excel工作簿1.尾单元格 = “A” + 到文本 (分课到何班 + 2)
            .如果真 (Excel工作簿1.内容 = 综合信息 [1])  ' 判断班级
                .如果真 (综合信息 [2] = “数学” 或 综合信息 [2] = “语文”)  ' 写上午第一节课
                    Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 1)
                    Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 1)
                    .如果真 (综合信息 [2] ≠ 取文本左边 (Excel工作簿1.内容, 4))  ' 避免和同头班课程重复
                        Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                        Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                        Excel工作簿1.内容 = 综合信息 [2] + 综合信息 [3]
                        列表框1.删除项目 (列表框行次 - 1)
                        跳出循环 ()

                    .如果真结束

                .如果真结束

            .如果真结束

        .计次循环尾 ()
    .计次循环尾 ()

.计次循环尾 ()
' 再写每天的第2节
.计次循环首 (5, 周次)
    .计次循环首 (实有班级数, 分课到何班)  ' 遍历每个班级
        .如果 (周次 < 5)
            Excel工作簿1.首单元格 = 字符 (67 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
            Excel工作簿1.尾单元格 = 字符 (67 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
            .如果真 (Excel工作簿1.内容 ≠ “”)
                到循环尾 ()
            .如果真结束

        .否则
            Excel工作簿1.首单元格 = “AA” + 到文本 (分课到何班 + 2)
            Excel工作簿1.尾单元格 = “AA” + 到文本 (分课到何班 + 2)
            .如果真 (Excel工作簿1.内容 ≠ “”)
                到循环尾 ()
            .如果真结束

        .如果结束
        Excel工作簿1.首单元格 = “A” + 到文本 (分课到何班 + 2)
        Excel工作簿1.尾单元格 = “A” + 到文本 (分课到何班 + 2)

        .计次循环首 (列表框1.取项目数 (), 列表框行次)  ' 遍历列表框项目
            综合信息 = 分割文本 (列表框1.取项目文本 (列表框行次 - 1), “-”, )
            .如果真 (Excel工作簿1.内容 = 综合信息 [1])  ' 判断班级
                .如果真 (综合信息 [2] = “数学” 或 综合信息 [2] = “英语” 或 综合信息 [2] = “语文”)  ' 写每天的第2节
                    .如果 (周次 < 5)
                        Excel工作簿1.首单元格 = 字符 (67 + (周次 - 1) × 6) + 到文本 (分课到何班 + 1)
                        Excel工作簿1.尾单元格 = 字符 (67 + (周次 - 1) × 6) + 到文本 (分课到何班 + 1)
                        单元格位置数据 = Excel工作簿1.内容
                    .否则
                        Excel工作簿1.首单元格 = “AA” + 到文本 (分课到何班 + 1)
                        Excel工作簿1.尾单元格 = “AA” + 到文本 (分课到何班 + 1)
                        单元格位置数据 = Excel工作簿1.内容
                    .如果结束
                    .如果真 (综合信息 [2] ≠ 取文本左边 (单元格位置数据, 4))  ' 避免和同头班课程重复
                        Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                        Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                        .如果 (周次 < 5)
                            Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                            单元格位置数据 = Excel工作簿1.内容
                        .否则
                            Excel工作簿1.首单元格 = “Z” + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = “Z” + 到文本 (分课到何班 + 2)
                            单元格位置数据 = Excel工作簿1.内容
                        .如果结束

                        .如果真 (综合信息 [2] ≠ 取文本左边 (单元格位置数据, 4))  ' 避免同一个班课程重复
                            .如果 (67 + (周次 - 1) × 6 ≤ 取代码 (“Z”, ))
                                Excel工作簿1.首单元格 = 字符 (67 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = 字符 (67 + (周次 - 1) × 6) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.内容 = 综合信息 [2] + 综合信息 [3]
                                列表框1.删除项目 (列表框行次 - 1)
                                跳出循环 ()

                            .否则
                                Excel工作簿1.首单元格 = “A” + 字符 (65 + 节次) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = “A” + 字符 (65 + 节次) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.内容 = 综合信息 [2] + 综合信息 [3]
                                列表框1.删除项目 (列表框行次 - 1)
                                跳出循环 ()
                            .如果结束

                        .如果真结束

                    .如果真结束

                .如果真结束

            .如果真结束

        .计次循环尾 ()
    .计次循环尾 ()

.计次循环尾 ()
' 排音乐、美术、科学、体育
.计次循环首 (5, 节次)  ' 遍历每天课时节数
    .计次循环首 (5, 周次)  ' 遍历一周的天数
        .计次循环首 (实有班级数, 分课到何班)  ' 遍历全校班级的同一节课
            .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                .如果真 (Excel工作簿1.内容 ≠ “”)
                    到循环尾 ()
                .如果真结束

            .否则
                Excel工作簿1.首单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                Excel工作簿1.尾单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                .如果真 (Excel工作簿1.内容 ≠ “”)
                    到循环尾 ()
                .如果真结束

            .如果结束

            .变量循环首 (1, 列表框1.取项目数 (), 1, 列表框行次)
                综合信息 = 分割文本 (列表框1.取项目文本 (列表框行次 - 1), “-”, )
                .如果真 (综合信息 [2] = “科学” 或 综合信息 [2] = “音乐” 或 综合信息 [2] = “美术” 或 综合信息 [2] = “体育”)
                    Excel工作簿1.首单元格 = “A” + 到文本 (分课到何班 + 2)
                    Excel工作簿1.尾单元格 = “A” + 到文本 (分课到何班 + 2)
                    .如果真 (Excel工作簿1.内容 = 综合信息 [1])  ' 判断班级是否相同
                        不写 = 假
                        .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                            Excel工作簿1.首单元格 = 字符 (65 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = 字符 (65 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                            .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                跳出循环 ()
                            .如果真结束
                            Excel工作簿1.首单元格 = 字符 (64 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = 字符 (64 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                            .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                跳出循环 ()
                            .如果真结束

                        .否则
                            .如果真 (字符 (63 + 节次) = “C”)
                                Excel工作簿1.首单元格 = “AA” + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = “AA” + 到文本 (分课到何班 + 2)
                                .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                    跳出循环 ()
                                .如果真结束

                            .如果真结束
                            Excel工作簿1.首单元格 = “A” + 字符 (63 + 节次) + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = “A” + 字符 (63 + 节次) + 到文本 (分课到何班 + 2)
                            .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                跳出循环 ()
                            .如果真结束
                            Excel工作簿1.首单元格 = “A” + 字符 (62 + 节次) + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = “A” + 字符 (62 + 节次) + 到文本 (分课到何班 + 2)
                            .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                跳出循环 ()
                            .如果真结束

                        .如果结束



                        .如果真 (分课到何班 ≠ 1)
                            .计次循环首 (分课到何班 - 1, 检查分课表到何班)
                                .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                                    Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (检查分课表到何班 + 2)
                                    Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (检查分课表到何班 + 2)
                                    .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个专用教室上课
                                        不写 = 真
                                        跳出循环 ()
                                    .如果真结束


                                .否则
                                    Excel工作簿1.首单元格 = “A” + 字符 (64 + 节次) + 到文本 (检查分课表到何班 + 2)
                                    Excel工作簿1.尾单元格 = “A” + 字符 (64 + 节次) + 到文本 (检查分课表到何班 + 2)
                                    .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个专用教室上课
                                        不写 = 真
                                        跳出循环 ()
                                    .如果真结束


                                .如果结束

                            .计次循环尾 ()

                        .如果真结束

                        .如果真 (不写 = 假)  ' 填表分课
                            .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                                Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                                .如果真 (Excel工作簿1.内容 = “”)
                                    Excel工作簿1.内容 = 综合信息 [2] + 综合信息 [3]
                                    列表框1.删除项目 (列表框行次 - 1)
                                    跳出循环 ()
                                .如果真结束

                            .否则
                                Excel工作簿1.首单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                                .如果真 (Excel工作簿1.内容 = “”)
                                    Excel工作簿1.内容 = 综合信息 [2] + 综合信息 [3]
                                    列表框1.删除项目 (列表框行次 - 1)
                                    跳出循环 ()

                                .如果真结束

                            .如果结束

                        .如果真结束

                    .如果真结束


                .如果真结束

            .变量循环尾 ()






        .计次循环尾 ()
    .计次循环尾 ()
.计次循环尾 ()


' 写每天其余5节课
.计次循环首 (5, 节次)  ' 遍历每天课时节数
    .计次循环首 (5, 周次)  ' 遍历一周的天数
        .计次循环首 (实有班级数, 分课到何班)  ' 遍历全校班级的同一节课
            .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                .如果真 (Excel工作簿1.内容 ≠ “”)
                    到循环尾 ()
                .如果真结束

            .否则
                Excel工作簿1.首单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                Excel工作簿1.尾单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                .如果真 (Excel工作簿1.内容 ≠ “”)
                    到循环尾 ()
                .如果真结束

            .如果结束

            .变量循环首 (1, 列表框1.取项目数 (), 1, 列表框行次)
                综合信息 = 分割文本 (列表框1.取项目文本 (列表框行次 - 1), “-”, )
                Excel工作簿1.首单元格 = “A” + 到文本 (分课到何班 + 2)
                Excel工作簿1.尾单元格 = “A” + 到文本 (分课到何班 + 2)
                .如果真 (Excel工作簿1.内容 = 综合信息 [1])  ' 判断班级是否相同
                    不写 = 假
                    .如果真 (综合信息 [2] = “科学” 或 综合信息 [2] = “信息” 或 综合信息 [2] = “音乐” 或 综合信息 [2] = “美术” 或 综合信息 [2] = “品德”)  ' 处理副课
                        .' 如果真 (节次 ≠ 3)
                            .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                                Excel工作簿1.首单元格 = 字符 (65 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = 字符 (65 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                                .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                    跳出循环 ()
                                .如果真结束
                                Excel工作簿1.首单元格 = 字符 (64 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = 字符 (64 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                                .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                    跳出循环 ()
                                .如果真结束

                            .否则
                                Excel工作簿1.首单元格 = “A” + 字符 (63 + 节次) + 到文本 (分课到何班 + 2)
                                Excel工作簿1.尾单元格 = “A” + 字符 (63 + 节次) + 到文本 (分课到何班 + 2)
                                .如果真 (取文本左边 (Excel工作簿1.内容, 4) = 综合信息 [2])  ' 排除同一个班同一门副课连上
                                    跳出循环 ()
                                .如果真结束

                            .如果结束

                        .如果真结束

                    .如果真结束

                    .如果真 (分课到何班 ≠ 1)
                        .计次循环首 (分课到何班 - 1, 检查分课表到何班)
                            .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                                Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (检查分课表到何班 + 2)
                                Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (检查分课表到何班 + 2)
                                .如果真 (取文本右边 (Excel工作簿1.内容, 取文本长度 (Excel工作簿1.内容) - 4) = 综合信息 [3])  ' 先排除同一个人同时上两个班的情况
                                    不写 = 真
                                    跳出循环 ()
                                .如果真结束

                            .否则
                                Excel工作簿1.首单元格 = “A” + 字符 (64 + 节次) + 到文本 (检查分课表到何班 + 2)
                                Excel工作簿1.尾单元格 = “A” + 字符 (64 + 节次) + 到文本 (检查分课表到何班 + 2)
                                .如果真 (取文本右边 (Excel工作簿1.内容, 取文本长度 (Excel工作簿1.内容) - 4) = 综合信息 [3])  ' 先排除同一个人同时上两个班的情况
                                    不写 = 真
                                    跳出循环 ()
                                .如果真结束

                            .如果结束

                        .计次循环尾 ()

                    .如果真结束

                    .如果真 (不写 = 假)  ' 填表分课
                        .如果 (66 + (周次 - 1) × 6 + 节次 ≤ 取代码 (“Z”, ))
                            Excel工作簿1.首单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = 字符 (66 + (周次 - 1) × 6 + 节次) + 到文本 (分课到何班 + 2)
                            .如果真 (Excel工作簿1.内容 = “”)
                                Excel工作簿1.内容 = 综合信息 [2] + 综合信息 [3]
                                列表框1.删除项目 (列表框行次 - 1)
                                跳出循环 ()
                            .如果真结束

                        .否则
                            Excel工作簿1.首单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                            Excel工作簿1.尾单元格 = “A” + 字符 (64 + 节次) + 到文本 (分课到何班 + 2)
                            .如果真 (Excel工作簿1.内容 = “”)
                                Excel工作簿1.内容 = 综合信息 [2] + 综合信息 [3]
                                列表框1.删除项目 (列表框行次 - 1)
                                跳出循环 ()

                            .如果真结束

                        .如果结束

                    .如果真结束


                .如果真结束

            .变量循环尾 ()
        .计次循环尾 ()
    .计次循环尾 ()
.计次循环尾 ()
按钮开始排课.标题 = “再 次 排 课”

.子程序 __启动窗口_将被销毁

Excel工作簿1.保存 (取特定目录 (3) + “分课表.xls”)
Excel工作簿1.关闭 ()
Excel工作簿1.释放 ()
Excel程序1.退出 ()
Excel程序1.释放 ()


.子程序 _按钮去掉姓名_被单击
.局部变量 课节计次, 整数型
.局部变量 班级计次, 整数型

Excel工作簿1.表格序号 = 2
.计次循环首 (30, 课节计次)
    .计次循环首 (实有班级数, 班级计次)
        .如果 (65 + 课节计次 ≤ 取代码 (“Z”, ))
            Excel工作簿1.首单元格 = 字符 (65 + 课节计次) + 到文本 (2 + 班级计次)
            Excel工作簿1.尾单元格 = 字符 (65 + 课节计次) + 到文本 (2 + 班级计次)
            Excel工作簿1.内容 = 取文本左边 (Excel工作簿1.内容, 4)

        .否则
            Excel工作簿1.首单元格 = “A” + 字符 (39 + 课节计次) + 到文本 (2 + 班级计次)
            Excel工作簿1.尾单元格 = “A” + 字符 (39 + 课节计次) + 到文本 (2 + 班级计次)
            Excel工作簿1.内容 = 取文本左边 (Excel工作簿1.内容, 4)
        .如果结束

    .计次循环尾 ()
.计次循环尾 ()

.子程序 _按钮生成各班课程表_被单击
.局部变量 计次, 整数型
.局部变量 班级顺序, 整数型
.局部变量 节次, 整数型
.局部变量 星期几, 整数型

列表框1.清空 ()
按钮去掉姓名.可视 = 假
按钮开始排课.可视 = 假
按钮重新开始分课.可视 = 假
按钮打乱顺序.可视 = 假
Excel工作簿1.表格序号 = 2
.计次循环首 (实有班级数, 班级顺序)
    .计次循环首 (31, 计次)
        .如果 (64 + 计次 ≤ 取代码 (“Z”, ))
            Excel工作簿1.首单元格 = 字符 (64 + 计次) + 到文本 (班级顺序 + 2)
            Excel工作簿1.尾单元格 = 字符 (64 + 计次) + 到文本 (班级顺序 + 2)
            列表框1.加入项目 (Excel工作簿1.内容, (班级顺序 - 1) × 30 + 计次)
        .否则
            Excel工作簿1.首单元格 = “A” + 字符 (38 + 计次) + 到文本 (班级顺序 + 2)
            Excel工作簿1.尾单元格 = “A” + 字符 (38 + 计次) + 到文本 (班级顺序 + 2)
            列表框1.加入项目 (Excel工作簿1.内容, (班级顺序 - 1) × 30 + 计次)
        .如果结束

    .计次循环尾 ()
.计次循环尾 ()
Excel工作簿1.保存 (取特定目录 (3) + “分课表.xls”)
Excel工作簿1.关闭 ()
Excel工作簿1.打开 (取运行目录 () + “各班课程表.xls”)
Excel工作簿1.表格序号 = 1

.计次循环首 (实有班级数, 班级顺序)
    Excel工作簿1.首单元格 = “B3”
    Excel工作簿1.尾单元格 = “B3”
    Excel工作簿1.内容 = 列表框1.取项目文本 (0) + “班”
    Excel工作簿1.首单元格 = “F3”
    Excel工作簿1.尾单元格 = “F3”
    Excel工作簿1.内容 = 到文本 (取年份 (取现行时间 ())) + “年” + 到文本 (取月份 (取现行时间 ())) + “月”


    .计次循环首 (5, 星期几)
        .计次循环首 (6, 节次)
            Excel工作簿1.首单元格 = 字符 (65 + 节次) + 到文本 (6 + 星期几)
            Excel工作簿1.尾单元格 = 字符 (65 + 节次) + 到文本 (6 + 星期几)
            Excel工作簿1.内容 = 列表框1.取项目文本 ((星期几 - 1) × 6 + 节次)

        .计次循环尾 ()
    .计次循环尾 ()
    Excel工作簿1.保存 (取特定目录 (3) + 列表框1.取项目文本 (0) + “班课程表.xls”)
    .变量循环首 (31, 1, -1, 计次)
        列表框1.删除项目 (计次 - 1)
    .变量循环尾 ()
.计次循环尾 ()
Excel工作簿1.关闭 ()
Excel工作簿1.释放 ()
Excel程序1.退出 ()
Excel程序1.释放 ()
信息框 (“已经分好,各班课程表已经保存在桌面。谢谢使用!”, 0, , )
结束 ()

.子程序 _按钮打乱顺序_被单击

打乱顺序 (7)

.子程序 _按钮重新开始分课_被单击

列表框1.清空 ()
分解课程表到每节课 ()

易语言编写学校智能排课系统源码

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有1位网友发表了看法:

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
扫码枪朗读获取控制台应用返回值鱼刺类折线图源码多线程安全Hook字符串加密服务器组件POST登陆财付通B站弹幕助手源码新浪微博Web协议MTP发信模块源码百度语音微信公众号火山安卓TCP通信透明风格水印自动下载新浪博客jar打包
最新评论