|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - tannke
76
« en: Lunes 11 de Enero de 2010, 14:41 »
Bueno sobre la primera pregunta no se si una vez escrita la plabra esta desaparezca o que cuando la teclees esta directamente no se vea. Si es la primera lo mas facil es hacer un Console.Clear(); que borra todo el contenido de la pantalla. Si no quieres que se borre todo ya tendrias que mover el cursor para borrar solo esa linea. Si lo que quieres es lo otro(que directamente no quieres que se vea lo que teclees) ya es tema un poco mas complicado, pero supongo que no habria problema en hacerlo, solo es cuestion de mirar haber como se puede hacer. Sobre tu segunda pregunta, te he escrito este codigo para que puedas entender un poco como podria ser la cosa, puedes testearlo copiando y pegando. Es algo muy simple, lo unico que hace es comprobar si esta o no la letra y a los 5 intentos sale de la aplicación. static void Main(string[] args) { string palabra = Console.ReadLine(); Console.Clear(); int intentos = 0; while (intentos < 5) { string letra = Console.ReadLine(); bool esta = false; for (int i = 0; i < palabra.Length; i++) { if (palabra[i].ToString() == letra) { Console.WriteLine("esta"); esta = true; } } if (!esta) { intentos++; Console.WriteLine("la letra no esta"); Console.WriteLine("intento {0} de 5", intentos); } } }
Para un buen ahoracado lo que tendrias que hacer es que almenos cuando este una palabra te la pusiera. Ejemplo: palabra = PALABRA. letra = A resultado = _.A._.A._._.A Es solo un ejemplo. Espero te sirva, si necesitas mas ayuda con esto avisa. A todo esto, piensa que en modo consola tienes los comandos: Console.CursorLeft Console.CursorTop o Console.SetCursorPosition(x,y); Estos te sirven para mover el cursor donde vayas a escribir. saludos
77
« en: Sábado 9 de Enero de 2010, 12:19 »
has probado con: List.CopyTo (T[]); el problema de esto es que te lo pasa a una matriz. Alomejor si el anterior no te sirve tendrias que crear una nueva lista manualmente y desde un buclre foreach copiar de uno a otro. tambien podrias usar el for si el foreach te da problemas, algo como: List <string> aa = new List <string>(); List <string> bb = new List <string>(); aa.Add("1"); aa.Add("2"); aa.Add("3"); aa.Add("4"); for (int i = 0; i < aa.Count; i++) { bb.Add(aa[i]); }
saludos
78
« en: Sábado 9 de Enero de 2010, 11:53 »
Viendo la imagen de tu progecto no veo ninguna CLASE que se llame Cuenta si una llamada Cuentas, no se si la tendras en el espacio de nombres Bancos, si fuer así supongo (digo supongo pq nunca trabaje con distintos proyectos) que tendrias que hacer referencia a ese espacio de nombre tipo
using Bancos; o provar creando el metodo asi: public static int Crear(Bancos.Cuenta cuenta) { ...}
Todo esto suponiendo que la clase Cuenta esta en el nombre de espacios Bancos, que es el que no puedo ver en tu aplicacion. Si realmente al que quieres referenciar es Cuentas piensa que este lo tienes un poco mas escondido alomejor tendria que ses asi:
using Reglas.Entidades; y cambiar el Cuenta por Cuentas o provar creando el metodo asi: public static int Crear(Reglas.Entidades.Cuentas cuenta) { ...}
Espero te sirva de algo. SALUDOS
79
« en: Jueves 7 de Enero de 2010, 17:08 »
80
« en: Jueves 7 de Enero de 2010, 17:05 »
Bueno haber si me explico con la primera pregunta(que tambien soy bastante mala para ello). Lo que hacemos con "" numero1 = Palabras(); "" es invocar Palabras(), al hacer esto se procesa todo lo que esta dentro de este metodo. Si te fijas este metodo lo hemos declarado como int, es decir "int Palabras()". Esto quiere decir que una vez terminado el proceso de Palabras() este tiene que devolver un valor entero (int). Y este valor es asignado a numero1, ya que hicimos "numero1 = Palabras();" En pocas palabras, el resultado de Palabras() se lo asignamos a numero1 Esto te lo puse asi a modo de ejemplos, para que vieras que los metodos pueden retarnar valores de cualquier tipo, tambien podrias haberlo hecho asi: Declarar el metodo palabras: private static void Palabras() ---> void significa que no devuelve nada y donde anteriormente llamavamos al metodo hacerlo asi: # if (elegir == 1) { Palabras(); //invocamos el metodo numero2 = Int32.Parse(Console.ReadLine()); //y acabamos de la manera que acababas tu anteriormente }
Bueno, sobre tu segunda pregunta yo creo que lo mas facil es declarar una variable int, tipo: a continuacion donde tu ya corriges el examen, supongo que lo harias del mismo modo que hasta ahora, con los if(...) else pues donde el: if(palabra == palabra) { Console.WriteLine("CORRECTO"); nota = nota + 2; //en caso de ser correcto sumamos 2 puntos a la nota nota += 2; // ESTO es exactamente lo mismo que lo anterior, suma 2 puntos a la nota }
al final de la corrección solo tendrias que poner un Console.WriteLine("Nota final: " + nota); Espero haberme explicado bien. Ha y soblre lo de chapucero... Ni por asomo hombre, yo creo que empece bastante peor que tu!!, esto de la programación yo creo que es algo muy personal, cada uno tiene que hacerlo de la manera que mas le guste y mejor le vaya Saludos
81
« en: Martes 5 de Enero de 2010, 09:14 »
Primero muy buenas y bienvenido. Bueno, supongo que libros hay muchos, mejores y peores. Yo empece de CERO, sin ninguna noción de ningun tipo de programación, yo empecé con el libro "Microsoft C# Curso de Programación" de Fco. Javier Ceballos de la editorial RA-MA. Yo no se si será el mejor, supongo que no, pero entendible creo que si lo es, ya que como te digo empecé de 0 con este y la coso no me ha ido nada mal.
Te todos modos supongo que no hay nungun libro comlpetito, creo que seria una enciclopedia para completar el tema este, pero almenos ayuda en empezar y en formar una buena base. Creo que donde luego aprendes de verdad realmente es en Internet y practicando mucho.
Espero te sirva. Un saludo
82
« en: Lunes 4 de Enero de 2010, 15:53 »
Buenas de nuevo, esta vez te escribo para darte un consejo (no se si ya sabras pero por si acaso te lo digo). Se trata de los metodos (creo se llamava asi) bueno, te poste tu codigo anterior dividido en metodos, esto te servira en el futuro con trabajos mayores para poder tenerlo mas organizado o lo que es mas importante codigos que tengas que usar mas de una vez ( ej.. ecuaciones, logaritmos, calculos, lo que sea) poderlos llamar en cualquier momento solo escribiendo el nombre de tu metodo. namespace ConsoleApplication5 { class Program { //Metodo Main, por aqui entra y sale el programa static void Main(string[] args) { int numero1 = 0; do { int elegir; Console.WriteLine("Bienvenido a las clases de ingles de D4rWiNSn"); Console.WriteLine("Introduzca el modo que desea aprendernn"); Console.WriteLine("1-Vocabulary"); Console.WriteLine("2-Traducir frases"); elegir = Int32.Parse(Console.ReadLine()); if (elegir == 1) { numero1 = Palabras(); //invocamos el metodo palabras y el valor devuelto //se lo asignamos a numero1 } else { Frases(); //invocamos el metodo frases } } while (numero1 == 1); }//Fin del Main //Metodo Palabras private static int Palabras() //metodo que devuelve un int { Console.WriteLine("nnTraduce las siguientes palabrasnn"); Console.WriteLine(" Espada"); string text = (Console.ReadLine()); string palabra1 = ("sword"); if (text == palabra1) { Console.WriteLine("CORRECTO"); } else { Console.WriteLine("Oh nooo la respuesta era: {0})", palabra1); } Console.WriteLine("nn Raton"); string text1 = (Console.ReadLine()); string palabra2 = ("mouse"); if (text1 == palabra2) { Console.WriteLine("CORRECTO"); } else { Console.WriteLine("Oh nooo la respuesta era: {0})", palabra2); } Console.WriteLine("Quiere pasar al traductor de frase?"); Console.WriteLine("nn 1-Si"); Console.WriteLine("2-no"); return Int32.Parse(Console.ReadLine()); //devolvemos el int }//Fin Palabras //Metodo Frases private static void Frases() //este metodo no devuelve nada "void" { Console.WriteLine("Traducidor de frases"); }//Fin metodo Frases } }
Espero se entienda. SALUDOS
83
« en: Lunes 4 de Enero de 2010, 15:18 »
Lo del numero1 para que te lo detecte, tienes que declararlo fuera del while, es decir: static void Main(string[] args) { int numero1= 0; do { int elegir; ....
Ten encuenta que las variables creadas dentro de { un conjunto } solo son accesibles desde ese conjunto y subconjuntos, es decir por ejemplo, si creas una variable dentro de un "if", cuando salgas de este, la variable desaparece. No se si me explique muy bien, si no es asi avisame e intentare explicarme mejor Bueno la segunda pregunta creo no entenderte muy bien. Por lo que veo, al final cuando preguntas si quiere seguir al traductor de frases, si respondes SI(1) no te va ha ir al traductor de frases, sino que te saltrara otra vez al principio("en el menú de selección"). Si respondes NO(2) simplemente acabará la aplicación. Todo esto en el caso de haber elejido en un principio la 1ª apción. Si elijes la 2ª opcion en el principio te saltara directamente al "else", que este te escribe la frase y directamente sale de la aplicación. Creo que no te solucioné mucho la 2ª, si eso intenta formularla de otra manera o especificando algo mas, alomejor es que estoy algo lento yo pero la verdad que no entendi muy bien cual es la pregunta concretamente. Saludos
84
« en: Domingo 3 de Enero de 2010, 12:59 »
Te paso la direccion donde puedes encontrar todas las bibliotecas de .net (los comandos que puedes usar con c# entre otros lenguajes .net) http://msdn.microsoft.com/es-es/library/ms229335.aspxen ella encuentras todas las clases con sus explicaciones y ejemplos. por ejemplo para la clase console tendrias que ir a Sistem y en el en console, y si en este entras en el apartado metodos, tendras todos los "comandos" que tiene esta clase, como usarlos y para que sirven: http://msdn.microsoft.com/es-es/library/system.console_methods.aspxRecuerda tambien que para el tema de los ciclos tambien estan los: while do ... while for foreach otro dato que alomejor te sirve son los saltos de linea (creo que asi se llaman) if (opcion == 1) { int a = i * 365 * 24 * 3600; Console.WriteLine(""); Console.WriteLine("Usted ha vivido aproximadamente {0} segundos)", a); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); }
bueno, este codigo podria reducirse a esto: if (opcion == 1) { int a = i * 365 * 24 * 3600; Console.WriteLine("nUsted ha vivido aproximadamente {0} segundosnnn)", a); }
Saludos
85
« en: Sábado 2 de Enero de 2010, 18:24 »
Bueno puedo decirte que yo empece como tu, solo que en lugar de una guia empece con un libro y este era todo en modo consola, yo te recomiendo empezar en consola, que creo que es lo mas basico y cuando entiendas como funciona ya te lances en en aplicaciones "windows". El libro solo fue un empujon y te enseña lo basico y esencial (supongo que la guia sera lo mismo) donde mas he aprendido ha sido en los foros, blogs, viendo codiogo ya echo e intentando entender todo lo que hace. Material.... uf internet esta lleno de material san Google es una gran ayuda a todos los males. mira esta guia haber que tal, si no recuerdo mal te enseña funciones basicas y algo mas. http://www.programacionfacil.com/visual_csharp_express/startyo empece con el libro Microsoft C# de Fco. Javier Ceballos, pero como este seguro hay mas (mejores o peores) pille este pq era el unico que estaba en la libreria Nada mas decirte que bienvenido a este mundillo y que para cualquier duda aqui estamos para echarte una mano con lo que necesites. Saludos
86
« en: Martes 29 de Diciembre de 2009, 14:57 »
borro mensaje por fallo mio en una correccion. De todos modos decirte que intenta evitar el goto
Saludos
87
« en: Sábado 12 de Diciembre de 2009, 13:25 »
ahora no tengo mucho tiempo, despues si no te han respondido intento solucionarte el tema. De todos modos intenta con:
juego JUEGO = new juego(); if (JUEGO.Abrir(nombre) == 0) { ... }
si no es luego buscamos el fallo, saludos
88
« en: Miércoles 9 de Diciembre de 2009, 23:56 »
89
« en: Martes 8 de Diciembre de 2009, 17:19 »
Ahora mismo ando un poco perdido y mal de tiempo, solo decirte de momento que en la linea 28 puedes tener un problema, deberias ponerlo de la siguiente manera:
nota1 = Int32.Parse(Console.ReadLine()); y eliminar la siguiente linea.
otra manera seira declarar una variable sting de nota y despues transformarla:
string notatemp; notatemp=Console.ReadLine(); nota1=Convert.ToInt32(notatemp);
90
« en: Domingo 6 de Diciembre de 2009, 20:02 »
vamos a ver te digo como lo hago yo, te pongo el ejemplo con un textbox:
con el evento textchanged:
private void textBox1_TextChanged(object sender, EventArgs e) { textBox1.SelectionStart = textBox1.TextLength; textBox1.ScrollToCaret(); }
espero te sirva, saludos
91
« en: Domingo 6 de Diciembre de 2009, 13:37 »
Muy buenas, la verdad, no tengo ni idea de la memoria que reserva para un int, string o lo que sea(supongo que sera la maxima directamente, un int 32bytes). Supongo que (si entiendo bien) lo que quieres decir lo tendriamos que declarar como una matriz de bytes o chars. Lo que si esta claro es que, "string saludo[23] = "Hola. ¿Cómo están todos?";" es que esto no se puede hacer, supongo ya solo poniendo esto daria un monton de errores.
La manera que mejor veo yo de hacer esto es por ejemplo:
char[] alfa = "Hola mundo".ToCharArray();
o
byte[] mBuffer = Encoding.ASCII.GetBytes("Hola mundo.");
saludos
92
« en: Domingo 6 de Diciembre de 2009, 12:58 »
Bueno, un codigo de barras no es mas que una serie de, normalmente numeros, o letras. Habría que saber que tipo de lector de codigo de barars tienes, con el que pude jugetear yo, se conectaba al USB funcionaba como un teclado, al pasar la pistola por el codigo de barras lo leia y me mandaba directamente la secuencia leida en el textbox donde tenia el focus, "como si escribir con el teclado". Este ya aparecia decodificado.
Pues lo unico que tendrias que hacer por ejemplo, dar el focus siempre al texbox, cuando el texbox tenga los caracteres maixmos que tiene el codigo de barras, no se cuantos son, o pulsando un boton eso ya depende de cada uno, leer el contenido del texbox y hacer la consulta a la Base de Datos con esos numeros, y que esta te devuelva ya los datos que quieras.
Otro tema es generar los codigos de barras para imprimirlos en formato codigo de barras. Para esto lo que tienes que descargar es la fuente del codigo de barras utilizado, lo instalas en tu pc, creo que era suficiente con ponerlo en la carpeta C:WINDOWSFonts y ya lo tienes como un tipo de letra
A continucacion, por ejemplo, en el texbox1 pones el numero que quieras, o el leido por la pistola, y en el segundo copias lo mismo: texbox2.text = texbox1.text; con la salvedad que en el segundo tienes que elegir la fuente del codigo de barras descargado.
Espero te sirva la explicación, soy algo malo para explicarme. Saludos
93
« en: Domingo 6 de Diciembre de 2009, 12:34 »
Si, debería funcionar bien asi, saludos
94
« en: Viernes 4 de Diciembre de 2009, 18:09 »
vamos ha hacerlo un poco mas facil:
char[] limit = new char[] {' '}; String frase= t1.Text; String[] Seps =frase.Split(limit); //Con esto ya tenemos una matriz con las letras separadas y nos ahorramos ese forerch.
for( int i=0; i< Seps.lengh; i++) { aviso.Text += Seps;
if( i + 1 < Seps.lengh) aviso.Text += " aa ";
}
Esto es lo que estabas buscando?? Espero te sirva, sino avisa y haber que hacemos, saludos
95
« en: Jueves 19 de Noviembre de 2009, 06:38 »
tienes 2 soluciones:
o pones dos barras ("c:\blabaka\sldhlsd\imagen.bmp")
o pner una @ antes (@"c:blabakasldhlsdimagen.bmp")
espero sea eso. Saludos
96
« en: Lunes 16 de Noviembre de 2009, 17:39 »
Muy bueno el manual. Bueno, siguiendo el manual has probado poner: serialPort1.StopBits = StopBits.Two; y a parte de eso hacer la transmision poniendo los caracteres manualmente de la siguiente manera: private void button1_Click(object sender, EventArgs e) { a[0] = 0x40; //la @ a[1] = 0x30; //el 0 a[2] = 0x36; //el 6 a[3] = 0x4F; //la O a[4] = 0x30; //el 0 a[5] = 0x33; //el 3 serialPort1.Write(a, 0, a.Length); }
97
« en: Lunes 16 de Noviembre de 2009, 16:58 »
Buenas, tiene que ser necesariamente desde la ruta original? no te vale crear un archivo temporal de esa imagen para despues procesarla y eliminarla una vez termines lo que tengas que hacer?
saludos
98
« en: Viernes 13 de Noviembre de 2009, 10:01 »
Hola!
Justo subiendo he visto la explicacion de tannken. Que ya es suficiente. Pero bueno, ya la tenia preparada asi que la subo: ... Me gusta mas tu explicación mucho mas estructurada y clara Saludos
99
« en: Viernes 13 de Noviembre de 2009, 09:01 »
te explico sobre codigo: namespace Cuenta_letras { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public int[] Contador = new int[7];// Si es un vector, de 7 elementos public string letra; public string dato; public int j; private void button1_Click(object sender, EventArgs e) { Contador[0] = 1;//Aqui pone el elemento 0 de la matriz a uno for (j = 1; j < Contador.Length;j++ ) //En este bucle pone los demas elementos de la matriz a 0 { Contador[j] = 0; } dato = textBox1.Text; //Mete la frase en la variable dato for (int i = 0; i <= dato.Length-1; i++) //Bucle que se repetirá tantas veces como caracteres tenga la frase(incluidos espacios) { letra = dato.Substring(i, 1);//Aqui cogemos un caracter de la frase(en caracter numero i) en cada pasada por el bucle i suma 1 if (letra == " ") //Si el caracter es espacio cuenta mas 1 en el primer elemento de la matriz (por cada espacio se entiende sera una palabra) {Contador[0] += 1;} //Por lo tanto en Contador[0] tendremos el numero de palabras else //si no es espacio haremos lo siguiente: { Contador[1] += 1; //contamos +1 en la segunda celda de la matriz (aqui se entiende contara el total de letras, SIN ESPACIOS) switch (letra) //aqui sumamos solo las vocales { case "a": Contador[2] += 1; break; //si la letra es "a" sumamos 1 en la celda tercera(aqui sumamos el total de "a") case "e": Contador[3] += 1; break; // todo el swich es lo mismo, sumamos segun la letra case "i": Contador[4] += 1; break; //si la vocal esta acentuada o es mayuscula da igual la metemos en la celda de las "a", "e", segun sea el caso case "o": Contador[5] += 1; break; case "u": Contador[6] += 1; break; case "á": Contador[2] += 1; break; case "é": Contador[3] += 1; break; case "í": Contador[4] += 1; break; case "ó": Contador[5] += 1; break; case "ú": Contador[6] += 1; break; case "A": Contador[2] += 1; break; case "E": Contador[3] += 1; break; case "I": Contador[4] += 1; break; case "O": Contador[5] += 1; break; case "U": Contador[6] += 1; break; case "Á": Contador[2] += 1; break; case "É": Contador[3] += 1; break; case "Í": Contador[4] += 1; break; case "Ó": Contador[5] += 1; break; case "Ú": Contador[6] += 1; break; } } } { label1.Text = dato.Length.ToString(); //escribimos la frase ingresada label2.Text = Contador[0].ToString(); // escribimos en el label 1 El total de palabras label3.Text = Contador[1].ToString(); // escribimos el total de LETRAS label4.Text = Contador[2].ToString(); // escribimos el total de "A" mayusculas, minusculas o acentuadas label5.Text = Contador[3].ToString(); // igual con e label6.Text = Contador[4].ToString(); // igual con i label7.Text = Contador[5].ToString(); // igual con o label8.Text = Contador[6].ToString(); // igual con u } } }
Espero se entienda asi. Saludos
100
« en: Jueves 12 de Noviembre de 2009, 21:06 »
vamos a ver, estar bien yo creo que si, hace poco lo estuve utilizando para comunicar 2PC's, lo hacia como tu y no me daba problema alguno
En mi caso yo utilizaba el WriteLine("") y en el otro extremo el ReadLine()
Has probado de utilizar el metodo Write("")??
es decir: serialPort1.Write(textBox1.Text);
|
|
|