E语言软件开发全流程解析

E语言软件开发详解

E语言软件核心架构

E语言软件主要由3个核心部分组成,构成完整的应用程序框架:

软件界面:即用户看到的可视化界面

包含按钮、文本框、列表框等标准控件

  • 按钮:用于触发操作,如"确定"、"取消"等
    • 支持设置快捷键(如Alt+O对应确定按钮)
    • 可配置默认按钮(按Enter键自动触发)
    • 支持禁用状态(灰色显示不可点击)
  • 文本框:用于输入和显示文本内容
    • 单行文本框:用于简短输入
    • 多行文本框:带滚动条,支持大量文本
    • 密码文本框:显示为星号保护隐私
  • 列表框:用于显示项目列表,支持单选或多选
    • 可设置列宽和排序方式
    • 支持图标和复选框
    • 提供搜索筛选功能

支持窗口、菜单、工具栏等界面元素

  • 窗口:应用程序主容器,可设置标题、大小等属性
    • 支持模态和非模态窗口
    • 可设置窗口图标和边框样式
    • 提供最大化/最小化/关闭按钮控制
  • 菜单:提供下拉式命令选项
    • 支持多级嵌套菜单
    • 可设置快捷键和图标
    • 支持右键上下文菜单
  • 工具栏:常用功能的快捷按钮集合
    • 按钮可分组显示
    • 支持浮动和停靠
    • 可显示工具提示文本

采用所见即所得(WYSIWYG)的设计方式

  • 设计时界面与实际运行界面高度一致
    • 控件位置和外观实时同步
    • 支持运行时动态布局调整
    • 自动适应不同DPI设置
  • 支持实时预览界面效果
    • 可切换不同主题皮肤预览
    • 支持高对比度模式检查
    • 提供辅助功能检查工具
  • 支持控件拖拽和属性即时修改
    • 拖拽时有对齐辅助线
    • 属性修改即时反馈到界面
    • 支持批量修改多个控件属性

代码:实现程序功能的脚本语言

基于类Basic语法

  • 使用中文关键字,如"如果"、"循环"等
    • "如果...则...否则"实现条件分支
    • "判断...分支"实现多条件选择
    • "计次循环"和"判断循环"两种循环结构
  • 支持变量声明和赋值操作
    • 变量类型自动推断
    • 支持常量定义
    • 提供局部和全局变量作用域
  • 包含条件判断和循环结构
    • 支持嵌套条件语句
    • 提供循环控制语句(如"跳出循环")
    • 可设置循环步长和终止条件

支持结构化编程

  • 可定义子程序和函数
    • 支持参数传递(值传递和参考传递)
    • 可设置默认参数值
    • 支持函数重载
  • 支持模块化开发
    • 可将功能拆分为独立模块
    • 支持动态链接库调用
    • 提供工程依赖管理
  • 提供代码注释功能
    • 单行注释以单引号开始
    • 支持多行注释块
    • 可生成API文档注释

包含丰富的内置函数库

  • 字符串处理函数:如"取文本左边"、"寻找文本"等
    • 支持Unicode字符处理
    • 提供正则表达式匹配
    • 包含编码转换功能
  • 数学运算函数:如"取绝对值"、"四舍五入"等
    • 支持高精度计算
    • 提供随机数生成
    • 包含三角函数和统计函数
  • 文件操作函数:如"打开文件"、"读入文本"等
    • 支持文本和二进制文件
    • 提供文件属性和权限管理
    • 包含目录操作功能
  • 系统API封装:如"取系统时间"、"运行程序"等
    • 封装Windows API调用
    • 提供进程和线程管理
    • 支持注册表操作

动作监视器:用于监听和响应界面操作事件的机制

事件驱动编程模型

  • 程序执行流程由用户操作决定
    • 初始显示界面后等待事件
    • 事件触发对应处理函数
    • 处理完成后返回事件循环
  • 每个界面元素可以关联多个事件
    • 如按钮可响应点击、鼠标悬停等
    • 文本框可响应内容改变、焦点变化等
    • 窗口可响应创建、关闭、大小改变等
  • 事件发生时自动调用对应处理函数
    • 事件参数包含详细信息
    • 可获取触发组件引用
    • 支持事件冒泡和捕获

自动生成事件处理函数框架

  • 双击控件自动创建默认事件处理函数
    • 按钮自动生成点击事件
    • 文本框自动生成内容改变事件
    • 窗口自动生成创建完毕事件
  • 函数命名遵循"_控件名_事件名"格式
    • 如"_按钮1_被单击"
    • "_编辑框1_内容被改变"
    • "_窗口1_创建完毕"
  • 包含基本注释说明
    • 自动生成函数用途说明
    • 提示参数含义
    • 标记代码插入位置

支持多种事件类型(鼠标、键盘、焦点等)

  • 鼠标事件:单击、双击、移动等
    • 可获取鼠标坐标
    • 支持区分左右键
    • 提供滚轮事件
  • 键盘事件:按键按下、释放等
    • 可获取键码和组合键
    • 支持快捷键处理
    • 提供输入法状态
  • 焦点事件:获得焦点、失去焦点等
    • 可验证输入内容
    • 支持自动选择文本
    • 提供焦点切换控制
  • 定时器事件:定时触发
    • 可设置间隔时间
    • 支持多定时器
    • 提供高精度计时

创建点击按钮弹出提示程序

一、界面设计阶段

项目创建

  1. 打开E语言开发环境(如:易语言IDE)
    • 启动后显示欢迎界面
      • 显示最近项目列表
      • 提供新建项目选项
      • 包含示例项目链接
    • 可查看最近项目或创建新项目
      • 支持按名称搜索项目
      • 可固定常用项目
      • 提供项目统计信息
  2. 选择"文件"→"新建"→"Windows窗口程序"
    • 也可使用快捷键Ctrl+N
      • 快速创建新项目
      • 支持自定义快捷键
    • 选择"Windows窗口程序"模板
      • 自动包含基本窗口框架
      • 预置常用组件引用
      • 包含示例代码注释

系统自动创建默认窗口"窗口1"

  • 默认大小为400×300像素
    • 可拖动边缘调整大小
    • 支持最大化显示
    • 可设置最小尺寸限制
  • 包含最小化、最大化和关闭按钮
    • 可单独控制按钮可见性
    • 支持自定义按钮行为
    • 可添加额外控制按钮
  • 标题默认为"窗口1"
    • 可在属性中修改
    • 支持动态修改标题
    • 可添加图标到标题栏

添加按钮控件

  1. 从左侧工具箱的"基本组件"分组中
    • 工具箱按功能分组:基本组件、扩展组件等
      • 基本组件:按钮、文本框等
      • 扩展组件:树形视图、进度条等
      • 容器组件:分组框、选项卡等
    • 支持搜索快速定位控件
      • 输入控件名称筛选
      • 支持拼音首字母搜索
      • 可收藏常用控件
  2. 找到并拖拽"按钮"控件到主窗口
    • 鼠标左键按住按钮图标拖到窗口
      • 拖动时显示虚线框
      • 释放位置即为控件位置
      • 自动对齐到网格线
    • 释放鼠标完成添加
      • 自动生成默认名称
      • 应用默认样式
      • 选中新添加的控件

设置按钮属性

  1. 在属性面板中找到"标题"属性,修改为"点击我"
    • 属性面板通常位于IDE右侧
      • 可停靠到任意位置
      • 支持展开/折叠分组
      • 提供属性说明提示
    • 支持按名称搜索属性
      • 输入属性名快速定位
      • 支持模糊匹配
      • 记录常用属性
  2. 调整"左边"、"顶边"、"宽度"、"高度"属性确定位置和大小
    • 左边:控件距窗口左边缘距离
      • 可输入精确像素值
      • 支持百分比定位
    • 顶边:控件距窗口上边缘距离
      • 相对父容器顶部
      • 支持动态调整
    • 也可通过鼠标直接拖动调整位置
      • 拖动时显示坐标信息
      • 支持Shift键限制方向
      • 可开启对齐辅助线
  3. 可选设置:
    • "字体":修改显示文字的字体样式
      • 支持系统所有字体
      • 可设置粗体/斜体
      • 调整字符间距
    • "背景颜色":设置按钮背景色
      • 支持十六进制颜色码
      • 提供常用颜色预设
      • 可保存自定义颜色
    • "文本颜色":设置文字颜色
      • 与背景色形成对比确保可读性
      • 支持渐变文字效果
      • 可随状态自动变化
    • "是否可视":控制初始显示状态
      • 设为假时程序启动时不可见
      • 可在代码中动态修改
      • 支持淡入淡出效果

二、事件监视设置

添加事件监听方式

方法一:双击按钮控件

  1. 自动生成点击事件代码框架
    • 默认生成"_按钮1_被单击"子程序
      • 包含标准函数声明
      • 预置参数说明注释
      • 标记TODO位置
  2. 跳转到代码编辑界面
    • 光标自动定位到生成的事件函数
      • 插入点位于注释下方
      • 自动缩进对齐
      • 语法高亮显示
    • 可立即开始编写处理代码
      • 提供代码补全提示
      • 显示相关函数说明
      • 支持模板代码插入

方法二:右键菜单方式

  1. 右键点击按钮→选择"事件处理"
    • 弹出事件处理菜单
      • 分类显示可用事件
      • 标记常用事件
      • 显示快捷键提示
  2. 在弹出菜单中选择"被单击"事件
    • 与双击效果相同
      • 生成相同函数框架
      • 跳转到代码视图
    • 适用于需要添加多个事件的情况
      • 可一次添加多个事件
      • 支持批量事件处理
      • 方便管理复杂交互

事件分类说明

常用事件(横线上方):

  • 按钮组件:
    • 被单击:鼠标左键单击时触发
      • 最常用的事件类型
      • 支持防重复点击
      • 可取消默认行为
    • 被双击:鼠标快速双击时触发
      • 需要快速连续点击两次
      • 可设置间隔时间阈值
      • 通常用于特殊操作
  • 编辑框组件:
    • 内容被改变:文本内容发生变化时触发
      • 包括用户输入和代码修改
      • 可获取修改前后值
      • 支持延迟触发

不常用事件(横线下方):

  • 窗口事件:
    • 创建完毕:窗口初始化完成时触发
      • 适合放置初始化代码
      • 可进行最后配置
      • 确保资源已加载
    • 将被销毁:窗口关闭前触发
      • 适合放置清理代码
      • 可取消关闭操作
      • 保存未提交数据
  • 组件事件:
    • 获得焦点:组件获得输入焦点时
      • 如通过Tab键切换或鼠标点击
      • 可高亮显示当前控件
      • 自动弹出输入法
    • 失去焦点:组件失去输入焦点时
      • 可进行输入验证等操作
      • 保存编辑内容
      • 恢复默认显示状态

三、代码编写阶段

事件处理函数框架

复制代码
子程序 _按钮1_被单击()
    ' 在此处添加处理代码
    ' 这里可以写注释说明代码功能
结束 子程序
  • 函数命名规则:_组件名_事件名
    • 前缀下划线表示自动生成
      • 避免与自定义函数冲突
      • 标识系统维护代码
    • 组件名与属性面板中的名称一致
      • 修改组件名自动更新函数名
      • 支持重构重命名
    • 事件名使用中文描述
      • 直观反映触发条件
      • 统一命名规范
  • 自动生成的注释提示代码插入位置
    • 提示开发者在此处添加功能代码
      • 标记功能实现区域
      • 分离声明和实现
    • 建议保留这些注释便于维护
      • 作为文档的一部分
      • 帮助理解代码意图

添加功能代码

复制代码
子程序 _按钮1_被单击()
    信息框("你好,这是一个提示!", 0, , )
    ' 参数1:提示内容,支持多行文本
    ' 参数2:按钮类型,0=确定按钮
    ' 参数3:窗口标题,省略使用默认
    ' 参数4:父窗口句柄,省略为当前窗口
结束 子程序
  • 使用"信息框"函数显示提示
    • 内置的对话框函数
      • 封装标准消息框
      • 支持国际化显示
      • 自动适应系统主题
    • 会暂停程序执行直到用户响应
      • 模态对话框特性
      • 确保关键确认
      • 阻止后台操作
  • 参数说明:
    • 第一个参数:提示内容
      • 可以是字符串常量或变量
        • 支持转义字符如\n换行
        • 允许格式化字符串
      • 支持多行文本显示
        • 自动换行处理
        • 可设置最大宽度
    • 第二个参数:按钮类型(0表示确定按钮)
      • 1=确定和取消
        • 返回不同选择结果
        • 支持默认按钮设置
      • 2=中止、重试和忽略
        • 用于错误处理场景
        • 提供详细选项
      • 3=是、否和取消
        • 复杂确认场景
        • 支持记忆选择
    • 第三、四个参数:标题和父窗口,可省略
      • 标题默认为"提示"
        • 可自定义应用名称
        • 支持动态标题
      • 父窗口默认为当前活动窗口
        • 确保正确模态关系
        • 自动居中显示

代码增强示例

复制代码
子程序 _按钮1_被单击()
    变量 点击次数 为 整数型  ' 声明计数器变量
    静态 首次运行 为 逻辑型  ' 静态变量保持值不变
    
    如果 首次运行 = 假 则
        点击次数 = 0
        首次运行 = 真
    结束 如果
    
    点击次数 = 点击次数 + 1  ' 每次点击加1
    
    变量 提示内容 为 文本型
    提示内容 = "这是第" + 到文本(点击次数) + "次点击!"
    
    信息框(提示内容, 0, "提示", )
    ' 使用变量构建动态提示
    ' 到文本()函数将数字转为字符串
结束 子程序
  • 添加计数器功能
    • 使用变量记录点击次数
      • 整数型变量存储计数
      • 每次点击时递增
      • 确保正确初始化
    • 显示动态提示内容
      • 使用字符串拼接构建提示
        • "+"运算符连接字符串
        • 自动处理类型转换
      • 数值需要转换为文本
        • 到文本()函数处理
        • 支持格式化输出
  • 改进点:
    • 添加静态变量确保计数器初始化
      • 静态变量保持值不变
      • 只在首次运行时初始化
      • 避免全局变量污染
    • 使用中间变量提高可读性
      • 分离数据处理和显示
      • 方便调试检查
      • 支持更复杂逻辑
    • 添加详细注释说明
      • 解释关键算法
      • 标记重要变量
      • 提供使用示例

四、程序测试

启动测试

  1. 点击工具栏中的"运行"按钮(绿色三角形图标)
    • 最常用的启动方式
      • 一键编译运行
      • 显示进度状态
    • 会先自动保存修改
      • 提示未保存更改
      • 可配置自动保存
  2. 或使用快捷键F5
    • 快速启动调试
      • 等同于工具栏按钮
      • 支持断点调试
  3. 或选择菜单"运行"→"运行"
    • 包含更多运行选项
      • 带参数运行
      • 启动外部程序
      • 性能分析模式

测试流程

  1. 检查程序窗口是否正常显示
    • 窗口大小和位置是否正确
      • 符合设计预期
      • 适应不同分辨率
    • 标题是否符合预期
      • 显示正确文本
      • 支持动态更新
  2. 验证按钮位置、大小和文字是否正确
    • 视觉检查外观
      • 无截断文字
      • 颜色对比适当
    • 确保文本完整显示
      • 适应不同DPI
      • 支持多语言
  3. 点击按钮验证:
    • 是否弹出提示框
      • 响应时间合理
      • 显示位置正确
    • 对话框显示位置是否合理
      • 通常居中显示
      • 避免被遮挡
    • 提示内容是否符合预期
      • 文本内容正确
      • 格式符合设计
    • 关闭提示框后程序是否继续响应
      • 焦点正确返回
      • 可重复操作

调试技巧

  1. 使用"调试输出"函数输出中间结果
    • 输出到调试窗口
      • 不干扰界面
      • 支持多线程
    • 不影响界面显示
      • 后台记录日志
      • 可保存到文件
  2. 设置断点跟踪程序执行
    • 在代码行前点击设置断点
      • 显示为红色标记
      • 支持条件断点
    • 运行到断点处暂停
      • 检查调用堆栈
      • 查看变量状态
  3. 在调试模式下查看变量
    • 监控重要变量变化
      • 实时显示值
      • 支持修改变量
    • 支持表达式求值
      • 即时计算
      • 监视复杂条件

五、界面与代码切换技巧

视图切换方式

  1. 点击顶部选项卡:
    • "窗口设计":返回界面设计视图
      • 显示可视化设计界面
      • 可继续添加或修改控件
    • "代码编辑":进入代码编辑界面
      • 显示完整源代码
      • 可编写和修改代码
  2. 快捷键:Ctrl+Tab在两个视图间快速切换
    • 提高开发效率
      • 减少鼠标操作
      • 快速对比效果
    • 支持多次按切换
      • 循环切换视图
      • 记忆最后位置

恢复代码窗口

  1. 方法一:通过菜单栏
    • "视图"→"代码编辑"
      • 适合菜单操作习惯的用户
      • 支持自定义菜单
  2. 方法二:工程管理器操作
    • 右键工程管理器中的窗口项
      • 显示上下文菜单
      • 包含常用操作
    • 选择"编辑代码"
      • 精确导航到目标
      • 支持批量操作
  3. 方法三:组件双击
    • 双击界面组件自动跳转到对应事件代码
      • 最快捷的导航方式
      • 智能识别关联代码
    • 若无事件代码则创建新的事件处理函数
      • 自动生成框架
      • 确保命名规范

导航技巧

  1. 使用"转到定义"功能快速定位组件
    • 右键组件选择"转到定义"
      • 显示所有引用点
      • 支持反向查找
    • 或使用快捷键Ctrl+G
      • 快速跳转
      • 支持模糊匹配
  2. 通过代码大纲视图浏览程序结构
    • 显示所有子程序和函数列表
      • 按名称排序
      • 支持分组显示
    • 点击快速跳转
      • 定位到具体实现
      • 显示相关注释
  3. 使用书签标记重要代码位置
    • 添加/移除书签:Ctrl+F2
      • 在行首显示标记
      • 支持命名书签
    • 跳转到上一个/下一个书签:F2/Shift+F2
      • 循环浏览
      • 支持跨文件

注意事项

  1. 组件事件独立性
    • 每个组件的事件处理函数都是独立的
      • 明确责任边界
      • 避免意外影响
    • 不同按钮需要单独编写点击事件
      • 区分业务逻辑
      • 支持个性化处理
  2. 相同类型组件(如多个按钮)需要分别处理
    • 可以为每个按钮创建独立事件
      • 代码结构清晰
      • 便于单独修改
    • 或使用通用处理函数配合判断
      • 减少重复代码
      • 统一维护逻辑
  3. 代码生成建议
    • 常用组件建议使用双击快速生成代码框架
      • 节省手动创建时间
      • 确保命名规范一致
    • 复杂组件可先设计界面再集中添加事件
      • 先完成界面布局
      • 再统一添加事件处理
  4. 测试要点
    • 检查所有可能的事件响应
      • 覆盖全部交互路径
      • 验证边界条件
    • 验证用户交互流程是否完整
      • 模拟真实操作
      • 检查状态转换
  5. 保存策略
    • 界面修改后要及时保存
      • 避免意外丢失
      • 建立保存习惯
    • 建议开启自动备份功能
      • 配置合理间隔
      • 保留历史版本
相关推荐
bill_man1 小时前
性能优化学习笔记(2)-更好地使用字符串
笔记·学习·性能优化
●VON2 小时前
HarmonyOS应用开发实战(基础篇)Day11 -《组件复用》
学习·安全·华为·harmonyos·von
liliangcsdn3 小时前
探索和学习信任区域策略优化算法-TRPO
学习·算法
学编程的闹钟13 小时前
E语言EXE开发全流程指南
学习
(❁´◡`❁)Jimmy(❁´◡`❁)14 小时前
【算法】二分图
学习
yunhuibin15 小时前
NIN网络学习
人工智能·python·深度学习·神经网络·学习
锅包一切18 小时前
一、C++ 发展与程序创建
开发语言·c++·后端·学习·编程
宇木灵19 小时前
C语言基础-十一、递归与分治(完结)
c语言·开发语言·学习·算法
xhyu6120 小时前
【学习笔记】推荐系统 (2.召回:ItemCF、Swing、UserCF)
笔记·学习