递归火山软件开发平台

标题: [7.13][完善翻译][终端界面库]留档 [打印本页]

作者: hcwanz    时间: 2024-7-3 19:20
标题: [7.13][完善翻译][终端界面库]留档
本帖最后由 hcwanz 于 2024-7-14 10:09 编辑

[项目分享]如何把c++代码变得和火山代码一样 - 火山平台俱乐部 - 递归火山软件开发平台 - Powered by Discuz! (voldp.com)
延续我之前帖子的思路, 将c++的类库完全汉化, 再封到火山里. (既方便自己, 也方便别的火山用户修改学习)

不过现在只完成了一部分, 因为我今天早上手笨剁伤了食指, 近几日不太适合敲键盘, 打算先研究点别的去.

所以先把这个项目发出来留个档, 等我完全了再补上.
---------------------------------先放一些效果图:
(, 下载次数: 38)
(, 下载次数: 39)
(, 下载次数: 39)


封装的类库是FTXUI, 地址见下
ArthurSonzogni/FTXUI: :computer: C++ Functional Terminal User Interface. :heart: (GITHUB.com)
未翻译的源类库文件: (, 下载次数: 1)
翻译的类库文件与火山的项目: (, 下载次数: 2)

--------------------------------------下为翻译的代码, 如果觉得难懂, 可以下载原类库的文件来研究
(, 下载次数: 39)
---------------------------------------------原代码
(, 下载次数: 39)


作者: hcwanz    时间: 2024-7-3 19:32
本帖最后由 hcwanz 于 2024-7-4 19:18 编辑

作者在里面大量用了c++的特性, 有不懂的可以百度或问我.
我先在这里讲解一个图里的" operators| "特性

它表示重载管道运算符.
比如有两个类:类1、类2
在未定义为管道运算符时,他们的交互大概如下:
`````````````
其他方法( 类1.方法(类2));
````````````

而重载管道运算符后
```````````````
其他方法(类2|类1);
```````````````

适用场景是方法套方法的时候, 用于减轻代码复杂度.
```````````````
边框(粗体(闪烁(文本(L"这是一段文本"))));
文本(L"这是一段文本")|闪烁|粗体|边框;
```````````````

如上就是最佳用处
更为复杂的需要数个参数的场景, 就是纯添堵了



作者: 沉默流星    时间: 2024-7-4 10:34
支持
作者: cy328252495    时间: 2024-7-4 10:57
这个可以跑到单片机上吗
作者: hcwanz    时间: 2024-7-4 14:15
cy328252495 发表于 2024-7-4 10:57
这个可以跑到单片机上吗

这个是基于linux的终端的, 只要能运行终端, 理论上就能跑
作者: 承易    时间: 2024-7-4 19:09
辛苦了,
作者: 南湾    时间: 2024-7-5 10:05
可以可以,很牛逼:噜阿噜
作者: hcwanz    时间: 2024-7-13 20:17
本帖最后由 hcwanz 于 2024-7-13 20:25 编辑

此版本对接口实现了完全的翻译,仅余一些实现代码中的变量没有翻译。
在使用其画板组件时,因为编码问题出现乱码。
百般摸索之下倒是找到了理论上的办法,但依然没法完全解决,
于是决定从底层直接全部修改编码类型,不确定要花几日,能不能成功,所以暂且发一个版本留档。
(, 下载次数: 0)




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