递归火山软件开发平台

标题: 火山视窗软件开发平台文本程序语法手册Markdown版 [打印本页]

作者: 飞扬工作室    时间: 2025-4-13 12:17
标题: 火山视窗软件开发平台文本程序语法手册Markdown版


火山视窗软件开发平台文本程序语法手册Markdown版已经发布,可以用来训练AI,欢迎下载勘误.


作者: 萧萧    时间: 2025-4-13 12:18
404呀            
作者: storey    时间: 2025-4-13 12:19
404
作者: 飞扬工作室    时间: 2025-4-13 12:19
已经修复
作者: 沉默流星    时间: 2025-4-13 12:25
支持
作者: urenai    时间: 2025-4-13 12:29
808
作者: 语言艺术    时间: 2025-4-13 12:50
你发的语法手册Markdown版,前文没写怎么训练。后文没说怎么应用。写给哪一个级别的用户看的呢?
作者: zmmhcc    时间: 2025-4-13 12:52
支持!
作者: 前端神行者    时间: 2025-4-13 12:58
好好好,看来我的显卡不荒废了
作者: 小人物没回忆    时间: 2025-4-13 13:42
语言艺术 发表于 2025-4-13 12:50
你发的语法手册Markdown版,前文没写怎么训练。后文没说怎么应用。写给哪一个级别的用户看的呢? ...

要不你试试直接扔给AI看看怎么说
作者: 语言艺术    时间: 2025-4-13 14:07
小人物没回忆 发表于 2025-4-13 13:42
要不你试试直接扔给AI看看怎么说

扔给TRAE 爆出一堆简单回复,//
作者: 兵三进一    时间: 2025-4-13 14:51
支持支持!!!
作者: 秋天的童话    时间: 2025-4-13 15:14
火山开始重视AI了,支持!
作者: zhh044    时间: 2025-4-13 15:41
怎么训练ai呢?
作者: 高山!&流水    时间: 2025-4-13 15:54
支持,我还在前面不
作者: 先生    时间: 2025-4-13 18:24
本帖最后由 先生 于 2025-4-13 18:38 编辑

如豆包,直接上传文件就可以。发文本内容不行。其他AI应该也是同理   和我一样小白的人一开始应该也不知道怎么弄
作者: 身边演员太多    时间: 2025-4-13 18:38
先生 发表于 2025-4-13 18:24
大概怎么用,能不能教一下。是直接把内容给AI吗   还是有什么关键字训练

其实你这些问题就可以问AI了,它教你怎么训练
作者: 天极至尊    时间: 2025-4-13 19:24
用DS,文件类型比较全,不用转换
作者: 4463424    时间: 2025-4-13 19:41
效果还是不错的,可以正常运行!!!!开启深度思考,在一个会话内提问!!!

作者: 459943578    时间: 2025-4-13 20:35
本帖最后由 459943578 于 2025-4-14 16:13 编辑

你们是要AI写点基础代码就满足了吗?这训练了是能让AI把那些开源库自动封成火山库吗?如果不能火山又没有生态要这AI训练来有毛用?写点变量 1+1等于几?就满足了?
一个二个高兴得像是想要的功能AI能写出来样,火山AI纯属是浪费时间。除非能让AI把开源库封成火山库,这要求一看就不能实现。

没生态,AI等于智障。

作者: 糯米    时间: 2025-4-13 20:43
从用户的角度,出个简单教程还是必须的。
作者: 绯陌如夏    时间: 2025-4-13 21:34
牛的嘞
作者: 小烦    时间: 2025-4-13 21:52
搞个 .chm    这种  不行吗 非要搞Markdown
作者: 青衣Simida    时间: 2025-4-13 21:59
小烦 发表于 2025-4-13 21:52
搞个 .chm    这种  不行吗 非要搞Markdown

哥唉,ai读取不了chm文档吧?
作者: 清风爱温柔    时间: 2025-4-13 22:11
怎么训练啊?
作者: 烤翅    时间: 2025-4-13 23:47
挺好,经常用AI封一些 或者修改一些 火山视窗的功能, 现在应该更方便了
作者: 天极至尊    时间: 2025-4-14 08:30
这个里面好像没有嵌入式的数据,AI还在根据@去裁,希望更新升级加入进来
作者: aronshen    时间: 2025-4-14 10:31
清风爱温柔 发表于 2025-4-13 22:11
怎么训练啊?

用 IMA 软件直接用创建知识库就能用了
作者: 古城白衣    时间: 2025-4-14 11:41
459943578 发表于 2025-4-13 20:35
你们是要AI写点基础代码就满足了吗?这训练了是能让AI把那些开源库自动封成火山库吗?如果不能火山又没有生 ...

对,要AI结合编译器,用户给出需求,程序自动写出代码,最起码要这样
作者: dxp04    时间: 2025-4-14 22:15
如何使用呢?
作者: 飞扬工作室    时间: 2025-4-16 10:54
dxp04 发表于 2025-4-14 22:15
如何使用呢?

这个文档不是给你们看的,直接喂给ai,用来创建知识库. 然后基于知识库创建智能体应用.
作者: 123456789    时间: 2025-4-16 15:37
飞扬工作室 发表于 2025-4-16 10:54
这个文档不是给你们看的,直接喂给ai,用来创建知识库. 然后基于知识库创建智能体应用. ...

搞个其它平台的语法手册,比如安卓跟GO
作者: 飞扬工作室    时间: 2025-4-16 16:07
123456789 发表于 2025-4-16 15:37
搞个其它平台的语法手册,比如安卓跟GO

都会搞的
作者: htpmcj    时间: 2025-4-18 10:25
(, 下载次数: 89)
AI根据手册写的判断语句

作者: jwz    时间: 2025-4-19 02:59
试了一下,写个计算器 一直报错
作者: jwz    时间: 2025-4-19 03:01
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)
    }
}
作者: jwz    时间: 2025-4-19 03:02
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 个错误.
作者: xqnh520    时间: 2025-4-19 11:59
我也是写一个例子全报错。我个人认为,用AI来帮助我们写火山代码,不如想想如何让AI帮我们封装原生库代码。可以直接拿来就用不需要二次封装。
作者: 飞扬工作室    时间: 2025-4-19 13:11
jwz 发表于 2025-4-19 03:02
--- 开始编译项目"a222":
, 70: 错误: 发现字符处于无效位置
, 79: 错误: 发现字符处于无效位置

还没有提供类库和例程训练文本,正在整理,加上就好了.
作者: ht725188    时间: 2025-4-19 14:01
飞扬工作室 发表于 2025-4-19 13:11
还没有提供类库和例程训练文本,正在整理,加上就好了.

这个很期待,希望尽快提供
作者: numbersir    时间: 2025-4-19 20:18
值得期待
作者: jwz    时间: 2025-4-21 01:12
加油哦,很期待!
作者: jwz    时间: 2025-4-22 01:38
加快进度搞AI啊,写程序是真的方便又快,只要不是复杂的东西,基本都能写,加油搞
作者: yxrjdnh    时间: 2025-4-22 17:16
怎么使用?

作者: xucy    时间: 2025-4-22 17:30
支持!
作者: yhobo    时间: 2025-4-23 16:04
不错,希望继续完善

作者: 刘铁    时间: 2025-4-26 21:27
飞扬工作室 发表于 2025-4-19 13:11
还没有提供类库和例程训练文本,正在整理,加上就好了.

期待中,今天安装了trae,期待能调试火山程序
作者: hq881128    时间: 2025-4-29 14:12
今天试了下,可以生成基本代码了,还可以,可以写些简单的方式了,什么把库加啊.




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4