⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cool.cpp

📁 一个basic语言的解释器
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	winHelpOnSyntax.Add(" Syntax:                                              ");
	winHelpOnSyntax.Add("    Remark                                            ");
	winHelpOnSyntax.Add("        REM AnyRemarkString                           ");
	winHelpOnSyntax.Add("    Clears text mode window                           ");
	winHelpOnSyntax.Add("        CLS                                           ");
	winHelpOnSyntax.Add("    Define and request variables                      ");
	winHelpOnSyntax.Add("        DIM VarName AS VarType [Range1, Range2,......]");
	winHelpOnSyntax.Add("    Delete the varlable                               ");
	winHelpOnSyntax.Add("        DELETE VarName1, VarName2, ......             ");
	winHelpOnSyntax.Add("    Evaluate the variable                             ");
	winHelpOnSyntax.Add("        VariableName = Expression                     ");
	winHelpOnSyntax.Add("    Get input from keyboard                           ");
	winHelpOnSyntax.Add("        INPUT VariableName                            ");
	winHelpOnSyntax.Add("    Print expression onto the screen                  ");
	winHelpOnSyntax.Add("        PRINT expression1; ......; expressionN[;]     ");
	winHelpOnSyntax.Add("    Condition                                         ");
	winHelpOnSyntax.Add("        IF BooleanExpression THEN                     ");
	winHelpOnSyntax.Add("            ......                                    ");
	winHelpOnSyntax.Add("        ELSE                                          ");
	winHelpOnSyntax.Add("            ......                                    ");
	winHelpOnSyntax.Add("        END IF                                        ");
	winHelpOnSyntax.Add("    Loop                                              ");
	winHelpOnSyntax.Add("        FOR VarName = Expr1 TO Expr2 [STEP Expr3]     ");
	winHelpOnSyntax.Add("            ......                                    ");
	winHelpOnSyntax.Add("        NEXT [VarName]                                ");
	winHelpOnSyntax.Add("    Exit the current loop                             ");
	winHelpOnSyntax.Add("        BREAK                                         ");
	winHelpOnSyntax.Add("    Go to next                                        ");
	winHelpOnSyntax.Add("        CONTINUE                                      ");
	winHelpOnSyntax.Add("    Sub definition                                    ");
	winHelpOnSyntax.Add("        SUB SubName                                   ");
	winHelpOnSyntax.Add("            ......                                    ");
	winHelpOnSyntax.Add("        END SUB                                       ");
	winHelpOnSyntax.Add("    Call Sub                                          ");
	winHelpOnSyntax.Add("        GOSUB SubName                                 ");
	winHelpOnSyntax.Add("    Exit the current sub                              ");
	winHelpOnSyntax.Add("        RETURN                                        ");
	winHelpOnSyntax.Add("    Put cursor at appointed position                  ");
	winHelpOnSyntax.Add("        LOCATE Expression1, Expression2               ");
	winHelpOnSyntax.Add("    Delay a short time                                ");
	winHelpOnSyntax.Add("        DELAY Expression                              ");
	winHelpOnSyntax.Add("    Halt the program                                  ");
	winHelpOnSyntax.Add("        END                                           ");
	winHelpOnSyntax.Add("                                                      ");
	winHelpOnSyntax.Add(" System function:                                     ");
	winHelpOnSyntax.Add("    INT(x) : Return the integer from x                ");
	winHelpOnSyntax.Add("    RND(x) : Return the randomize number (0,x]        ");
	winHelpOnSyntax.Add("    SQR(x) : Return the square root of x              ");
	winHelpOnSyntax.Add("    Pi     : Math constant Pi                         ");
	winHelpOnSyntax.Add("                                                      ");
	winHelpOnSyntax.Add("                    The END                           ");


	// 感谢窗口对象
	winThanks.SetTitle("Thanks");
	winThanks.SetColor(WHITE, LIGHTGRAY, BLACK, LIGHTGRAY);
	winThanks.Add("  My parents");
	winThanks.Add("  Mr Chen");
	winThanks.Add("  Fayyang");
	winThanks.Add("  RiverHorse");

	// 关于Cool Basic窗口对象
	winAboutCool.SetTitle("About Cool Basic");
	winAboutCool.SetColor(WHITE, LIGHTGRAY, BLACK, LIGHTGRAY);
	winAboutCool.Add("            Cool Basic");
	winAboutCool.Add("");
	winAboutCool.Add("      Version 1.52 Build 0423");
	winAboutCool.Add("");
	winAboutCool.Add(" Beijing Institute of Technology");
	winAboutCool.Add("");
	winAboutCool.Add("    Programmed By ColdHighSun");
	winAboutCool.Add("");
	winAboutCool.Add("              2004.4");

	// 关于作者窗口对象
	winAboutMe.SetTitle("About me");
	winAboutMe.SetColor(WHITE, LIGHTGRAY, BLACK, LIGHTGRAY);
	winAboutMe.Add("       Name : Han Gaoyang");
	winAboutMe.Add("   Nickname : ColdHighSun, highsun");
	winAboutMe.Add("        Sex : Male");
	winAboutMe.Add("      Class : 09120015");
	winAboutMe.Add(" Department : Computer Science and Engineering");
	winAboutMe.Add("    College : Beijing Institute of Technology");
	winAboutMe.Add("        Tel : 010-68943559");
	winAboutMe.Add("     E-mail : hgy412@sina.com");
	winAboutMe.Add("");

	// 搜索完成窗口对象
	winSearchMessage.SetTitle("Message");
	winSearchMessage.SetColor(WHITE, LIGHTGRAY, BLACK, LIGHTGRAY);
	winSearchMessage.Add(" Search string not found");
}

void CreateMenu()
{
	// File菜单
	mnuCool[0].SetName("File");
	mnuCool[0].SetMessage("File-management commands (Open, Save, Print, etc.)");
	mnuCool[0].SetWide(15);
	mnuCool[0].SetPosition(5);
	mnuCool[0].AddItem("New           ", "Create a new file in the edit window");
	mnuCool[0].AddItem("Open...     F3", "Open a file under its name");
	mnuCool[0].AddItem("Save        F2", "Save the file in the edit window");
	mnuCool[0].AddItem("Save as...    ", "Save the file in the window under a new name", 1);
	mnuCool[0].AddItem("-");
	mnuCool[0].AddItem("Print         ", "Print the file in the window");
	mnuCool[0].AddItem("-");
	mnuCool[0].AddItem("Quit     Alt+X", "Exit winAboutCool");

	// Edit菜单
	mnuCool[1].SetName("Edit");
	mnuCool[1].SetMessage("Editor operations, find, mark, standard");
	mnuCool[1].SetWide(25);
	mnuCool[1].SetPosition(12);
	mnuCool[1].AddItem("Find                    ", "Search for text");
	mnuCool[1].AddItem("Search again      Ctrl+L", "Repeat last Find");
	mnuCool[1].AddItem("-");
	mnuCool[1].AddItem("Standardize             ", "Standardize the program in the edit window", 1);
	mnuCool[1].AddItem("Standardize line        ", "Standardize the current line in the edit window", 2);
	mnuCool[1].AddItem("-");
	mnuCool[1].AddItem("Mark/Unmark   Ctrl+Enter", "Mark or unmark th line in the file");
	mnuCool[1].AddItem("Previous mark     Ctrl+[", "Locate the previous mark in a file");
	mnuCool[1].AddItem("Next mark         Ctrl+]", "Locate the next mark in a file");
	mnuCool[1].AddItem("Clear all marks         ", "Delete all the marks");

	// Run菜单
	mnuCool[2].SetName("Run");
	mnuCool[2].SetMessage("Execute or single-step through a program");
	mnuCool[2].SetWide(24);
	mnuCool[2].SetPosition(19);
	mnuCool[2].AddItem("Run             Ctrl+F9",	"Run the current program");
	mnuCool[2].AddItem("Stop debugging  Ctrl+F2",	"Restart the program from beginning");
	mnuCool[2].AddItem("Go to cursor         F4", "Run the program from the run bar to the cursor position");
	mnuCool[2].AddItem("Step into            F7", "Execute next statement; stop within the current sub", 1);
	mnuCool[2].AddItem("Step over            F8",	"Execute next statement; skip over the current sub", 2);
	mnuCool[2].AddItem("-");
	mnuCool[2].AddItem("Output           Alt+F5", "Open the output window");

	// Debug菜单
	mnuCool[3].SetName("Debug");
	mnuCool[3].SetMessage("Set breakpoints and watches");
	mnuCool[3].SetWide(25);
	mnuCool[3].SetPosition(25);
	mnuCool[3].AddItem("Breakpoints      Ctrl+F8", "Set or delete the breakpoints");
	mnuCool[3].AddItem("Clear all breakpoints   ", "Delete all the breakpoints in a file");
	mnuCool[3].AddItem("-");
	mnuCool[3].AddItem("Watch            Ctrl+F7", "Watch variables or expressions");

	// Help菜单
	mnuCool[4].SetName("Help");
	mnuCool[4].SetMessage("Access online help");
	mnuCool[4].SetWide(24);
	mnuCool[4].SetPosition(33);
	mnuCool[4].AddItem("Help on edit         F1", "How to use edit system");
	mnuCool[4].AddItem("Help on syntax  Ctrl+F1", "How to make program using winAboutCool", 1);
	mnuCool[4].AddItem("About Cool Basic...    ", "Show version and copyright information");
	mnuCool[4].AddItem("-");
	mnuCool[4].AddItem("Thanks...              ", "Thanks to all persons who helped me");
	mnuCool[4].AddItem("About me...            ", "I'll be very glad if you contact me. :)", 1);
}

void CreateList()
{
	// 设置打开文件列表对象

	lstOpenFile.SetTitle("File List");
	lstOpenFile.SetColor(WHITE, LIGHTGRAY, BLACK, LIGHTGRAY);
}

void CreateTab()
{
	// Tab分区序号
	int No = 0;

	for (int i = 0; i < MaxY - 1; i++)
	{
		if (i == No * TabSize)
		{
			// 第i位是某Tab分区的开始
			TabStart[i] = true;
			No++;
		}
		else
		{
			// 第i位不是某Tab分区的开始
			TabStart[i] = false;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -