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


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23
191  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
192  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.
193  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
194  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??
195  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
196  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
197  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
198  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.
199  Programación / .NET (C#, VB.NET, ASP) / 7 Zip Extraer en: 1 Diciembre 2017, 01:57 am
Hola de nuevo amigos, como en el post anterior se logro un codigo para comprimir un archivo por medio del openfilediag, en este nuevo post ya hay gran parte del trabajo hecho, solo que no veo, y no doy con el problema no poder extraer, con la linea de comando.

espero alguien pueda ver y corregir este codigo

Código:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    using Microsoft.Win32; //Necesario para el uso de OpenFileDialog
    using System.Diagnostics; //Necesario para el uso de ProcessStartInfo y Precess
    using System.IO; //Necesario para el uso de File y StreamWriter
    
    namespace WpfApplication1
    {
        /// <summary>
        /// Lógica de interacción para MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
    
                OpenFileDialog ofd = new OpenFileDialog();
    
                    ofd.Title = "Archivos a comprimir";
                    ofd.Filter = "All files|*.7z; *.rar; *.zip; *.iso";
                    ofd.Multiselect = true;
                    if ((ofd.ShowDialog() == true))
                    {
                        StreamWriter sw = new StreamWriter("listfile.lst");
                        //Crea una lista de archivos
                        foreach (string n in ofd.FileNames)
                        {
                            sw.WriteLine(n);
                        }//foreach
                        sw.Close();
                        int mx = 1;
    
                        string targetName = "Example";
                        //Carpeta de destino
                        string pathDestination = "Prueba\\";
                        ProcessStartInfo p = new ProcessStartInfo();
                        p.FileName = "7za.exe";
    
                        p.Arguments = "a " + pathDestination + targetName + " @listfile.lst" + " -t7z -mx" + mx; <--- ERROR DE ARGUMENTOS (segun mi criterio)
                        p.WindowStyle = ProcessWindowStyle.Hidden;
                        Process x = Process.Start(p);
                        x.WaitForExit();
                        File.Delete("listfile.lst");
                    } //if
    
            }
        }
    }
    
    

busque en internet y decia que debia colocar la letra "x" en donde va "a" pero al hcerlo nada ocurre, alguna solucion del porque eso pasa? gracias de antemano
200  Programación / .NET (C#, VB.NET, ASP) / Re: 7-ZIp en: 29 Noviembre 2017, 00:17 am
muchas gracias @okik por un simple error de comillas no servia el argumento de compresion pero ya revisando el tuyo y corrigiendo el mio se resolvio, en efecto como dice @elektro habia leido sobre el DispatcherTimer Class | docs.microsoft.com, solo que no sabia como usarlo ni nada a pesar que habia encontrado informacion y el ingles no m e ayudo, (lo practicare mas si o si es necesario) . Dare este tema por terminado, causo bastante polemica y mas de mil vistas , espero que sea de ayuda para otros al igual que ami y doy muchas MUCHISIMAS!!!  gracias a los colaboradores que me asistieron , a pesar de no empezar con un buen pie espero no sea una piedra para nuestro camino, gracias y les traere nuevamente mas inquietudes al tenerlas.
Aplicare este mismo metodo al de descomprimir y publicare el codigo al estar listo, feliz noche y gracias nuevamente. gracias okik y elektro  :laugh: ;-)
(me disculpo por el doble o triple-post no sabia si era mejor editarlo y corregirlo asi q lo volvi a colocar pero se q no se debe hacer)

Código:
namespace Capture_Extractor
{
    /// <summary>
    /// Lógica de interacción para MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }


        private void button_Click(object sender, RoutedEventArgs e)
        {

            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Title = "Archivos a descomprimir";
            ofd.Filter = "All files|*.*";
            ofd.Multiselect = true;
            if ((ofd.ShowDialog() == true))
            {
                StreamWriter sw = new StreamWriter("listfile.lst");
                //Crea una lista de archivos
                foreach (string n in ofd.FileNames)
                {
                    sw.WriteLine(n);
                }//foreach
                sw.Close();
               

                string targetName = "Example";
                //Carpeta de destino
                string pathDestination = "Prueba\\";
                ProcessStartInfo p = new ProcessStartInfo();
                p.FileName = "7za.exe";

                p.Arguments = "7z x " + pathDestination + targetName + " @listfile.lst" ;
                p.WindowStyle = ProcessWindowStyle.Hidden;
                Process x = Process.Start(p);
                x.WaitForExit();
                File.Delete("listfile.lst");
            } //if
        }
    }
}

aqui esta el codigo del descomprimir y no hace nada , es posible en el argumento colocar de una vez los formatos (7z,zip,rar,iso, que son los mas comunes) en una sola linea? al yo colocar x es para que se extrajera en su propio directorio del nombre de archivo, creo q me falto la e , bueno probare y aqui les dejo el planteamiento de todos modos.
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines