Skip to content

PowerAngelXD/DimensionTerminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DimensionTerminal

摘要:DimensionTerminal是Dimensionsoft的一个新项目,旨在用户可以自己打造一个“模拟终端”,那么现在,本自述文件将为您带来如何使用“DimensionTerminal”框架(以下简称“DT框架”)


关于DT框架

在github上,请下载“DimensionTerminal.zip”文件,然后解压缩,即可开始使用框架了

DT框架是Dimensionsoft自主研发的一个“模拟终端”框架,使用VisualStudio开发,未来,Dimensionsoft将会使用DT框架进行多种工作,例如管理
但请注意,您可以无偿使用DT框架内的所有内容,但所使用的DT框架版权仍属于Dimensionsoft,如果您想要再创作后的成品版权归属与自己的话,请与Dimensionsoft联系
联系邮箱:coreball@foxmail.com 下面,将为您带来如何去使用DT框架的各部分:

1,内部后缀为:“.xaml”或“.cs”的文件均为代码文件,请规范操作
2,请不要对“.editorconfig”,“.config”,“.csproj”,“.dll”等文件进行操作,这有可能会毁了整个框架
3,请不要对“obj”,“.vs”,“Properties”文件夹内的文件进行操作
4,生成的应用程序在bin\Release路径中
5,在bin文件夹中,有TerminalLog和TerminalSettings文件夹,请注意这两个文件夹在打包后需复制粘贴至打包文件夹中,否则程序可能无法正常运行
6,请注意,“Dconsole..dll”文件是整个框架的核心,请不断更新它,确保这个核心永远是最新的
7,在使用DT框架中,您可以多看看注释以了解各代码的作用

以上是关于DT框架的详细信息,接下来,将为您带来如何使用DT框架内的各种函数,结构体,以及其他的内容(“.cs”)


DConsole的使用

DConsole(namespace)
DConsole是框架的命名空间,在使框架前,需要:

using DConsole

或者使用如下方式,不使用“using”指令:

DConsole.Terminal.Console.AppendForConsole(OutPut, "hello")  //输出

init(func) 在文件中,您可以看到这样一个函数:

private void InitRun(object sender, RoutedEventArgs e)

它的作用是:负责Terminal的所有主要工作
或者您可以把它理解为一个“主函数”


TerminalObject(class)
TerminalObject是整个Terminal核心类中的基础,整个Terminal离不开该类
以下是TerminalObject类中的主要成员:

成员名 说明
AppendForConsole(RichTextBox richtextbox, string str, AssemblyColor ac) 在Console屏幕上追加输出“str”,输出颜色为“ac”(参数“ac”可不写)
WriteForConsole(RichTextBox richtextbox, string str, AssemblyColor ac) 在Console屏幕上先清空,后输出“str”,输出颜色为“ac”(参数“ac”可不写)
GetForConsole(RichTextBox richtextbox) 获得RichTextBox“richtextbox”内的内容并返回其内容,类型为“string”
GetLen(RichTextBox name) 返回RichTextBox“name”内的内容的长度并返回,类型为“int”
Clear(RichTextBox name) 清空“name”内的所有内容
GetForTextBox(TextBox name) 获得TextBox“name”中的内容,并返回,类型为“string”
GetSplitCommand(TextBox name, char splitChar) 获得TextBox“name”中的内容,并按‘splitChar’分割为字符列表,并返回,类型为“string[]”
GetSplit(string name, char splitChar) 按照“splitChar”分割“name”为字符列表,并返回

Example: 如果你想输出一段文字为“hello”,可以这样做:

using DConsole;
namespace Terminal
{
    private void InitRun(object sender, RoutedEventArgs e)
    {
        string[] arr = TerminalObject.GetSplit(InputCommand.Text, ' ');   //把输入框的文字以“ ”分割为字符数组
        TerminalObject.AppendForConsole(OutPut, arr[2])   //输出该数组的第二项
        TerminalObject.AppendForConsole(OutPut, "hello");   //输出文字
    }
}

TerminalEvents(class/event) 在“Terminal”中,所有事情都是由某一个事件所产生的,所以便出现了一个“TerminalEvents”类
这个类的主要作用便是担当“Terminal”的“事件引擎”,负责处理,绑定(注册)事件 在使用该类之前,您需要知道几个主要的事件:

事件名称 事件概述 事件应用举例
IsError 未到达某一条件触发该事件 当用户没有输入正确的指令时,执行该事件
IsCommandTrigger 当用户输入了/用户输入的字符里包含目标字符,执行该事件 用作指令注册

以下是该类的几个主要成员:

成员名 说明
OnIsErr(bool Condition) 当未达到“Condition”时,执行事件“IsErr”对应绑定的函数
RegisterIsErrorEvent(TODO Todo) 对“IsErr”注册一个事件函数“Todo”
CommandTrigger(bool Condition) 当达到“Condition”时,执行事件“IsCommandTrigger”对应绑定的函数
RegisterCommandTriggerEvent(TODO Todo) 对“IsCommandTrigger”注册一个事件函数“Todo”

Example
如果你要注册一个指令,条件为“command=="hello"”,达到条件后执行“Hello()”函数,则你需要这样写:

using DConsole;
namespace Terminal
{
    private void InitRun(object sender, RoutedEventArgs e)
    {
        TerminalEvents ordhello = new TerminalEvents();   //定义变量
        ordhello.RegisterCommandTrigger(Hello);           //绑定事件
        ordhello.CommandTrigger(command == "hello");      //放置事件检测器,检测事件
    }
}

About

开源的Terminal框架

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages