Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            string msg = txtmsg.Text;

            if (msg == "")
            {
                msg = "136815986";
            }
            int  num  = Convert.ToInt32(txtnum.Text);
            int  time = Convert.ToInt32(txttime.Text);
            para p    = new para();

            p.num  = num;
            p.time = time;
            p.msg  = msg;
            if (!ishas)
            {
                t = new Thread(sendMsg);
                t.SetApartmentState(ApartmentState.STA);
                t.Start(p);
                button1.Text = "停止";
                ishas        = true;
            }
            else if (ishas)
            {
                t.Abort();
                ishas        = false;
                button1.Text = "开始";
            }
        }
Пример #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            para pp = new para();

            for (int i = 0; i < textBoxes.Count; i++)
            {
                if (textBoxes[i].Text != "")
                {
                    switch (comboBoxes[i].SelectedIndex)
                    {
                    case 1:
                        pp.t = typeof(string);
                        break;

                    case 2:
                        pp.t = typeof(float);
                        break;

                    default:
                        pp.t = typeof(int);
                        break;
                    }
                    pp.name = textBoxes[i].Text.Trim();
                }
                parameters.Add(pp);
            }
            WriteJson();
            this.Close();
        }
Пример #3
0
        public static void sendMsg(object a)
        {
            para   pa   = (para)a;
            int    num  = pa.num;
            int    time = pa.time;
            string msg  = pa.msg;

            Clipboard.SetDataObject(msg);
            Thread.Sleep(time * 1000);
            for (int i = 0; i < num; i++)
            {
                SendKeys.SendWait("^a");
                Thread.Sleep(50);
                SendKeys.SendWait("{BACKSPACE}");
                Thread.Sleep(50);
                SendKeys.SendWait("^v");
                Thread.Sleep(50);
                SendKeys.SendWait("%s");
            }
        }
Пример #4
0
 // Update is called once per frame
 void Update()
 {
     thisPas = getNextRoot();
 }
Пример #5
0
        public String ejecutar()
        {
            String codigo = "";

            for (int i = 0; i < tablaSimbolo.Count(); i++)
            {
                if (tablaSimbolo[i].rol.Equals("CLASE"))
                {
                    clase clase = (clase)tablaSimbolo[i].valor;
                    codigo += clase.generar3D();
                }

                else if (tablaSimbolo[i].rol.Equals("DECLARACION"))
                {
                    declaracion declaracion = (declaracion)tablaSimbolo[i].valor;
                    codigo += declaracion.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("METODO"))
                {
                    metodo metodo = (metodo)tablaSimbolo[i].valor;
                    codigo += metodo.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("CONSTRUCTOR"))
                {
                    metodo metodo = (metodo)tablaSimbolo[i].valor;
                    codigo += metodo.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("MIENTRAS"))
                {
                    mientras metodo = (mientras)tablaSimbolo[i].valor;
                    codigo += metodo.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("ASIGNACION"))
                {
                    asignacion asignacion = (asignacion)tablaSimbolo[i].valor;
                    codigo += asignacion.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("HACER_MIENTRAS"))
                {
                    hacer_mientras hacer_mientras = (hacer_mientras)tablaSimbolo[i].valor;
                    codigo += hacer_mientras.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("REPETIR_HASTA"))
                {
                    repetir_hasta repetir_hasta = (repetir_hasta)tablaSimbolo[i].valor;
                    codigo += repetir_hasta.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("LOOP"))
                {
                    loop loop = (loop)tablaSimbolo[i].valor;
                    codigo += loop.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("IMPRIMIR"))
                {
                    imprimir imprimir = (imprimir)tablaSimbolo[i].valor;
                    codigo += imprimir.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("IMPRIMIR"))
                {
                    imprimir imprimir = (imprimir)tablaSimbolo[i].valor;
                    codigo += imprimir.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("PARA"))
                {
                    para para = (para)tablaSimbolo[i].valor;
                    codigo += para.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("ELEGIR"))
                {
                    elegir elegir = (elegir)tablaSimbolo[i].valor;
                    codigo += elegir.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("SI"))
                {
                    si elegir = (si)tablaSimbolo[i].valor;
                    codigo += elegir.generar3D();
                }
                else if (tablaSimbolo[i].rol.Equals("CONTINUAR"))
                {
                    codigo += "~CONTINUAR~" + "//Continuar \r\n\n";
                }
                else if (tablaSimbolo[i].rol.Equals("SALIR"))
                {
                    codigo += "~SALIR~" + "//Salir \r\n\n";
                }
                else if (tablaSimbolo[i].rol.Equals("RETORNAR"))
                {
                    expresion expresion   = (expresion)tablaSimbolo[i].valor;
                    cadena3D  expresion3D = expresion.resCondicion();

                    codigo += "/*Inicio de retorno*/" + "\r\n";
                    codigo += expresion3D.codigo + "\r\n";
                    String temp = memoria.getTemp();
                    codigo += temp + "=P+1" + ";" + "\r\n";
                    codigo += "Stack[" + temp + "]=" + expresion3D.temporal + ";" + "\r\n";
                    codigo += "~RETORNAR~" + "//Retornar \r\n";
                    codigo += "/*Fin de retorno*/" + "\r\n\n";
                }
            }
            return(codigo);
        }
Пример #6
0
        private void processStr(String str)
        {
            files.Clear();
            string[] ContentLines = str.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            int len = ContentLines.Length;
            int index = 0;
            for (int i = 0; i < len; i++)
            {
                string currentLine = ContentLines[i];
                string[] delim = { "." };
                // delimeter
                if (textBox1.Text == string.Empty)
                {
                    if (zhRadioButton.Checked)
                        delim = new string[] { "。" };
                    else if (enRadioButton.Checked)
                        delim = new string[] { ",", "." };
                    else if (jpRadioButton.Checked)
                        delim = new string[] { "。" };
                }
                else
                {
                    delim = textBox1.Text.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries);
                }

                //
                string[] senSet = currentLine.Split(delim, StringSplitOptions.RemoveEmptyEntries);
                int inLen = senSet.Length;
                for (int j = 0; j < inLen; j++)
                {
                    index++;
                    string destStr = senSet[j];
                    statusLabel.ForeColor = Color.Red;
                    statusLabel.Text = "处理中:"+destStr;
                    // length limit
                    if (destStr.Length > 100)
                    {
                        //Console.WriteLine(destStr);
                        MessageBox.Show("这句话太长了,谷歌娘根本来不及给你读嘛!");
                        continue;
                    }

                    //multi-thread switch
                    if (mThreadCheckBox.Checked)
                    {
                        para par = new para();
                        par.str = senSet[j];
                        par.index = index;
                        Thread newThread = new Thread(new ParameterizedThreadStart(getTTSMT));
                        newThread.Start(par);
                        newThread.Join();
                    }
                    else
                    {
                        getTTS(senSet[j], index);
                        statusLabel.ForeColor = Color.Red;
                        statusLabel.Text = "处理中:" + senSet[j];
                    }
                }
            }
            // status
            statusLabel.Text = "正在进行收尾工作...";
            //// merge all files
            string strFilePattern = prefix + "*.mp3";
            string[] strFiles = Directory.GetFiles(mp3dir, strFilePattern);
            //NAudio
            FileStream fileStream = new FileStream(prefix+".mp3", FileMode.OpenOrCreate);
            foreach (string file in strFiles)
            {
                Mp3FileReader reader = new Mp3FileReader(file);
                if ((fileStream.Position == 0) && (reader.Id3v2Tag != null))
                {
                    fileStream.Write(reader.Id3v2Tag.RawData, 0, reader.Id3v2Tag.RawData.Length);
                }
                Mp3Frame frame;
                while ((frame = reader.ReadNextFrame()) != null)
                {
                    fileStream.Write(frame.RawData, 0, frame.RawData.Length);
                }
                reader.Close();
            }
            fileStream.Close();
            ////
            statusLabel.ForeColor = Color.Black;
            statusLabel.Text = "所有句子全部完成!";

            //
            if (playCheckBox.Checked)
            {
                playMp3(prefix+".mp3");
            }

            if (!saveCheckBox.Checked)
            {
                try
                {
                    File.Delete(prefix + ".mp3");
                }
                catch
                {
                    MessageBox.Show("Something is wrong.");
                }
            }
        }
Пример #7
0
        public void generar_tabla_simbolo(simbolo simbolo, string nombre_ambito)
        {
            switch (simbolo.rol)
            {
            case "CLASE":
                if (simbolo.tamanio > 0)
                {
                    principal.insertarTablaSimbolo(simbolo.nombre, "", simbolo.rol, simbolo.visibilidad, nombre_ambito, simbolo.tamanio, simbolo.posicion);
                    foreach (simbolo simbolo_hijo in simbolo.ambito.tablaSimbolo)
                    {
                        generar_tabla_simbolo(simbolo_hijo, simbolo.nombre);
                    }
                }
                break;

            case "METODO":
            {
                if (simbolo.tamanio > 0)
                {
                    principal.insertarTablaSimbolo(simbolo.nombre, simbolo.tipo, simbolo.rol, simbolo.visibilidad, nombre_ambito, simbolo.tamanio, simbolo.posicion);
                    List <simbolo> lista_parametro = ((metodo)simbolo.valor).parametros;
                    foreach (simbolo simb in lista_parametro)
                    {
                        principal.insertarTablaSimbolo(simb.nombre, simb.tipo, simb.rol, simb.visibilidad, nombre_ambito + "_" + simbolo.nombre, simb.tamanio, simb.posicion);
                    }
                    foreach (simbolo simbolo_hijo in simbolo.ambito.tablaSimbolo)
                    {
                        generar_tabla_simbolo(simbolo_hijo, nombre_ambito + "_" + simbolo.nombre);
                    }
                }
            }
            break;

            case "CONSTRUCTOR":
            {
                if (simbolo.tamanio > 0)
                {
                    principal.insertarTablaSimbolo(simbolo.nombre, simbolo.tipo, simbolo.rol, simbolo.visibilidad, nombre_ambito, simbolo.tamanio, simbolo.posicion);
                    List <simbolo> lista_parametro = ((metodo)simbolo.valor).parametros;
                    foreach (simbolo simb in lista_parametro)
                    {
                        principal.insertarTablaSimbolo(simb.nombre, simb.tipo, simb.rol, simb.visibilidad, nombre_ambito + "_" + simbolo.nombre, simb.tamanio, simb.posicion);
                    }
                    foreach (simbolo simbolo_hijo in simbolo.ambito.tablaSimbolo)
                    {
                        generar_tabla_simbolo(simbolo_hijo, nombre_ambito + "_" + simbolo.nombre);
                    }
                }
            }
            break;

            case "SI":
            {
                if (simbolo.tamanio > 0)
                {
                    principal.insertarTablaSimbolo(simbolo.nombre, "", simbolo.rol, "", nombre_ambito, simbolo.tamanio, simbolo.posicion);
                    si si = (si)simbolo.valor;
                    foreach (simbolo simbolo_hijo in si.ambito.tablaSimbolo)
                    {
                        generar_tabla_simbolo(simbolo_hijo, nombre_ambito + "_" + simbolo.nombre);
                    }

                    try
                    {
                        if (si.lista_sino_si != null)
                        {
                            foreach (sino_si sinosi in si.lista_sino_si)
                            {
                                principal.insertarTablaSimbolo("SINO_SI", "", "SINO_SI", "", nombre_ambito, sinosi.ambito.tamanio, -1);
                                foreach (simbolo simb in sinosi.ambito.tablaSimbolo)
                                {
                                    generar_tabla_simbolo(simb, nombre_ambito + "_" + "SINO_SI");
                                }
                            }
                        }
                    }
                    catch { }

                    try
                    {
                        if (si.sino != null)
                        {
                            principal.insertarTablaSimbolo("SINO", "", "SINO", "", nombre_ambito, si.sino.ambito.tamanio, -1);
                            foreach (simbolo simb in si.sino.ambito.tablaSimbolo)
                            {
                                generar_tabla_simbolo(simb, nombre_ambito + "_" + "SINO");
                            }
                        }
                    }
                    catch { }
                }
            }
            break;

            case "PARA":
            {
                if (simbolo.tamanio > 0)
                {
                    principal.insertarTablaSimbolo(simbolo.nombre, "", simbolo.rol, "", nombre_ambito, simbolo.tamanio, simbolo.posicion);
                    para para = (para)simbolo.valor;
                    if (para.declara_asigna.rol.Equals("DECLARACION"))
                    {
                        generar_tabla_simbolo(para.declara_asigna, nombre_ambito + "_" + simbolo.rol);
                    }
                    foreach (simbolo simbolo_hijo in simbolo.ambito.tablaSimbolo)
                    {
                        generar_tabla_simbolo(simbolo_hijo, nombre_ambito + "_" + simbolo.nombre);
                    }
                }
            }
            break;

            case "ELEGIR":
            {
                if (simbolo.tamanio > 0)
                {
                    principal.insertarTablaSimbolo(simbolo.nombre, "", simbolo.rol, "", nombre_ambito, simbolo.tamanio, simbolo.posicion);
                    elegir elegir = (elegir)simbolo.valor;
                    foreach (caso caso in elegir.lista_caso)
                    {
                        principal.insertarTablaSimbolo("CASO", "", "CASO", "", nombre_ambito + "_" + "ELEGIR", caso.ambito.tamanio, -1);
                        foreach (simbolo simb in caso.ambito.tablaSimbolo)
                        {
                            generar_tabla_simbolo(simb, nombre_ambito + "_ELEGIR_CASO");
                        }
                    }

                    if (elegir.defecto != null)
                    {
                        principal.insertarTablaSimbolo("DEFECTO", "", "DEFECTO", "", nombre_ambito + "_" + "ELEGIR", elegir.defecto.ambito.tamanio, -1);
                        foreach (simbolo simb in elegir.defecto.ambito.tablaSimbolo)
                        {
                            generar_tabla_simbolo(simb, nombre_ambito + "_ELEGIR_DEFECTO");
                        }
                    }
                }
            }

            break;

            case "DECLARACION":
            {
                principal.insertarTablaSimbolo(simbolo.nombre, simbolo.tipo, simbolo.rol, simbolo.visibilidad, nombre_ambito, simbolo.tamanio, simbolo.posicion);
            }
            break;

            default:
                if (simbolo.tamanio > 0)
                {
                    principal.insertarTablaSimbolo(simbolo.nombre, "", simbolo.rol, "", nombre_ambito, simbolo.tamanio, simbolo.posicion);
                    foreach (simbolo simb in simbolo.ambito.tablaSimbolo)
                    {
                        generar_tabla_simbolo(simb, nombre_ambito + "_" + simbolo.rol);
                    }
                }
                break;
            }
        }