|
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 - observador
51
« en: Viernes 7 de Marzo de 2003, 09:27 »
Bien... Las funciones tolower() y toupper() no son la mejor opcion... pues de usarlas se solo se combierte a minuscula y mayuscula respectivamente... para entonces comparar la cadena caracter por caracter... tedioso... La solucion esta en la funcion (o mas bien macro) "strcmpi"... La cual compara las cadenas y si una es mas larga que la otra tambien lo dice... (Verificar si es soportada...) Bien... aqui esta un archivo adjunto que muestra como usar esta macro y como interpretar sus valores de retorno... Este codigo fue probado en Turbo C++ 3.0 de Borland... kain... espero que te sea util... y a todos los que tengan la misma inquietud... pues ahi esta... La repuesta esta en el viento...
52
« en: Miércoles 5 de Marzo de 2003, 14:23 »
Bien... Para hacer eso que tu dices esta el control: RichTextBox Con ese control no solo podras poner texto en diferente color, tambien podras : *Ponerle margenes a tu documento *Selecionar difentes tipos de fuentes *Diferentes tamaños de fuente *Aplicarle propiedades a partes de texto como negritas, subrayado, cursiva. *Alinear a la derecha, a la izquierda, centrar. *Insertar imagenes *etc. ¿que te parece? Bien... ese control lo utiliza la aplicacion WordPad que viene con cualquier version de Windows... asi que lo mas seguro es que ande por ahi en ti maquina... y ademas en la ayuda de VB se menciona como utilizarlo y aplicarles esos puntos que ya mencione... Bueno... espero que te haya sido de ayuda... y si tienes mas dudas puedes escribirme a: xsantosbussines@hotmail.comObservacion: Quitale la x a la direccion, solo se la agregue para evitar que programas robots captumen ni direccion real y asi evitar correo basura.... Hasta pronto...
53
« en: Miércoles 5 de Marzo de 2003, 14:06 »
Bien... Lo que deseas hacer se logra con una instruccion:
SavePicture
y es aplicable a los controles PictureBox asi como a los controles Image
La instruccion SavePicture necesita que de pases argumentos, seria algo como:
SavePicture Imagen, Cadena_nombre_de_archivo
donde: *Imagen es el nombre del control (ya sea picture o image) donde esta la imagen que quieres guardar *Cadena_nombre_de_archivo es una cadena de caracteres que indican el nombre del archivo a guardar. Aqui se puede indicar tambien una ruta existente para que alli se almacene el archivo...
Comentarios: Si un gráfico se ha cargado en la propiedad Picture de un objeto desde un archivo, ya sea en tiempo de diseño o en tiempo de ejecución, y es un mapa de bits, un icono, un metarchivo o un metarchivo mejorado, se guarda con el mismo formato que el archivo original. Si se trata de un archivo GIF o JPEG, se guarda como un archivo de mapa de bits. Los gráficos de la propiedad Image siempre se guardan como archivos de mapas de bits (.BMP), cualquiera que sea su formato original.
Envio un archivo zip que contiene el ejemplo. Ojala y les sea util...
54
« en: Miércoles 5 de Marzo de 2003, 13:24 »
En visual basic el retorno de linea es interpretado como 2 caracteres el 13 y el 10...
Entonces si se quita solamente el 13, significa que en el cuadro de texto, es decir, en la cadena que contiene quedaria el caracter 10...
Entonces al tratar de eliminar el retorno de linea se tienen que eliminar ambos caracteres...
55
« en: Miércoles 5 de Marzo de 2003, 13:08 »
Bien... la inquietud sobre la calculadora ya ha recibido respuesta satisfactoria... *Direccion de donde poder encontrala *Codigo fuente. Ahora solo me queda decir un comentario. No se que version de VB utilices pero en la version 5 viene un codigo de una calculadora en el cual se enseña a utilizar las matrices de controles... reduciendo el codigo... Asi que alli tambien se puede encontrar, mas especificamente, partiendo de la carpeta donde tengas instalado VB la ruta seria algo asi como: samplesPGuidecalcCAL.VBP Observacion: No he checado si en la versiones anteriores o en la version 6. De todas maneras les anexo el codigo... Ojala y les sea util...
56
« en: Miércoles 5 de Marzo de 2003, 11:56 »
Bien... no tienes que poner
#include<primero.cpp>
en todo caso seria
#include "primero.cpp"
pero tampoco tienes que hacer eso... pues seria como estarse incluyendo el mismo codigo al mismo archivo... No dije que sea incorrecto... no, es correcto pero no es lo mas viable...
Lo mas viable y mas facil es declarar, solo declarar la funcion que esta en el primer archivo, repito, declararla en el segundo archivo... Esto es para que si se compila el segundo archivo para verificar errores de sixtaxis no diga que la funcion que se manda a llamar (que esta en el primer archivo) no existe... Pues como se declaro, el compilador se da por enterado que en alguna parte del programa existe la funcion...
Los archivos quedarian de la siguiente forma:
/******** primero.cpp *******/
#include"segundo.cpp" void main() { //Codigo ejecutable
llamar_a_segundo();
//Mas codigo ejecutable }
void se_llama_desde_segundo() { //Codigo de la funcion }
/***** fin de primero.cpp *****/
Esto es el codigo que estaria en el primer archivo. Veamos ahora el codigo que estaria en el segundo archivo...
/******** segundo.cpp *******/
//Solo se declara la funcion al principio //o antes de usarla... void se_llama_desde_segundo();
void llamar_a_segundo() { //Aqui puede haber codigo ejecutable
//Se llama a la funcion se_llama_desde_segundo(); que esta en primero.cpp se_llama_desde_segundo(); //Aqui puede haber mas codigo ejecutable }
/***** fin de segundo.cpp *****/
Bien... Estas lineas las probe en el compilador Turbo C++ 3.0 de Borland... y las anexe en un zip adjuto...
Descomprimelas y colocalas en donde tengas instalados el Compilador que uses... de esta forma no necesitaras modificar la ruta en la cabecera del primer archivo...
Para que veas como funciona y en que orden se va ejecutando, ya que tengas abierto el archivo primero.cpp en tu compilador presiona F7 una y otra ves para que se ejecute linea por linea... hasta llegar al fin del programa...
Cualquier duda que haya quedado haganla saber... Suerte y hasta la proxima...
57
« en: Miércoles 5 de Marzo de 2003, 11:06 »
Bien... si alguien dijo que tal ves era un poco tarde para contestar pues entonces yo llegue mas tarde todavia... pero traje la solucion... tal ves a los autores de los mensajes anteriores ya no les interese sim embargo alguien puede ver los mensajes y caen en cuenta que esa duda tambien le surguio... Pues que creen... la solucion esta en manipular los bits de las teclas que se precionan... Asi se puede diferenciar las techlas H, M, P, y K de Flechas ARRIBA, DERECHA, ABAJO e IZQUIERDA, respectivamente... Es decir H es diferente de Flecha ARRIBA, M es difecente de Flecha ABAJO, etc... Les recomiendo que bajen el codigo que anexe al mensaje... El codigo fue probado y compilado en Turbo C++ 3.0 de Borland... A mi parecer esta muy bien... antes tenia una funcion que solo me reconocia teclas extendidas (Flechas, F1-F10, ESC, Inicio, Fin, Insert, etc.) y otra que me reconocia combinacion de teclas (CTRL+A, ALT+A, etc. por ejemplo) y otra para caracteres normales (A-Z, a-z, 0-9, +,-,*, etc.) pero con esta nueva funcion todo eso paso a la historia... ahora una sola funcion me reconoce tanto caracteres normales, como teclas extendidas, asi como combinacion de teclas... y ahora esta al alcande de ustedes... Bueno espero que les sirva... si tienen dudas o comentarios escribirme a: xsantosbussines@hotmail.comNota: Quitenle la x a la direccion, solo se la puse para evitar la intrusion de programas robots y evitar el correo basura... Bien Chao y hasta pronto...
58
« en: Miércoles 5 de Marzo de 2003, 09:21 »
¿Que creen? Yo tengo como 2 o 3 editores de tecto hechos en C... pero creo que ya es un poco tarde y para acabarla de amolar los programe en una maquina que ahorita le desintale el SO, pero ahi va la noticia buena... en el trancurso de esta semana resturo el SO podre porpordionarles un codigo que oscila entre 1000 y 1500 lineas de codigo de un editor de texto... asi que esten pendientes...
.Yok3R. si te has dado cuenta ya respondi uno de tus mensajes anteriores asi que supongo debes tener mi e-mail... asi que puedes ponerte en contacto para saber mas del editor de texto...
Chao...
59
« en: Miércoles 5 de Marzo de 2003, 08:44 »
Bien... analice el codigo de tu programa y creo que equivocaste tu logica para la badera de salida...
Es decir, en la linea de codigo:
while(q=='y');
lo que estas diciendo es
do //hacer //estas instrucciones while//mientras la variable q sea igual a 'y'
osea que se vuelva a repetir el ciclo do... while... solo si la variable q es igual a 'y'... pero ¿es eso lo que quisiste decir?
Ahora... otro punto muy importante, tu estas utilizando la funcion getchar() la cual tiene el inconveniente de que no solo te acepta el primer valor que se teclea, sino que utiliza un buffer para guardar todos los caracteres que se teclean hasta encontrar un enter inclusive el enter tambien se almacena en el buffer como otro caracter mas asi que aunque en tu codigo original teclees 'y' seguido de un enter, en el while se comparara si en igual a y, como el primer caracter tecleado si es 'y' se vuelve a meter al cilclo pero ya no pide que se precione otra tecla pues el buffer no esta vacio todavia... acto seguido se vuelve ejecutar el while comparando ahora el caracter 'n' [que es el traducido como enter por la funcion getchar()] con el caracter 'y' como ahora ya no se cumple la condicion al ser 'n' diferente que 'y' entonces el ciclo termina y nunca ves que se vuelva repetir, aunque si lo hace, pero recuerda, toma como siguiente caracter el que esta contenido en el buffer hasta que este se vacia...
Aqui te agrego el archivo fuente modificado. La linea original:
q=getchar();
fue sistituida por:
q=getch();
con la difereccia que esta fucnion no muestra eco...
En este codigo trate de respetar tu logica original con respecto a la bandera. Por lo tanto el codigo que te adjunto no saldra del ciclo... y estara imprimiendo los valores de la variable cnt siempre y cuando preciones una 'y' en el teclado... si precionas una letra diferente de 'y' el programa terminara de forma correcta.
No intentes precionar una tecla de funcion (opr ejemplo F1) pues aunque no generara error, tal vez te confundas... pero esa es otra historia...
Y con respecto al warning que dices te marcaba, a mi no me marco nada...
Bueno espero no haberte confundido...
Hasta pronto...
60
« en: Miércoles 5 de Marzo de 2003, 07:47 »
Bien... Si en tu programa le indicas que trabaje en un modo grafico especifico, y la tarjeta no lo soportan pues nomas y se produce error. Como no sabes que resolucion ni que modo grafico soportaran las computadoras en donde ejecutaran tu programa lo mas ideal es que escribas codigo que verifique cual modo grafico soporta, con que resolucion y adaptar tu salida a pantalla a las caracteristicas soportadas. Con codigo como: int gdriver = DETECT; Te devuelve en "gdriver" un modo grafico soportado. De todas maneras puedes verificar si se produjo algun error, pues a lo mejor no se soporta ningun modo grafico o algun otro inconveniente. Eso lo puedes hacer despues de inicializar el modo grafico con "initgraph". Veamos el siguiente codigo para veficar errores: errorcode = graphresult(); if (errorcode != grOk) { /*Se produjo un error al inicializar modo grafico*/ /*Entonces aqui puedes poner el codigo para tratar adecuadamente los errores*/ } /*Si no entra al if no hubo error y ya puedes utilizar funciones para graficos y mostrar tu salida en pantalla */ Espero no haber confundido mas... Y si fue asi pues disculpen... Tengo codigo de programas que trabajan modos graficos adaptables tales como un editor de dibujo, entre otros, desarrolados en Turbo C++ 3.0 de Borland, si creen que les sirva pues solicitenmelo en: xsantosbussines@hotmail.comquitenle la x inicial... se la puse para que los robots que andan por la red no lean mi verdadera direccion y asi evito correo basura... Chao y suerte...
61
« en: Miércoles 5 de Marzo de 2003, 07:02 »
Bien... creo que has recibido respuesta correctas... pero aqui esta otro efecto para darle a tus salidas a pantalla.
Es el uso de BLINK (en mayuscula). Esto de la el efecto de destello a la cadena de caracteres que muestras como salida...
Aqui esta un archivo anexo que muestra y esplica un poco mas esto... ojala te guste y te sea util...
Chao y hasta pronto...
62
« en: Miércoles 5 de Marzo de 2003, 05:12 »
Pues ¿que crees?... en si hablas del modo textto si se puede y es utilizando las funciones "window" y "clrscr" en conjunto... Bien aqui te va adjunto un archivo que ilustra la forma de hacerlo... Saludos y si surgen mas dudas pues solo pregunten y la solucion surgira simultaneamente... Chao y hasta pronto...
|
|
|