|
Mostrar Temas
|
Páginas: 1 2 3 4 5 6 [7] 8
|
61
|
Programación / .NET (C#, VB.NET, ASP) / no me funciona el tooltip
|
en: 17 Diciembre 2017, 14:41 pm
|
hola ... de nuevo , me podrian explicar por que no me sirve el tooltip creo que lo hacia mal asi que buscque ejemplos en internet y en efecto lo hacia bien ToolTip ttEjemplo=new ToolTip();
ttEjemplo.SetToolTip(elNombredeTuBoton,"Texto a mostrar");
pero al colocarl el nombre de mi boton me lo señala en rojo!! y ya estoy rojo de no saber pr que, me ayudan
|
|
|
62
|
Programación / .NET (C#, VB.NET, ASP) / Guardar en txt con salto de liena
|
en: 17 Diciembre 2017, 13:08 pm
|
hola de nuevo, por aqui traigo una inquietud y no encuentro como solventarlo espero puedan uds ayudarme, espero todos esten bien, tengo un problema y es el siguiente, tengo esta linea para guardar en un archivo txt StreamWriter escrito = File.CreateText(@"Procesos\guardado.txt"); String contenido = textBox.Text; escrito.Write(contenido.ToString()); escrito.Flush(); escrito.Close(); Close();
segun este codigo lo que escriba en el textbox se guardara en un archivo nuevo txt, (funciona) eso hasta aqui esta claro , utilice el appendtext por el createtext, y resulta que me agrega la nueva palabra PERO pegada a la anterior y necesito que agregue la nueva, debajo de la anterior, como puedo logar eso??
|
|
|
63
|
Programación / .NET (C#, VB.NET, ASP) / Cargar settings y mostrar valor en txtbox
|
en: 14 Diciembre 2017, 18:53 pm
|
hola nuevamente, hoy les traigo algo que crei era simple o quizas lo es pero por falta de saber se me ha complicado, en un post anterior habia mensionado el hecho de guardar y recuperar los datos de una aplicacion, eso esta bien. ocurre ahora que al yo recuperar el valor guardado, lo hace mas no lo muestra en el textbox y no se por que , me podrian ayudar? private void btnGuardar_Click(object sender, RoutedEventArgs e) { Settings.Default.tecladoDefault = letraA; Settings.Default.Save(); }
private void btnCargar_Click(object sender, RoutedEventArgs e) { letraA = Settings.Default.tecladoDefault; } aqui tengo dos botones uno que guarda la configuracion del textbox donde l etraA = txtA.text; y el otro boton "cargar" que carga la configuracion de la palabra que se escribio en ese textbox, ahora bien, coloque un mensaje para que me mostrara el valor q me regresa y en efecto es la palabra guardada, pero en el textbox no se muestra nada. porque? que falta? para que se muestre eso? olvidaba mencionar que ya ese textbox tiene un texto preescrito que al hacer click se borra asi que no creo suponga problemas, ya que utilice el comando clear para limpiar el textbox antes de cargar la nueva configuracion y nada, elimine ese texto y lo cargue y nada que me lo muestra.
|
|
|
64
|
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 escucha.SpeechRecognized += Escucha_SpeechRecognized; aqui procure crear el switch con la finalidad de meter la poblie orden que colocaria en un textbox 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" private void textBox_TextChanged(object sender, TextChangedEventArgs e) { letraH = txtH.Text; } aqui crei que todo iria bien , pero me dio error en 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 si alguien puede explicarme como debo hacer le estaria muy agradecido ya que desconozco de herramientas.
|
|
|
65
|
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. 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
|
|
|
66
|
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 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. 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.
|
|
|
67
|
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  . 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
|
|
|
68
|
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 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
|
|
|
69
|
Programación / .NET (C#, VB.NET, ASP) / 7-ZIp
|
en: 21 Noviembre 2017, 04:21 am
|
Hola de nuevo amigos, despues de una batalla ganada en esta gran guerra jeje, me decido a usar (no se si llamarle api) de 7zip ya que quiero poder hacer click en un archivo cualquiera de mi pc y con una orden se comprima. alguien teine alguna idea? dejo un ejemplo que consegui pero no puedo llevar acabo ya que por mas click que hago enel archivo no me lo toma en cuenta al momento de ejecutar la orden. string sourceName = "ExampleText.txt"; string targetName = "Example.7z";
// 1 // Initialize process information. // ProcessStartInfo p = new ProcessStartInfo(); p.FileName = "7za.exe";
// 2 // Use 7-zip // specify a=archive and -tgzip=gzip // and then target file in quotes followed by source file in quotes // p.Arguments = "a -t7z \"" + targetName + "\" \"" + sourceName + "\" -mx=9"; p.WindowStyle = ProcessWindowStyle.Hidden;
// 3. // Start process and wait for it to exit // Process x = Process.Start(p); x.WaitForExit(); SOlamente toma archivos en una ruta especifica y no una ruta cualquiera. quice por iniciativa propia copiar en el portapapeles a ver si de ahi me lo tomaba y no. espero puedan ayudarme (aplicando la misma descripcion a descomprimir) y tomo este por que el winrar debe estar instalado en el huesped y el zip no tiene buena tasa de compresion.
|
|
|
70
|
Programación / .NET (C#, VB.NET, ASP) / Ayuda necesito que el pc lea
|
en: 20 Noviembre 2017, 00:43 am
|
buenas amigos les traigo lo siguiente , hago un programa simple donde lo que quiero es que cuando yo sombree algo con el raton y diga "leer" el programa lo haga sin mas nada. aqui esta mi intento fallido si alguien me sabe seria de gran ayuda. case "leer": / TextReader leer_eso; leer_eso = new TextReader.Read(); speakOut(leer_eso.ReadLine()); break;
|
|
|
|
|
|
|