亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? form1.cs

?? 編譯器
?? CS
字號:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace PlxCompiler
{
    //當前編輯窗口的信息結構體
    public struct Infor
    {
        public Edit editFirst;
        public string filename;
        public string projectPath;
        public string projectName;
    }
    
    public partial class Form1 : Form
    {
        PlxCompiler.Information infor;
        PlxCompiler.OutPut output;
        string projectfolder;
        PlxCompile plx;
        Infor InforPro;//當前激活的源文件指針
        Infor[] projectStack;//項目文件標簽
        const int MaxFileCount = 100;//一個項目中文件的最大數目
        int FileCount;
        public Form1()
        {
            InitializeComponent();
            
            infor = new PlxCompiler.Information(this);
            projectStack = new Infor[MaxFileCount];
            plx = new PlxCompile(this);
            FileCount = 0;
            //show the plx file
            infor.Show();
            項目信息ToolStripMenuItem.Enabled = true;
            output = new PlxCompiler.OutPut(this);
            output.Show();
            this.debugToolStripMenuItem.Visible = false;
            
            //infor.treeView1.Nodes.Add(String.Format("project_plx"));
            //infor.AddNodes(String.Format("Untitled.plx"));
            //infor.

        }
        //新建源文件 
        private void 源文件FToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PlxCompiler.CreateFile createFile = new CreateFile(this, infor,InforPro);
            createFile.Show();
            /*string dir=createFile.getFileName();
            PlxCompiler.Edit edit = new PlxCompiler.Edit(this);
            edit.Name = dir;
            edit.Show();
            //show the plx file
            infor.AddNodes(dir);*/
            
            
        }
        //建立工程
        private void 工程PToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PlxCompiler.CreateProject createPro = new PlxCompiler.CreateProject(this, infor);
            //create new Project
            createPro.Show();
           
        }
        
        //修改工程路徑欄
        public bool modifyProject(string folder)
        {
            projectfolder = folder;
            projectName.Text = projectfolder;
            return true;
        }
        public string getProjectFolder()
        {
            return projectfolder;
        }
        //項目信息欄顯示與否
        private void 項目信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (項目信息ToolStripMenuItem.Checked) infor.Show();
            else if (!項目信息ToolStripMenuItem.Checked) infor.Hide();
        }

        private void 輸出信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (輸出信息ToolStripMenuItem.Checked) output.Show();
            else if (!輸出信息ToolStripMenuItem.Checked) output.Hide();
        }
        public void set輸出信息()
        {
            if (輸出信息ToolStripMenuItem.Checked) 輸出信息ToolStripMenuItem.Checked = false;
            else 輸出信息ToolStripMenuItem.Checked = true;
        }
        private void 狀態欄ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (狀態欄ToolStripMenuItem.Checked) statusStrip1.Show();
            else if (!狀態欄ToolStripMenuItem.Checked) statusStrip1.Hide();
        }

        private void 菜單欄ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (菜單欄ToolStripMenuItem.Checked) toolStrip1.Show();
            else if (!菜單欄ToolStripMenuItem.Checked) toolStrip1.Hide();
        }

        private void 打開工程ToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void 打開文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                //string dir = Environment.GetFolderPath(Environment.SpecialFolder.Templates);
                OpenFileDialog dlg = new OpenFileDialog();
                //dlg.InitialDirectory = dir;
                dlg.Title = "Open PLX File";
                dlg.Filter = "PLX source file(*.plx)|*.plx|All Files|*.*";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    
                    string filename = dlg.FileName;
                    
                    if (!isOpen(filename))
                    {
                        open(filename);
                        //richTextBox1.Clear();
                        infor.AddNodes(filename);
                    }

                    
                }
            }
            catch (IOException ex)
            {

                MessageBox.Show(ex.Message, "PlxCompiler",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

        }

        private void 另存為AToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();
            
            dlg.Title = "Save as PLX File";
            dlg.Filter = "PLX source file(*.plx)|*.plx|All Files|*.*";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                InforPro.editFirst.Save_file(dlg.FileName);
            }
        }

        private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
        {
            InforPro.editFirst.Save_file();
        }

        private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (InforPro.editFirst != null)
            {
                InforPro.editFirst.Menu_Undo(sender,e);
            }
            
        }

        private void 重復RToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (InforPro.editFirst != null)
            {
                InforPro.editFirst.Menu_Redo(sender,e);
            }
        }

        private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (InforPro.editFirst != null)
            {
                InforPro.editFirst.Menu_Cut(sender, e);
            }

        }

        private void 復制CToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (InforPro.editFirst != null)
            {
                InforPro.editFirst.Menu_Copy(sender, e);
            }
        }

        private void 粘貼PToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (InforPro.editFirst != null)
            {
                InforPro.editFirst.Menu_Paste(sender, e);
            }
        }

        private void 全選AToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (InforPro.editFirst != null)
            {
                InforPro.editFirst.Menu_Select(sender, e);
            }

        }

        private void 編譯CToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (FileCount == 0) return;
            output.shows("Save to " + InforPro.editFirst.Text+"\r\n",0);
            if (InforPro.editFirst.changed) InforPro.editFirst.Save_file();
            plx.FileOpen(InforPro.editFirst.Text);
            output.shows_add("Compiling..."+"\r\n",0);
            plx.Compiler();
            if (plx.errornum == 0)
            {
                output.shows_add("Succeed..."  + "\r\n",0);
            }
            else
            {
                output.shows_add("總共 "+plx.errornum + " errors",-1);
                
            }

           
           
            
            //Console.WriteLine(plx.lineIndex);
        }

        private void 構建BToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (FileCount == 0) return;
            plx.showCode();
            char[] a = new char[] { '.' };
            int bb = InforPro.editFirst.Text.LastIndexOfAny(a);
            string middleCodePath =InforPro.editFirst.Text.Substring(0,bb)+".mcp";
            try
            {
                FileStream saveFile = new FileStream(middleCodePath, FileMode.OpenOrCreate);
                StreamWriter fileWrite = new StreamWriter(saveFile, Encoding.UTF8);
                fileWrite.Write(plx.codeSource);
                fileWrite.Close();
            }
            catch (IOException ee)
            {
            }
            output.shows("Save middleCode to " + middleCodePath + "\r\n", 0);
            output.shows_add(plx.codeSource,0);
        }

        private void 運行RToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (FileCount == 0) return;
            if (InforPro.editFirst.changed)
            {
                plx.FileOpen(InforPro.editFirst.Text);
                plx.Compiler();
                if (plx.errornum == 0)
                {
                    output.shows_add("Succed..." + "\r\n", 0);
                }
                else
                {
                    output.shows_add("總共 " + plx.errornum + " errors", -1);

                }
            }
            plx.interpret();
            output.shows("程序運行結果如下:\r\n", 0);
            output.shows_add(plx.result,0);
        }

        private void 關于AToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AboutBox1 about = new AboutBox1();
            about.Show();
        }

        private void 字體CToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (fontDialog1.ShowDialog() == DialogResult.OK  && InforPro.editFirst != null)
            {
                InforPro.editFirst.font(fontDialog1.Font);
            }
        }
        //注冊窗口
        public void registeEdit(Edit edit1)
        {
            InforPro.editFirst = edit1;
            projectStack[FileCount].editFirst = edit1;
            //projectStack[FileCount].filename = filename;
            FileCount++;
        }
        //顯示選中的文件
        public void open(string filename)//
        {

            if (isOpen(filename))
            {
                return;
            }
            PlxCompiler.Edit edit = new PlxCompiler.Edit(this, filename);
            char[] a = new char[] { '\\' };
            int bb = filename.LastIndexOfAny(a);
            string temp = filename.Substring(0, bb);
            bb = temp.LastIndexOfAny(a);
            temp = temp.Substring(bb + 1);
            InforPro.editFirst = edit;
            InforPro.filename = filename;
            InforPro.projectName = temp;
            projectStack[FileCount].editFirst = edit;
            projectStack[FileCount].filename = filename;
            projectStack[FileCount].projectName = temp;
            FileCount++;
            edit.Show();
            edit.Load_File(filename);
        }
        //判斷該接點的窗口是否打開
        public bool isOpen(string name)
        {
            for (int i = 0; i < FileCount; i++)
            {
                if (name.Equals(projectStack[i].editFirst.Text))
                {
                    projectStack[i].editFirst.Activate();
                    InforPro.editFirst = projectStack[i].editFirst;
                    InforPro.filename = projectStack[i].filename;
                    InforPro.projectName = projectStack[i].projectName;
                    InforPro.projectPath = projectStack[i].projectPath;
                    return true;
                }
            }
            return false;

        }
        //關閉窗口
        public void close_window(string name)
        {
            int i;
            for (i = 0; i < FileCount; i++)
            {
                if (name.Equals(projectStack[i].editFirst.Text))
                {
                    FileCount--;
                    break;
                }
            }
            for (int j = i; j < FileCount; j++)
            {
                projectStack[j].editFirst = projectStack[j + 1].editFirst;
                projectStack[j].projectName = projectStack[j + 1].projectName;
                projectStack[j].filename = projectStack[j + 1].filename;
                InforPro.editFirst = projectStack[j + 1].editFirst;
            }  
        }//
        //任務欄的顯示
        public void setColumRow(string total,string row, string colum)
        {
            Total.Text = total;
            Colum.Text = colum;
            Row.Text = row;
        }
        public void saveFile(string filename)
        {
            try
            {
                FileStream saveFile = new FileStream(filename, FileMode.OpenOrCreate);
                StreamWriter fileWrite = new StreamWriter(saveFile, System.Text.Encoding.Default);
                fileWrite.Write(filename);
                //this.richTextBox1.SaveFile(this.Text, RichTextBoxStreamType.PlainText); 
                output.shows_add("已保存文件 " +filename+"\r\n",0);
                fileWrite.Close();
            }
            catch (IOException e)
            {
                ;
            }
        }
        public void outerror(string a)
        {
            output.shows_add(a, -1);
        }
        public void show(string a)
        {
            output.shows_add(a, 0);
        }

        private void 清空輸出窗口CToolStripMenuItem_Click(object sender, EventArgs e)
        {
            output.shows("", 0);
        }

        private void 退出XToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void 保存中間代碼MToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Title = "Save PLX File";
            dlg.Filter = "PLX Middle Code file(*.mcp)|*.mcp|All Files|*.*";
            if (dlg.ShowDialog() == DialogResult.OK && plx != null)
            {
                try
                {
                    FileStream saveFile = new FileStream(dlg.FileName, FileMode.OpenOrCreate);
                    StreamWriter fileWrite = new StreamWriter(saveFile, Encoding.UTF8);
                    fileWrite.Write(plx.codeSource);
                    fileWrite.Close();
                }
                catch (IOException e22)
                {
                    output.shows("Failed!",-1);
                }
            }
        }

        private void debugToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void statusStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品在线播放| 欧美精品一级二级| 欧美影院一区二区三区| 欧美xxxxxxxxx| 亚洲天堂免费看| 激情综合色丁香一区二区| 在线观看亚洲精品视频| 欧美极品aⅴ影院| 久久av中文字幕片| 欧美日韩一区在线| 亚洲精品免费在线观看| 成人va在线观看| 国产精品免费视频一区| 青青草伊人久久| 精品视频1区2区3区| 《视频一区视频二区| 国产最新精品精品你懂的| 91精选在线观看| 亚洲电影一级片| 在线免费一区三区| 亚洲精品乱码久久久久久黑人| 国产精品原创巨作av| 欧美哺乳videos| 久久99精品视频| 日韩一区二区三区高清免费看看| 一区二区成人在线观看| 色婷婷精品久久二区二区蜜臂av | 天天av天天翘天天综合网色鬼国产 | 国产一区亚洲一区| 日韩精品专区在线影院观看 | 一区二区三区欧美日韩| 成人动漫一区二区在线| 国产精品美女www爽爽爽| 国产99久久久久久免费看农村| 欧美大度的电影原声| 美女任你摸久久 | 国产精品久久久久久久久久久免费看| 国内精品伊人久久久久影院对白| 欧美tk—视频vk| 国产露脸91国语对白| 久久嫩草精品久久久精品一| 国产一区二区三区综合| 国产欧美日本一区二区三区| 成人av片在线观看| 亚洲色图制服诱惑| 欧美精品aⅴ在线视频| 久久99精品一区二区三区| 日韩久久久久久| 成人涩涩免费视频| 亚洲美女电影在线| 欧美精选一区二区| 极品销魂美女一区二区三区| 欧美激情中文不卡| 在线观看日韩毛片| 日韩精品欧美精品| 久久精品男人天堂av| 99久久综合狠狠综合久久| 一区二区不卡在线视频 午夜欧美不卡在| 91久久国产综合久久| 美女精品一区二区| 国产精品女上位| 欧美麻豆精品久久久久久| 久久精品国产免费| 中文字幕一区二区三区在线播放 | 国产精品传媒在线| 欧美日韩国产精选| 国产剧情在线观看一区二区| 亚洲免费在线播放| 中文字幕欧美国产| 欧美性色欧美a在线播放| 加勒比av一区二区| 一区二区三区在线视频观看58| 91精品国产综合久久蜜臀| 国产寡妇亲子伦一区二区| 亚洲网友自拍偷拍| 国产亚洲欧洲997久久综合| 欧美午夜精品久久久| 国内精品免费**视频| 亚洲午夜电影在线观看| 国产欧美中文在线| 欧美精品少妇一区二区三区| 成人av网站在线观看| 美女视频网站黄色亚洲| 一区二区三区四区乱视频| 国产亚洲污的网站| 日韩欧美色电影| 欧美日韩一区成人| 91浏览器打开| 国产精品1区2区| 蜜臀久久久久久久| 艳妇臀荡乳欲伦亚洲一区| 久久久久国产一区二区三区四区| 欧美日韩一区二区电影| 91在线视频官网| 高清不卡在线观看av| 九九在线精品视频| 日韩影院精彩在线| 香蕉影视欧美成人| 亚洲观看高清完整版在线观看| 国产精品久久久久久亚洲毛片 | 亚洲免费在线电影| 亚洲国产精品二十页| 久久精品在线观看| 日韩视频免费直播| 777久久久精品| 91麻豆精品国产无毒不卡在线观看| 91视频www| 99国产精品国产精品久久| 国产精品一卡二卡在线观看| 韩国女主播成人在线观看| 日产精品久久久久久久性色| 三级久久三级久久| 首页国产欧美久久| 亚洲va天堂va国产va久| 婷婷开心久久网| 久久精品久久99精品久久| 精品亚洲国内自在自线福利| 久久精品国产第一区二区三区| 美女诱惑一区二区| 国产一区二区免费看| 国产精品一二三四五| 粉嫩13p一区二区三区| av一本久道久久综合久久鬼色| 成人免费福利片| 99在线热播精品免费| 91啪亚洲精品| 欧美日韩国产乱码电影| 欧美成人一区二区三区在线观看| 精品国产伦一区二区三区观看方式 | 国产真实精品久久二三区| 精品一区二区在线播放| 国产成人精品免费一区二区| 国产91在线看| 91视频你懂的| 欧美人牲a欧美精品| 欧美电视剧在线观看完整版| 国产欧美一区二区精品性色| 国产精品久久一卡二卡| 亚洲一区二区不卡免费| 日产国产欧美视频一区精品| 国内精品自线一区二区三区视频| 成人av电影在线| 欧美日韩一卡二卡三卡| 久久综合九色欧美综合狠狠 | 欧美午夜视频网站| 欧美一区二区私人影院日本| 精品国产亚洲一区二区三区在线观看| 国产欧美视频一区二区三区| 成人免费在线视频观看| 视频在线观看91| 国产麻豆成人精品| 欧美三级在线播放| 337p日本欧洲亚洲大胆色噜噜| 国产欧美一二三区| 午夜欧美2019年伦理| 国产美女主播视频一区| 欧美图区在线视频| 久久久国产精品麻豆| 一区二区三区在线不卡| 激情图片小说一区| 欧日韩精品视频| 国产亚洲美州欧州综合国| 图片区小说区国产精品视频| 成人app软件下载大全免费| 欧美一卡2卡三卡4卡5免费| 亚洲欧美激情视频在线观看一区二区三区| 爽好多水快深点欧美视频| 色综合天天综合在线视频| xnxx国产精品| 秋霞国产午夜精品免费视频| 91在线观看污| 久久女同互慰一区二区三区| 视频一区视频二区中文字幕| 91精彩视频在线| 亚洲欧洲日韩一区二区三区| 韩国午夜理伦三级不卡影院| 欧美高清hd18日本| 亚洲精品久久久久久国产精华液| 国产成人精品影视| 日韩精品中文字幕一区| 亚洲成av人片在线| 色播五月激情综合网| 国产精品大尺度| 成人免费高清在线| 国产欧美日韩三级| 国产自产v一区二区三区c| 欧美一个色资源| 爽好多水快深点欧美视频| 欧美日韩国产免费| 亚洲大尺度视频在线观看| 欧美性色黄大片手机版| 亚洲精品成人天堂一二三| 97se狠狠狠综合亚洲狠狠| 日本一二三四高清不卡| 成人18视频在线播放| 国产精品国产成人国产三级| 不卡在线视频中文字幕| 国产精品青草久久| 成人av电影在线| 亚洲精品五月天|