递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
楼主: 飞扬工作室
打印 上一主题 下一主题

[官方] 火山视窗软件开发平台文本程序语法手册Markdown版

[复制链接]

64

主题

1812

帖子

9225

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9225
31#
 楼主| 发表于 3 天前 | 只看该作者

这个文档不是给你们看的,直接喂给ai,用来创建知识库. 然后基于知识库创建智能体应用.
回复

使用道具 举报

86

主题

517

帖子

3898

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3898
32#
发表于 3 天前 | 只看该作者
飞扬工作室 发表于 2025-4-16 10:54
这个文档不是给你们看的,直接喂给ai,用来创建知识库. 然后基于知识库创建智能体应用. ...

搞个其它平台的语法手册,比如安卓跟GO
回复

使用道具 举报

64

主题

1812

帖子

9225

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9225
33#
 楼主| 发表于 3 天前 | 只看该作者
123456789 发表于 2025-4-16 15:37
搞个其它平台的语法手册,比如安卓跟GO

都会搞的
回复

使用道具 举报

24

主题

468

帖子

4175

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4175
QQ
34#
发表于 昨天 10:25 | 只看该作者

AI根据手册写的判断语句
回复

使用道具 举报

8

主题

33

帖子

380

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
380
35#
发表于 6 小时前 | 只看该作者
试了一下,写个计算器 一直报错
回复

使用道具 举报

8

主题

33

帖子

380

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
380
36#
发表于 6 小时前 | 只看该作者
jwz 发表于 2025-4-19 02:59
试了一下,写个计算器 一直报错

<火山程序 类型 = "通常" 版本 = 1 />

包 火山.计算器

类 启动类 <公开 基础类 = 窗口程序类>
{
    变量 主窗口对象 <类型 = 计算器窗口类 标题 = "简易计算器">

    方法 启动方法 <公开 类型 = 整数>
    {
        主窗口对象.创建主窗口 ()  // 作为程序的主窗口创建并显示所定义窗口
        返回 (1)
    }
}

类 计算器窗口类 <基础类 = 窗口 @视窗.布局 = "client_size = \"300, 450\"" 标题 = "计算器">
{
    // 显示结果的文本框
    变量 文本框_显示 <类型 = 编辑框 @视窗.布局 = "id = 100\r\npos = \"20, 60, 260, 60\"" 只读 = 真>
   
    // 内存和历史按钮
    变量 按钮_MC <类型 = 按钮 @视窗.布局 = "id = 101\r\npos = \"20, 130, 40, 30\"" 标题 = "MC">
    变量 按钮_MR <类型 = 按钮 @视窗.布局 = "id = 102\r\npos = \"70, 130, 40, 30\"" 标题 = "MR">
    变量 按钮_M加 <类型 = 按钮 @视窗.布局 = "id = 103\r\npos = \"120, 130, 40, 30\"" 标题 = "M+">
    变量 按钮_M减 <类型 = 按钮 @视窗.布局 = "id = 104\r\npos = \"170, 130, 40, 30\"" 标题 = "M-">
    变量 按钮_MS <类型 = 按钮 @视窗.布局 = "id = 105\r\npos = \"220, 130, 40, 30\"" 标题 = "MS">
    变量 按钮_M <类型 = 按钮 @视窗.布局 = "id = 106\r\npos = \"270, 130, 40, 30\"" 标题 = "M^">
   
    // 特殊功能按钮
    变量 按钮_百分比 <类型 = 按钮 @视窗.布局 = "id = 107\r\npos = \"20, 170, 60, 50\"" 标题 = "%">
    变量 按钮_CE <类型 = 按钮 @视窗.布局 = "id = 108\r\npos = \"90, 170, 60, 50\"" 标题 = "CE">
    变量 按钮_C <类型 = 按钮 @视窗.布局 = "id = 109\r\npos = \"160, 170, 60, 50\"" 标题 = "C">
    变量 按钮_退格 <类型 = 按钮 @视窗.布局 = "id = 110\r\npos = \"230, 170, 60, 50\"" 标题 = "⌫">
   
    变量 按钮_倒数 <类型 = 按钮 @视窗.布局 = "id = 111\r\npos = \"20, 230, 60, 50\"" 标题 = "¹/ₓ">
    变量 按钮_平方 <类型 = 按钮 @视窗.布局 = "id = 112\r\npos = \"90, 230, 60, 50\"" 标题 = "x²">
    变量 按钮_开方 <类型 = 按钮 @视窗.布局 = "id = 113\r\npos = \"160, 230, 60, 50\"" 标题 = "√x">
    变量 按钮_除 <类型 = 按钮 @视窗.布局 = "id = 114\r\npos = \"230, 230, 60, 50\"" 标题 = "÷">
   
    // 数字按钮
    变量 按钮_7 <类型 = 按钮 @视窗.布局 = "id = 115\r\npos = \"20, 290, 60, 50\"" 标题 = "7">
    变量 按钮_8 <类型 = 按钮 @视窗.布局 = "id = 116\r\npos = \"90, 290, 60, 50\"" 标题 = "8">
    变量 按钮_9 <类型 = 按钮 @视窗.布局 = "id = 117\r\npos = \"160, 290, 60, 50\"" 标题 = "9">
    变量 按钮_乘 <类型 = 按钮 @视窗.布局 = "id = 118\r\npos = \"230, 290, 60, 50\"" 标题 = "×">
   
    变量 按钮_4 <类型 = 按钮 @视窗.布局 = "id = 119\r\npos = \"20, 350, 60, 50\"" 标题 = "4">
    变量 按钮_5 <类型 = 按钮 @视窗.布局 = "id = 120\r\npos = \"90, 350, 60, 50\"" 标题 = "5">
    变量 按钮_6 <类型 = 按钮 @视窗.布局 = "id = 121\r\npos = \"160, 350, 60, 50\"" 标题 = "6">
    变量 按钮_减 <类型 = 按钮 @视窗.布局 = "id = 122\r\npos = \"230, 350, 60, 50\"" 标题 = "-">
   
    变量 按钮_1 <类型 = 按钮 @视窗.布局 = "id = 123\r\npos = \"20, 410, 60, 50\"" 标题 = "1">
    变量 按钮_2 <类型 = 按钮 @视窗.布局 = "id = 124\r\npos = \"90, 410, 60, 50\"" 标题 = "2">
    变量 按钮_3 <类型 = 按钮 @视窗.布局 = "id = 125\r\npos = \"160, 410, 60, 50\"" 标题 = "3">
    变量 按钮_加 <类型 = 按钮 @视窗.布局 = "id = 126\r\npos = \"230, 410, 60, 50\"" 标题 = "+">
   
    变量 按钮_正负号 <类型 = 按钮 @视窗.布局 = "id = 127\r\npos = \"20, 470, 60, 50\"" 标题 = "+/-">
    变量 按钮_0 <类型 = 按钮 @视窗.布局 = "id = 128\r\npos = \"90, 470, 60, 50\"" 标题 = "0">
    变量 按钮_小数点 <类型 = 按钮 @视窗.布局 = "id = 129\r\npos = \"160, 470, 60, 50\"" 标题 = ".">
    变量 按钮_等于 <类型 = 按钮 @视窗.布局 = "id = 130\r\npos = \"230, 470, 60, 50\"" 标题 = "=">
   
    // 存储计算数据的变量
    变量 第一个数 <类型 = 小数>
    变量 第二个数 <类型 = 小数>
    变量 运算符 <类型 = 文本型>
    变量 显示文本 <类型 = 文本型>
    变量 需要清除显示 <类型 = 逻辑型>
    变量 内存值 <类型 = 小数>
   
    方法 窗口_创建 <接收事件 类型 = 整数>
    参数 来源对象 <类型 = 窗口>
    参数 标记值 <类型 = 整数>
    {
        // 初始化计算器
        清除计算 ()
        返回 (0)
    }
   
    方法 按钮_单击 <接收事件 类型 = 整数>
    参数 来源对象 <类型 = 按钮>
    参数 标记值 <类型 = 整数>
    {
        变量 按钮标题 <类型 = 文本型>
        按钮标题 = 来源对象.标题
        
        // 处理数字按钮
        如果 (按钮标题 >= "0" && 按钮标题 <= "9")
        {
            如果 (需要清除显示)
            {
                显示文本 = ""
                需要清除显示 = 假
            }
            显示文本 = 显示文本 + 按钮标题
            文本框_显示.标题 = 显示文本
        }
        // 处理小数点
        否则 如果 (按钮标题 == ".")
        {
            如果 (需要清除显示)
            {
                显示文本 = "0"
                需要清除显示 = 假
            }
            // 检查是否已有小数点
            如果 (文本位置 (显示文本, ".") == 0)
            {
                显示文本 = 显示文本 + "."
            }
            文本框_显示.标题 = 显示文本
        }
        // 处理运算符按钮
        否则 如果 (按钮标题 == "+" || 按钮标题 == "-" || 按钮标题 == "×" || 按钮标题 == "÷")
        {
            第一个数 = 文本到小数 (显示文本)
            如果 (按钮标题 == "×")
            {
                运算符 = "*"
            }
            否则 如果 (按钮标题 == "÷")
            {
                运算符 = "/"
            }
            否则
            {
                运算符 = 按钮标题
            }
            需要清除显示 = 真
        }
        // 处理等于按钮
        否则 如果 (按钮标题 == "=")
        {
            第二个数 = 文本到小数 (显示文本)
            计算结果 ()
        }
        // 处理清除按钮
        否则 如果 (按钮标题 == "C")
        {
            清除计算 ()
        }
        // 处理CE按钮 (只清除当前输入)
        否则 如果 (按钮标题 == "CE")
        {
            显示文本 = "0"
            文本框_显示.标题 = 显示文本
            需要清除显示 = 真
        }
        // 处理退格按钮
        否则 如果 (按钮标题 == "⌫")
        {
            如果 (文本长度 (显示文本) > 1)
            {
                显示文本 = 文本左边 (显示文本, 文本长度 (显示文本) - 1)
            }
            否则
            {
                显示文本 = "0"
                需要清除显示 = 真
            }
            文本框_显示.标题 = 显示文本
        }
        // 处理正负号按钮
        否则 如果 (按钮标题 == "+/-")
        {
            如果 (显示文本 != "0")
            {
                如果 (文本左边 (显示文本, 1) == "-")
                {
                    显示文本 = 文本右边 (显示文本, 文本长度 (显示文本) - 1)
                }
                否则
                {
                    显示文本 = "-" + 显示文本
                }
                文本框_显示.标题 = 显示文本
            }
        }
        // 处理百分比按钮
        否则 如果 (按钮标题 == "%")
        {
            变量 当前值 <类型 = 小数>
            当前值 = 文本到小数 (显示文本)
            当前值 = 当前值 / 100
            显示文本 = 小数到文本 (当前值)
            文本框_显示.标题 = 显示文本
        }
        // 处理平方按钮
        否则 如果 (按钮标题 == "x²")
        {
            变量 当前值 <类型 = 小数>
            当前值 = 文本到小数 (显示文本)
            当前值 = 当前值 * 当前值
            显示文本 = 小数到文本 (当前值)
            文本框_显示.标题 = 显示文本
            需要清除显示 = 真
        }
        // 处理开方按钮
        否则 如果 (按钮标题 == "√x")
        {
            变量 当前值 <类型 = 小数>
            当前值 = 文本到小数 (显示文本)
            如果 (当前值 < 0)
            {
                信息框 ("错误: 不能对负数开平方根!")
            }
            否则
            {
                当前值 = 平方根 (当前值)
                显示文本 = 小数到文本 (当前值)
                文本框_显示.标题 = 显示文本
                需要清除显示 = 真
            }
        }
        // 处理倒数按钮
        否则 如果 (按钮标题 == "¹/ₓ")
        {
            变量 当前值 <类型 = 小数>
            当前值 = 文本到小数 (显示文本)
            如果 (当前值 == 0)
            {
                信息框 ("错误: 不能除以零!")
            }
            否则
            {
                当前值 = 1 / 当前值
                显示文本 = 小数到文本 (当前值)
                文本框_显示.标题 = 显示文本
                需要清除显示 = 真
            }
        }
        // 处理内存按钮
        否则 如果 (按钮标题 == "MC")
        {
            内存值 = 0
        }
        否则 如果 (按钮标题 == "MR")
        {
            显示文本 = 小数到文本 (内存值)
            文本框_显示.标题 = 显示文本
            需要清除显示 = 真
        }
        否则 如果 (按钮标题 == "M+")
        {
            内存值 = 内存值 + 文本到小数 (显示文本)
            需要清除显示 = 真
        }
        否则 如果 (按钮标题 == "M-")
        {
            内存值 = 内存值 - 文本到小数 (显示文本)
            需要清除显示 = 真
        }
        否则 如果 (按钮标题 == "MS")
        {
            内存值 = 文本到小数 (显示文本)
            需要清除显示 = 真
        }
        
        返回 (0)
    }
   
    方法 计算结果 <类型 = 整数>
    {
        变量 结果 <类型 = 小数>
        
        如果 (运算符 == "+")
        {
            结果 = 第一个数 + 第二个数
        }
        否则 如果 (运算符 == "-")
        {
            结果 = 第一个数 - 第二个数
        }
        否则 如果 (运算符 == "*")
        {
            结果 = 第一个数 * 第二个数
        }
        否则 如果 (运算符 == "/")
        {
            // 检查除数是否为0
            如果 (第二个数 == 0)
            {
                信息框 ("错误: 不能除以零!")
                清除计算 ()
                返回 (0)
            }
            结果 = 第一个数 / 第二个数
        }
        否则
        {
            // 如果没有运算符,结果就是当前显示的数字
            结果 = 第二个数
        }
        
        显示文本 = 小数到文本 (结果)
        文本框_显示.标题 = 显示文本
        需要清除显示 = 真
        
        返回 (0)
    }
   
    方法 清除计算 <类型 = 整数>
    {
        第一个数 = 0
        第二个数 = 0
        运算符 = ""
        显示文本 = "0"
        文本框_显示.标题 = 显示文本
        需要清除显示 = 真
        
        返回 (0)
    }
   
    方法 平方根 <类型 = 小数>
    参数 数值 <类型 = 小数>
    {
        // 简单的平方根实现
        返回 (数值 ^ 0.5)
    }
}
回复

