elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22
181  Programación / .NET (C#, VB.NET, ASP) / Teclado por Voz configurable en: 12 Diciembre 2017, 18:36 pm
hola nuevamente amigos, de antemano le sidre que resolvi el problema de 7z y comprimir directorio espero me digan si es posible hacer un post referente a eso con la respuetsa al problema.

Dejando de lado el punto anterio, se me presento una idea que no se como plantear y espero puedan ayudarme.

hice un boton a primera instancia para mostrar una letra "H" esto fue simbolico, luego de crear los objetos de recognizer y sintesis, cree un "string letraH" y "string speech"

cargue de manera normal
Código:
escucha.SpeechRecognized += Escucha_SpeechRecognized;
aqui procure crear el switch con la finalidad de meter la poblie orden que colocaria en un textbox
Código:
 private void Escucha_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            speech = e.Result.Text;
            switch (speech)
            {
                case textBox:
                    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_H);
                    break;
            }           

        }

luego cree el textBox para poder escribir la palabra y a mi parecer darle valor al "string letraH"

Código:
private void textBox_TextChanged(object sender, TextChangedEventArgs e)
        {           
            letraH = txtH.Text;
        }

aqui crei que todo iria bien , pero me dio error en
Código:
case textBox:
ya que al parecer solo acepta una entrada de texto y no string "texto";

trate de usar el try/catch y resulto que detectaba cualquier sonido y ejecutaba el comando, mas no se regia por lo que yo anotara en el textBox (que es lo que quiero lograr) y este me lo capte el switch
Código:
case letraH

si alguien puede explicarme como debo hacer le estaria muy agradecido ya que desconozco de herramientas.
182  Programación / .NET (C#, VB.NET, ASP) / Re: Libreria ookii ayuda en: 12 Diciembre 2017, 02:11 am
entendido, no me habia percatado de eso, si se corre ese codigo tal cual como esta, luego de seleccionar la carpeta... no pasa nada... no comprime la carpeta ahi esta lo malo.
no se por que pasa eso, si segun todo esta "bien"
183  Programación / .NET (C#, VB.NET, ASP) / Libreria ookii ayuda en: 11 Diciembre 2017, 14:17 pm
hola amigos aqui vengo con un problema no se implementar esta libreria, alguien podria ayudarme explicandolo paso a paso porfavor, mi objetivo es obtener esa direccion de la carpeta que seleccionare para poder comprimirla, les muestro mi el programa.

si hay que hacer cambios no hay problema alguno solo pido que funcione.

Código:
namespace CaptureWPF
{
    public partial class MainWindow : Window
    {
        SpeechSynthesizer habla = new SpeechSynthesizer();
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button_Click(object sender, RoutedEventArgs e)
        {
         VistaFolderBrowserDialog dlg = new VistaFolderBrowserDialog();

           dlg.SelectedPath = Properties.Settings.Default.StoreFolder;
dlg.ShowNewFolderButton = true;

if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    string path = dlg.SelectedPath;


                string targetName2 = (DateTime.Now.ToString("dd-MM-yy---h-mm-sst"));
                //Carpeta de destino
                string pathDestination = @"C:\ComprimidosAsistente\";
                ProcessStartInfo p = new ProcessStartInfo();
                p.FileName = @"Procesos\7z.exe";

                p.Arguments = "a " + pathDestination + targetName2 + " @listfile.lst" + " -t7z -mx=9";
                p.WindowStyle = ProcessWindowStyle.Hidden;
                Process x = Process.Start(p);
                habla.SpeakAsync("Esto puede tardar, dependiendo del tamaño del archivo");
                x.WaitForExit();
                File.Delete("listfile.lst");
                            } //if
        }

        private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            DragMove();
        } //Mover ventana

        private void Salir_Click(object sender, RoutedEventArgs e)
        {
            Close();
        } //Boton cerrar

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var ret = Process.Start(@"C:\ComprimidosAsistente");
                if (ret == null)
                { }
            }
            catch (Exception)
            {
                habla.Speak("La carpeta no se encuentra, se crea automáticamente al comprimir el archivo, o puede crearla manualmente en la siguiente dirección:");
                System.Windows.MessageBox.Show("Crea una carpeta en el disco C:  llamada: ComprimidosAsistentes");
            }
                    } //Boton ir a carpetas de comprimidos

    }
}

eso esta malo podrian corregirlo por favor estare muy muy agradecido. buen dia
184  Programación / .NET (C#, VB.NET, ASP) / Calculadora por Voz en: 9 Diciembre 2017, 15:02 pm
hola de nuevo amigos hoy les traigo un asunto interesante, resulta que quiero hacer una calculadora que funcione con voz, en efecto basandome en ejemplos consegui eso, suma, resta, multiplica y divide. eh aqui el codigo para que lo prueben

Código:
 class ConsoleSpeechProgram
    {
        static SpeechSynthesizer habla = new SpeechSynthesizer();
        static SpeechRecognitionEngine escucha;
        static bool done = false;
        static bool speechOn = true;
       
        static void Main(string[] args)
        {
            try
            {
                habla.SetOutputToDefaultAudioDevice();
                habla.SpeakAsync("Esperando Datos Para Calcular");
                escucha = new SpeechRecognitionEngine();
                escucha.SetInputToDefaultAudioDevice();
                escucha.SpeechRecognized += habla_SpeechRecognized;
                Choices ch_StartStopCommands = new Choices();
                ch_StartStopCommands.Add("calcula esto");
                ch_StartStopCommands.Add("desactivado");
                ch_StartStopCommands.Add("calculo terminado");
                GrammarBuilder gb_StartStop = new GrammarBuilder();
                gb_StartStop.Append(ch_StartStopCommands);
                Grammar g_StartStop = new Grammar(gb_StartStop);               
                //Choices ch_Numbers = new Choices();               
                //ch_Numbers.Add("1" + "1");
                //ch_Numbers.Add("10" + "1");
                //ch_Numbers.Add("10" + "2");
                //ch_Numbers.Add("10");
                //string[] Numbers = new string[1000]; //fallo en reconocimiento no es acertivo
                //for (int i = 0; i < 1000; ++i)
                //    Numbers[i] = i.ToString();
                //Choices ch_Numbers = new Choices(Numbers);
                // Choices ch_Numbers = new Choices(File.ReadAllLines(@"Numeral.txt"));
                // escucha.LoadGrammarAsync(new System.Speech.Recognition.Grammar(new GrammarBuilder(new Choices(File.ReadAllLines(@"Numeral.txt")))));
                GrammarBuilder gb_WhatIsXplusY = new GrammarBuilder();
                gb_WhatIsXplusY.Append("cuanto es");
                gb_WhatIsXplusY.Append(ch_Numbers);
                gb_WhatIsXplusY.Append("mas");
                gb_WhatIsXplusY.Append(ch_Numbers);
                GrammarBuilder gb_WhatIsXmenosY = new GrammarBuilder();
                gb_WhatIsXmenosY.Append("cuanto es");
                gb_WhatIsXmenosY.Append(ch_Numbers);
                gb_WhatIsXmenosY.Append("menos");
                gb_WhatIsXmenosY.Append(ch_Numbers);
                GrammarBuilder gb_WhatIsXporY = new GrammarBuilder();
                gb_WhatIsXporY.Append("cuanto es");
                gb_WhatIsXporY.Append(ch_Numbers);
                gb_WhatIsXporY.Append("por");
                gb_WhatIsXporY.Append(ch_Numbers);
                GrammarBuilder gb_WhatIsXentreY = new GrammarBuilder();
                gb_WhatIsXentreY.Append("cuanto es");
                gb_WhatIsXentreY.Append(ch_Numbers);
                gb_WhatIsXentreY.Append("entre");
                gb_WhatIsXentreY.Append(ch_Numbers);
                Grammar g_WhatIsXplusY = new Grammar(gb_WhatIsXplusY);
                Grammar g_WhatIsXmenosY = new Grammar(gb_WhatIsXmenosY);
                Grammar g_WhatIsXporY = new Grammar(gb_WhatIsXporY);
                Grammar g_WhatIsXentreY = new Grammar(gb_WhatIsXentreY);
                escucha.LoadGrammarAsync(g_StartStop);
                escucha.LoadGrammarAsync(g_WhatIsXplusY);
                escucha.LoadGrammarAsync(g_WhatIsXmenosY);
                escucha.LoadGrammarAsync(g_WhatIsXporY);
                escucha.LoadGrammarAsync(g_WhatIsXentreY);
                escucha.RecognizeAsync(RecognizeMode.Multiple);
                while (done == false) {; }
                habla.Speak("Cálculos Desactivados");
                Application.Exit();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadLine();
            }
        } // Main

          static void habla_SpeechRecognized(object sender,
          SpeechRecognizedEventArgs e)
           
        {
           
            string txt = e.Result.Text;
                       
            float confidence = e.Result.Confidence;
            Console.WriteLine("\nRecognized: " + txt);
            if (confidence < 0.60) return;
            if (txt.IndexOf("calcula esto") >= 0)
            {
                habla.Speak("Esperando Datos");
                speechOn = true;                               
            }
            if (txt.IndexOf("desactivado") >= 0)
            {
                habla.Speak("cálculos desactivados");
                speechOn = false;
            }
            if (speechOn == false) return;
            if (txt.IndexOf("calculo") >= 0 && txt.IndexOf("terminado") >= 0)
            {

                ((SpeechRecognitionEngine)sender).RecognizeAsyncCancel();
                done = true;
                                       
            }
            if (txt.IndexOf("cuanto") >= 0 && txt.IndexOf("mas") >= 0)
            {
                string[] words = txt.Split(' ');
                double num1 = int.Parse(words[2]);
                double num2 = int.Parse(words[4]);
                double sum = num1 + num2;
                Console.WriteLine("(Speaking: " + words[2] + " + " +
                  words[4] + " = " + sum + ")");
                habla.Speak(words[2] + " mas " + words[4] +
                  " es igual a " + sum);
            }
            if (txt.IndexOf("cuanto") >= 0 && txt.IndexOf("menos") >= 0)
            {
                string[] words = txt.Split(' ');
                double num1 = int.Parse(words[2]);
                double num2 = int.Parse(words[4]);
                double res = num1 - num2;
                Console.WriteLine("(Speaking: " + words[2] + " - " +
                  words[4] + " = " + res + ")");
                habla.Speak(words[2] + " menos " + words[4] +
                  " es igual a " + res);
            }
            if (txt.IndexOf("cuanto") >= 0 && txt.IndexOf("por") >= 0)
            {
                string[] words = txt.Split(' ');
                double num1 = int.Parse(words[2]);
                double num2 = int.Parse(words[4]);
                double mul = num1 * num2;
                Console.WriteLine("(Speaking: " + words[2] + " * " +
                  words[4] + " = " + mul + ")");
                habla.Speak(words[2] + " por " + words[4] +
                  " es igual a " + mul);
            }
            if (txt.IndexOf("cuanto") >= 0 && txt.IndexOf("entre") >= 0)
            {
                string[] words = txt.Split(' ');
                double num1 = int.Parse(words[2]);
                double num2 = int.Parse(words[4]);
                double div = num1 / num2;
                Console.WriteLine("(Speaking: " + words[2] + " / " +
                  words[4] + " = " + div + ")");
                habla.Speak(words[2] + " entre " + words[4] +
                  " es igual a " + div);
            }
        }

     
    }
}

hasta aqui todo va chevere pero las gramaticas de numeros es lo que se complica ya alla arriba comentado estan formas que probe y no dio resultado como queria entocnes investigando, encontre este codigo.

Perfecto si lo que quisiera pasar de numeros a palabras.

Código:
 class Program
    {
        // PROGRAM HANDLES NEGATIVE AND POSITIVE DOUBLES


        static String NumWordsWrapper(double n)
        {
            string words = "";
            double intPart;
            double decPart = 0;
            if (n == 0)
                return "cero";
            try
            {
                string[] splitter = n.ToString().Split('.');
                intPart = double.Parse(splitter[0]);
                decPart = double.Parse(splitter[1]);
            }
            catch
            {
                intPart = n;
            }

            words = NumWords(intPart);

            if (decPart > 0)
            {
                if (words != "")
                    words += " y ";
                int counter = decPart.ToString().Length;
                switch (counter)
                {
                    case 1: words += NumWords(decPart) + " decimas"; break;
                    case 2: words += NumWords(decPart) + " centesimas"; break;
                    case 3: words += NumWords(decPart) + " milesimas"; break;
                    case 4: words += NumWords(decPart) + " diez-milesimas"; break;
                    case 5: words += NumWords(decPart) + " cien-milesimas"; break;
                    case 6: words += NumWords(decPart) + " millonesima"; break;
                    case 7: words += NumWords(decPart) + " diez-millonesima"; break;
                }
            }
            return words;
        }

        static String NumWords(double n) //converts double to words
        {
            string[] numbersArr = new string[] { "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince", "dieciseis", "diecisiete", "dieciohco", "diecinueve" };
            string[] tensArr = new string[] { "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa" };
            string[] suffixesArr = new string[] { "mil", "millones", "billon", "trillon", "quadrillon", "quintillon", "sextillon", "septillon", "octillon", "nonillon", "decillon", "undecillon", "duodecillon", "tredecillon", "Quattuordecillon", "Quindecillon", "Sexdecillon", "Septdecillon", "Octodecillon", "Novemdecillon", "Vigintillon" };
            string words = "";

            bool tens = false;

            if (n < 0)
            {
                words += "negative ";
                n *= -1;
            }

            int power = (suffixesArr.Length + 1) * 3;

            while (power > 3)
            {
                double pow = Math.Pow(10, power);
                if (n >= pow)
                {
                    if (n % pow > 0)
                    {
                        words += NumWords(Math.Floor(n / pow)) + " " + suffixesArr[(power / 3) - 1] + ", ";
                    }
                    else if (n % pow == 0)
                    {
                        words += NumWords(Math.Floor(n / pow)) + " " + suffixesArr[(power / 3) - 1];
                    }
                    n %= pow;
                }
                power -= 3;
            }
            if (n >= 1000)
            {
                if (n % 1000 > 0) words += NumWords(Math.Floor(n / 1000)) + " mil, ";
                else words += NumWords(Math.Floor(n / 1000)) + " mil";
                n %= 1000;
            }
            if (0 <= n && n <= 999)
            {
                if ((int)n / 100 > 0)
                {
                    words += NumWords(Math.Floor(n / 100)) + " ciento";
                    n %= 100;
                }
                if ((int)n / 10 > 1)
                {
                    if (words != "")
                        words += " ";
                    words += tensArr[(int)n / 10 - 2];
                    tens = true;
                    n %= 10;
                }

                if (n < 20 && n > 0)
                {
                    if (words != "" && tens == false)
                        words += " ";
                    words += (tens ? " y " + numbersArr[(int)n - 1] : numbersArr[(int)n - 1]);
                    n -= Math.Floor(n);
                }
            }

            return words;

        }
        static void Main(string[] args)
        {
            Console.Write("Introduce un numero para escribirlo en letras: ");
            Double n = Double.Parse(Console.ReadLine());

            Console.WriteLine("{0}", NumWordsWrapper(n));
            Console.ReadKey();
        }
    }

con este codigo al ejecutarlo yo puedo colocar cualquier numero y el lo responde escrito en letras, en este caso lo que necesito es lo contrario y ver como adaptar ese codigo a la calculadora , en teoria no harian falta millones de numeros y el resultado seria una calculadora que entendiera cualquier cifra hablada.
185  Programación / .NET (C#, VB.NET, ASP) / Re: Consulta AppendDictation en: 9 Diciembre 2017, 01:31 am
muchas gracias por la respuesta elektro empezare por ahi, y pronto les traere un tema interesante a ver como me ayudan a resolverlo
186  Programación / .NET (C#, VB.NET, ASP) / Re: Consulta AppendDictation en: 5 Diciembre 2017, 11:27 am
Nadie sabe? acudo a personas porque se que los libros no me diran algo consiso y preciso respecto a esto.

una pregunta mas existe algun appenDictation de numeros si es asi cual es??
187  Programación / .NET (C#, VB.NET, ASP) / Consulta AppendDictation en: 3 Diciembre 2017, 23:19 pm
Hola de nuevo amigos, hoy les traigo mas que un problema una duda, resulta que el appendDictation de windows, o bueno visualstudios, tiene una gran cantidad de gramaticas por defecto, el problema es que en palabras complejas o mas de 2 palabras deja de ser acertivo, podria definirlo como problemas de audicion  :laugh:.

Tengo varias inquietudes, el entrenamiento de windows hace que el funcione de mejor manera escuche y entienda mejor?

existen apis mejores que el de windows que cumplan esa funcion (español netamente) ?

sacando el entrenamiento de windows hay alguna forma de hacer que mejore?

espero sus respuestas y gracias de antemano.
PD. Estudio no lo dejo de lado pero a mi mente vienen esas dudas que me gustaria despejar.

Gracias de antemano
188  Programación / .NET (C#, VB.NET, ASP) / Re: 7 Zip Extraer en: 3 Diciembre 2017, 02:53 am
hola de nuevo, les cuento que en efecto lei temas relacionados a los threads o (hilos) y bueno ... entendi poco para variar ,, pero como ante la adversidad el ingenio aflora, lo resolvi cerrando el proceso desde la aplicacion base y listo, ya a este punto dare por terminado este tema agradecido por los que me asistieron y empezar a informarme del tema , muuuchas gracias y gracias por los tutoriales que me dejaron en post anteriores ya hay tela de donde cortar para empeparse del asunto
189  Programación / .NET (C#, VB.NET, ASP) / Re: 7 Zip Extraer en: 2 Diciembre 2017, 03:34 am
en efecto como el amigo okik dijo si resulto tal cual solo cambie el exe y todo lo deje como estaba, gracias de nuevo, me pondre a aprender de videos y los docuemntos que me facilito elektro para continuar en mi proyecto y no andar perdido o no tanto, feliz noche , ya solo me queda colocar un boton para cancelar la accion por que al comenzar a extraer ya no hay vuelta atras si te arrepientees,eso lo hice pero buscar una forma de que la pausa mientras comprime o descomprime , no me inabilite todo el programa y me deje usar el boton de cancelar, tengo varias opciones que probare y les cuento despues de mi resultado, gracias de nuevo
190  Programación / .NET (C#, VB.NET, ASP) / Re: 7 Zip Extraer en: 1 Diciembre 2017, 10:48 am
No elektro nada de ofender, por que es la realidad y si lo tengo muy claro en deber empezar a leer mas de c# y programacion orientada a obejos, en efecto si habia visto ejemplos donde saliean "\" estos parentecis cosas que no sabia para que eran, cosa que entiendo ya, "palos de ciego" me causo gracias por que es verdad y hasta yo mismo me incomodo por no saber realmente lo que hago, y en ocasiones resolver asuntos solo por mera casualidad o suerte, esta ayuda la agradezco enteramente y ya eh estado bajando videos tutoriales para empaparme del asunto, como deberia ser, procurare al terminar este problema de extraccion , plantear una duda generada por el material de estudio, es posible hacerlo? gracias nuevamente y  me pondre manos a la obra con la guia de okik al regresar del trabajo, buen dia y gracias. (nota no descomprime "*.rar" , " *.iso") y lei en la pagina que si lo hace, hay q hacerlo de manera distinta , ya que con zip y 7z va sin novedad.
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines