|
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 - ProfesorX
Páginas: 1 ... 20 21 [22] 23 24 ... 32
526
« en: Jueves 13 de Noviembre de 2008, 18:13 »
Clipper es tecnoligia obsoleta, para impresoras USB necesitas controladores y la tecnologia mas reciente, y clipper ya no maneja eso. La solucion seria encontrar un controlador USB para MS-DOS, pero al ser obosleto, dudo que lo haya. Suerte en tu busqueda y ojala lo encuentres, aunque lo dudo. Saludos
527
« en: Miércoles 12 de Noviembre de 2008, 20:29 »
Eso no es un reto, eso mas bien me suena a tarea, y aqui no se hacen tareas. Saludos
528
« en: Domingo 9 de Noviembre de 2008, 23:59 »
Bueno, no se cual hayan sido tus otras tres preguntas, pero respecto a la de datareader, me parece que no contiene ningun metodo para saber cuantos registros leyo, pues se leen de manera secuencial, y solo regresa una especie de fin de lectura, pero hay otras formas de saber el numero de registros, por ejemplo, se me ocurre usar sentencias SQL compuestas, y leer el resultado en una variable, por ejemplo: SELECT SUM(clientes_cuenta) FROM (SELECT COUNT(cliente_nombre) AS clientes_cuenta FROM clientes GROUP BY cliente_nombre) AS clientes_temp;
El select mas interno cuenta todos los nombres de una tabla llamada clientes, y guarda el resultado en una columna llamada clientes_cuenta, el select mas externo suma todo el campo clientes_cuenta creado en el select interno. De esa forma obtienes el total de clientes de una tabla. Si colocas condiciones, adicionales, obtendrias el numero de filas que cumplen con la condicion, y por lo tanto, el numero que en realidad leiste. Espero y eso te sirva. Saludos
529
« en: Domingo 19 de Octubre de 2008, 23:30 »
Utiliza matrices dinamicas, busca en google y encontraras...
530
« en: Domingo 19 de Octubre de 2008, 00:02 »
mmm, tanto dilate en poner la respuesta (me hablaron por tel cuando estaba constestando), que me la gano Eternal Idol, ni modos, asi es esto, jejeje  Saludos
531
« en: Domingo 19 de Octubre de 2008, 00:01 »
Bueno, como bien menciona m0skit0, suponiendo que k fuera un apuntador.
*k++ incrementa el apuntador para que apunte a la siguiente posicion de memoria (*k)++ incrementa el contenido de la posicion de memoria a la que apunta k.
532
« en: Sábado 18 de Octubre de 2008, 01:53 »
Pues si tus datos estan en algun archivo de texto, con formato delimitado con espacios o con comas, podrias utilizar LOAD DATA INFILE ... INTO TABLE....
pero si no es asi, no hay otra forma que yo sepa mas que usar INSERT. Saludos
533
« en: Viernes 17 de Octubre de 2008, 18:42 »
Eternity, es el tercer hilo viejo que contestas, por favor no contestes hilos que tengan mas de un mes de antigüedad (este tiene 5 meses, y otros que contestaste 1 y 2 meses), y cuyo autor tenga menos de 10 mensajes, obviamente estas personas no han regresado ni regresaran, si te interesa decir o comentar algo nuevo, en ese caso, publica un nuevo hilo, pero no revivas hilos viejos de personas que no regresan (menos de 10 post) usa el sentido comun. Saludos
534
« en: Martes 14 de Octubre de 2008, 18:24 »
Generalmente se hace por medio de FTP, cuando contratas el servicio, ellos te dan la direccion del servidor FTP, ademas de un nombre de usuario y contraseña para el mismo, que deberas utilizar para conectarte con un programa de FTP, te recomiendo FileZilla, es muy bueno. Ademas tambien te daran nombre de usuario y contraeña para tu base de datos, claro, siempre y cuando el servicio que contrates inluya un servidor de base de datos. Cada vez que modifiques el codigo fuente de tu pagina web, tendras que volver a subir por FTP aquellos archivos que hayas modificado. Espero que con eso se te aclaren las dudas. Saludos
535
« en: Lunes 13 de Octubre de 2008, 17:41 »
Vaya, tambien revise la pagina y que mal. Es una lastima que los de C con clase no hayan notado un error de ese tamaño
536
« en: Sábado 11 de Octubre de 2008, 19:39 »
ya que estoy llamando a la misma variable {0} la cual vale HOLA A TODOS y si pogo {1} esto me parece que me da error. alguien me puede explicar please? Me parece que te estas confundiendo, y estas equivocado respecto a la forma en que se utiliza el Console.WriteLine(), el {0} que se pone en WriteLine no significa "La primera variable que defino en mi programa", sino. "La primera variable, de la lista de variables que estoy poniendo como parametros en WriteLine". o sea, que en el primer caso: Console.WriteLine ("{0}+{1} = {2}", num1, num2, resultado);
{0} se refiere a la primera variable de la lista de variables de WriteLine, es decir a num1 {1} se refiere a la segunda variable de la lista de variables de WriteLine, es decir a num2 {2} se refiere a la tercera variable de la lista de variables de WriteLine, es decir a resultado Si yo pusiera: Console.WriteLine ("{0}+{1} = {2}", resultado, num1, num2);
{0} se refiere a la primera variable de la lista de variables de WriteLine, es decir a resultado {1} se refiere a la segunda variable de la lista de variables de WriteLine, es decir a num1 {2} se refiere a la tercera variable de la lista de variables de WriteLine, es decir a num2 Si yo pongo: Console.WriteLine ("{0}+{0} = {0}", resultado, num1, num2);
Impirmiria resultado 3 veces, porque solo estoy imprimiendo el primer parametro Si yo pongo: Console.WriteLine ("{0}+{1} = {2}", num1, num2);
Marcaria error, porque la tercera variable {2} no existe en la lista de variables de WriteLine. Espero que con eso se ta aclaren tus dudas. Saludos
537
« en: Jueves 9 de Octubre de 2008, 19:05 »
Pues mira, para empezar, el tipo de dato int, solo permite valores desde -32768 hasta 32767, (es lo que permite almacenar 2 bytes, de los cuales 15 bits son el numero y un bit es para el signo) por eso cuando obtienes el factorial de 8, ocurre lo que se conoce como un "overflow" o desbordamiento, podrias utilizar un "unsigned int", que te permite valores de 0 hasta 65535, pero aun puede ser muy pequeño, en ese caso podrias utilizar un "unsigned long int" que utiliza 4 bytes y te permitiria valores de 0 hasta 4,294,967,295. Ahora, el usar valores de punto flotante (float o double) es un asunto diferente, el lenguaje ensamblador no maneja directamente esos tipos, solo los tipos enteros, un valor de tipo float se guarda en 4 bytes, de los cuales, una parte es para el exponente, y otra para la mantisa, en el siguiente enlace puedes encontrar mas informacion de como se guardan internamente: http://es.wikipedia.org/wiki/IEEE_punto_flotanteEl lenguaje C/C++ ya incluye dentro de sus liberias las funciones para trabajar con numeros de tipo flotante, y manejar adecuadamente los bits del exponente y la mantisa, pero en ensamblador, tu debes programar esas funciones. Espero que con eso haya resuelto tus dudas. Saludos
538
« en: Jueves 9 de Octubre de 2008, 02:30 »
Mi estimado Franz, los mejores tutoriales y libros estan en ingles, te recomiendo que aprendes ingles. De todas formas, busca en la página de El Guille, ahi hay un tutorial de C# en español, quizas no perfecto, pero bastante bueno para empezar. Saludos
539
« en: Jueves 9 de Octubre de 2008, 02:22 »
La verdad tiene demasiados errores, (falta el menu, faltan puntos y comas, faltan variables, etc. etc.), tantos, que perderia mas tiempo diciendote todos los errores, que si lo hiciera de cero, asi que ese es mi consejo, hazlo de cero, pero que algun compañero de tu escuela o tu maestro te vaya explicando, necesitas ademas un buen curso de lenguaje C, porque los errores que tienes son demasiado basicos y denotan tu falta de conocimiento. Saludos
540
« en: Lunes 6 de Octubre de 2008, 18:23 »
si, es sharpdevelop, aunque lo pudiste haber indagado con google antes de preguntar algo tan facil y obvio en el foro, recuerda que google es tu mejor amigo
541
« en: Jueves 2 de Octubre de 2008, 01:38 »
Creo que tienes que hacer aux = 0 cuando c == 'n', igual que como lo haces cuando c == 't' (tabulador) al final de tu if.
542
« en: Miércoles 1 de Octubre de 2008, 20:53 »
strncpy(temp,"", 20);
¿esa funcion pasa todos los valores de temp a ' ' ?
Si, siempre y cuando sea una cadena nula, lo que hace es que copia n caracteres, y si no se acompleta, lo rellena con null. Tambien se puede hacer con memset, esta funcion es buena, porque es mas general, permite poner a cero variables de cualquier tipo, no solo char. int vector[30]; memset(&vector, 0, sizeof(vector));
Solo hay que tener cuidado con el tercer parametro, que es la cantidad de bytes a borrar, porque si especificas una cantidad mayor, igual puedes borrar partes de la memoria que no desees
543
« en: Miércoles 1 de Octubre de 2008, 20:29 »
Probe tu codigo, y el error viene de dos partes: 1. Cuando terminas de leer la cadena en la variable temp, no añades el nulo al final de la cadena para indicar que es el fin. En C, todas las cadenas deben terminar con nulo. 2. Cuando "vacias" la variable temp, estas escribiendo mas caracteres que la longitud de la cadena, yo conte 34 espacios, y si añades el nulo, se hacen 35, temp solo tiene espacio para guardar 20, entonces al hacerlo, sobrescribes las variables, entre ellas, el apuntador de archivo. En este caso la solucion es hacer mas grande el valor de temp, o vaciar la cadena con "" (cadena vacia), y ademas, de preferencia utiliza strncpy en lugar de strcpy, que no permite que copies mas caracteres de los que le digas. Entonces, basicamente, los cambios serian: if(c==9) { // Añades el fin de cadena (nulo) a tu cadena. temp[aux] = ' '; // copia el contenido de temp (todos los valores de c) a depor.nombre if(ctr ==0) strcpy(p ->nombre [p ->cima ],temp );
//utiliza lo de abajo en lugar de strcpy(temp," "); // Tambien puedes utilizas strcpy(temp, "") si lo prefieres pero no lo recomiendo
Saludos
544
« en: Miércoles 1 de Octubre de 2008, 03:48 »
Pues no me dio tiempo de checarlo completamente, pero hay un error en el ciclo, los vectores en C/C++ comienzan en cero, no en uno, por lo tanto el ciclo deberia ir de cero mientras que i sea menor que n. Ahora, es valido ordenar el vector y tomar el elemento de mas arriba para encontrar el menor y el mayor, pero seria mejor que tomaras el primer elemento del vector (o sea, el elemento cero) nada mas, y lo guardaras en 2 variables llamadas mayor y menor, entonces despues dentro del ciclo preguntas si venta > mayor, en caso afirmativo, guardas el nuevo valor mayor, despues preguntas si venta < menor, y en caso afirmativo, guardas el nuevo valor menor.
Al final, te quedara en las variables mayor y menor el mayor y el menor valor, respectivamente, y valga la redundancia.
545
« en: Miércoles 1 de Octubre de 2008, 03:32 »
546
« en: Miércoles 1 de Octubre de 2008, 03:22 »
Mi duda es como hacerlo de la primera forma, es decir así: scanf("%d", pvar1->&matriz[i][j]);
El problema es que tu sintaxis esta incorrecta, aparte de que pusiste matriz, en lugar de pmatriz, la sintaxis deberia ser: scanf("%d", &pvar1 ->pmatriz [i ][j ]);
547
« en: Martes 30 de Septiembre de 2008, 19:21 »
Consejo: utiliza [ code][ /code] para que tu codigo sea mas facil de leer. Ahora, respecto a tu problema, lo que sucede es que no estas declarando el metodo constructor Punto(double vx, double vy) (lo tienes como comentario), ni un constructor por defecto. Pasa algo parecido con los metodos SetY y Traslacionar, y tambien te falta definir la implementacion del metodo void SetY(double vy); deberias tener algo como: Definicion de clase: class Punto{ private: double x,y; public: Punto(); Punto(double vx,double vy); void SetX(double vx); void SetY(double vy); Punto Translacionar(double d); double Distancia(Punto p2); double GetX(); double GetY(); };
Implementacion de clase: Punto::Punto() { } Punto::Punto(double vx,double vy){ SetX(vx); SetY(vy); } void Punto::SetX(double vx){ if(vx<0) x=0; else x=vx; } void Punto::SetY(double vy) { } Punto Punto::Translacionar(double d) { Punto paux; paux.SetX(d+x); paux.SetY(d+y); return paux; } double Punto::Distancia (Punto p2){ } double Punto::GetX(){ return x; } double Punto::GetY(){ return y; }
Por cierto, en tu implementacion original, pusiste Translaccionar en lugar de Translacionar
548
« en: Martes 30 de Septiembre de 2008, 15:46 »
Pero en fin. estoy super saturado de tareas y no tengo tiempo para esto asi que agadesere su ayuda Eso no es excusa. Te tienes que acostumbrar a hacer tu trabajo, no esperar que otros lo hagan por ti. Cuando entres a la vida laboral, te aseguro que si llegas con tu jefe y le dices. "Por favor, ayudeme, es que estoy super saturado de trabajo y no lo puedo hacer, no tengo tiempo" te aseguro que no pasara ni 10 segundos en que te corran, asi de simple y sencillo. Es valido ayudarte en algo si se te dificulta, pero debemos ver que pones algo de empeño en hacerlo. no esperes que te lo hagan, si te falta tiempo, levantate mas temprano, deja las salidas con los amigos, ponte a estudiar, pero no salgas con "no tengo tiempo, haganmelo". Saludos
549
« en: Martes 30 de Septiembre de 2008, 15:31 »
porque se pone (string ) al principio Al poner (string) lo que estas haciendo es un "casting" o conversion de tipo, esto debido a que "Value" regresa un valor de tipo "object" y tu necesitas un string. Los DataGridView utilizan object porque las celdas pueden guardar un valor de cualquier tipo (string, int, float, etc.). El proceso de convertir un dato en object, y viceversa se conoce en terminologia .NET como boxing/unboxing. Es valido hacer casting, siempre y cuando los tipos sean compatibles, es decir, tomando tu ejemplo, si el valor de tu dni hubiera sido internamente de tipo "int" en lugar de "string", al hacer el casting hubiera marcado error. En ese caso, si hubiera sido valido usar el "ToString()"
550
« en: Lunes 29 de Septiembre de 2008, 17:35 »
Consejo: Utiliza [ code][ /code] cuando publiques codigo, hace que sea mas facil de leer. Ahora, respecto a tu pregunta, necesitas el indice de la columna de donque quieres tomar el valor, suponiendo que el dni esta en la primera columna, su indice seria cero (los indices de vectores comienzan en cero), y el codigo seria: public void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { DNI = (string) dataGridView1.SelectedCells[0].Value; Close(); }
Páginas: 1 ... 20 21 [22] 23 24 ... 32
|
|
|