使用道具 举报

8

主题

33

帖子

380

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
380
37#
发表于 6 小时前 | 只看该作者
jwz 发表于 2025-4-19 03:01
包 火山.计算器

类 启动类

--- 开始编译项目"a222":
<D:\jsq\a222\src\main.v>, 70: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 79: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 83: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 89: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 93: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 96: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 101: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 109: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 117: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 124: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 132: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 143: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 154: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 156: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 160: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 163: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 166: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 176: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 178: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 180: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 208: 错误: 发现字符处于无效位置
<D:\jsq\a222\src\main.v>, 9: 错误: 未找到名为"只读"的可写入属性
<D:\jsq\a222\src\main.v>, 63: 错误: 无法将数据类型"文本型"与数据类型"文本型"进行比较
<D:\jsq\a222\src\main.v>, 75: 错误: 没有找到所指定的方法名称"文本位置"
<D:\jsq\a222\src\main.v>, 85: 错误: "否则"语句必须位于一个"如果"语句或携带有一个参数的另一个"否则"语句后面
<D:\jsq\a222\src\main.v>, 102: 错误: 没有找到所指定的方法名称"文本长度"
<D:\jsq\a222\src\main.v>, 103: 错误: 没有找到所指定的方法名称"文本左边"
<D:\jsq\a222\src\main.v>, 104: 错误: "否则"语句必须位于一个"如果"语句或携带有一个参数的另一个"否则"语句后面
<D:\jsq\a222\src\main.v>, 111: 错误: 没有找到所指定的方法名称"文本左边"
<D:\jsq\a222\src\main.v>, 112: 错误: 没有找到所指定的方法名称"文本右边"
<D:\jsq\a222\src\main.v>, 113: 错误: "否则"语句必须位于一个"如果"语句或携带有一个参数的另一个"否则"语句后面
<D:\jsq\a222\src\main.v>, 121: 错误: 没有找到所指定的方法名称"小数到文本"
<D:\jsq\a222\src\main.v>, 128: 错误: 没有找到所指定的方法名称"小数到文本"
<D:\jsq\a222\src\main.v>, 139: 错误: 没有找到所指定的方法名称"小数到文本"
<D:\jsq\a222\src\main.v>, 150: 错误: 没有找到所指定的方法名称"小数到文本"
<D:\jsq\a222\src\main.v>, 157: 错误: 没有找到所指定的方法名称"小数到文本"
<D:\jsq\a222\src\main.v>, 187: 错误: "否则"语句必须位于一个"如果"语句或携带有一个参数的另一个"否则"语句后面
<D:\jsq\a222\src\main.v>, 191: 错误: 没有找到所指定的方法名称"小数到文本"
<D:\jsq\a222\src\main.v>, 50: 错误: 在对应事件定义类"窗口"中未找到事件"创建"的定义方法
<D:\jsq\a222\src\main.v>, 56: 错误: 在对应事件定义类"按钮"中未找到事件"单击"的定义方法
<D:\jsq\a222\src\main.v>, 205: 错误: "平方根"方法需要返回值,但是其中的代码未返回值或者并非所有代码分支都返回了值.
--- 项目"a222"编译或链接失败. 编译过程中共遇到了 0 个警告, 41 个错误.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-4-19 09:35 , Processed in 0.092469 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表