|
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 - Geo
Páginas: 1 2 3 [4] 5 6 ... 41
76
« en: Sábado 8 de Agosto de 2009, 07:08 »
Pues si se puede, perdón por el error . Para eso existen sitios como este, para que aprendamos entre todos . Confirmado .
77
« en: Martes 28 de Julio de 2009, 18:29 »
Se puede hacer a mano usando stdio y otras librerías estándar. ¿Qué otras bibliotecas estándar? ¿Puedes explicar cómo conseguiría obtener la pulsación de las teclas de dirección y moverme hacia cierta posición para modificar el texto de una opción en particular y, si fuera posible, modificar el color de la impresión? Es que para estas cosas siempre he recurrido a algo específico según la plataforma en la que trabaje, sin tomarme demasiado tiempo en buscar una alternativa. Del FAQ de comp.lang.c, pregunta 19.1 How can I read a single character from the keyboard without waiting for the RETURN key? How can I stop characters from being echoed on the screen as they're typed? Respuesta (recortada): Alas, there is no standard or portable way to do these things in C. Concepts such as screens and keyboards are not even mentioned in the Standard, which deals only with simple I/O ``streams'' of characters.
At some level, interactive keyboard input is usually collected and presented to the requesting program a line at a time. This gives the operating system a chance to support input line editing (backspace/delete/rubout, etc.) in a consistent way, without requiring that it be built into every program. Only when the user is satisfied and presses the RETURN key (or equivalent) is the line made available to the calling program. Even if the calling program appears to be reading input a character at a time (with getchar or the like), the first call blocks until the user has typed an entire line, at which point potentially many characters become available and many character requests (e.g. getchar calls) are satisfied in quick succession.
When a program wants to read each character immediately as it arrives, its course of action will depend on where in the input stream the line collection is happening and how it can be disabled. Under some systems (e.g. MS-DOS, VMS in some modes), a program can use a different or modified set of OS-level input calls to bypass line-at-a-time input processing. Under other systems (e.g. Unix, VMS in other modes), the part of the operating system responsible for serial input (often called the ``terminal driver'') must be placed in a mode which turns off line-at-a-time processing, after which all calls to the usual input routines (e.g. read, getchar, etc.) will return characters immediately. Finally, a few systems (particularly older, batch-oriented mainframes) perform input processing in peripheral processors which cannot be told to do anything other than line-at-a-time input.
Therefore, when you need to do character-at-a-time input (or disable keyboard echo, which is an analogous problem), you will have to use a technique specific to the system you're using, assuming it provides one.
Ahora, las referencias del grupo son "viejas", no se qué tanto pueda encontrar en los documentos más recientes.
78
« en: Martes 28 de Julio de 2009, 06:37 »
Es desaconsejable usar conio, no es estándar. ¿Existe alguna biblioteca estándar que permita la detección de las teclas de dirección y el movimiento a alguna ubicación específica dentro de la pantalla?
79
« en: Lunes 27 de Julio de 2009, 17:46 »
Muy bien, no olvides comentar qué tal te va.
80
« en: Sábado 25 de Julio de 2009, 01:45 »
Jeje, yo también tengo todavía la mía, solamente tiene una fisura en la tapita pero muy útil .
82
« en: Viernes 24 de Julio de 2009, 15:44 »
La lógica de un menú así es más o menos sencilla: - Borras la pantalla - Imprimes las opciones del menú, resaltando la seleccionada. - Lees el teclado, ajustas la nueva opción del menú. - Inicias de nuevo. El borrado de pantalla, no es necesario si utilizas alguna función que te permita ubicar el cursor en una posición específica dentro de la pantalla (estilo gotoxy de los compiladores de Borland), así simplemente deberías actualizar las opciones correspondientes. Mencionas que usas Dev-C++ pero no dices qué funciones utilizas para lectura del teclado, ¿estás trabajando con la implementación de conio para MinGW o con las funciones de consola de la API Win32? Para que el menú sea "circular": - inicializa opcion
- ciclo:
- leer teclado
- si se pulsó arriba, opcion = opcion + 1
- si se pulsó abajo, opcion = opcion - 1
- ajustar valores de la variable opcion (menú "circular"):
(si es menor que 1, opcion = MAX_OPCIONES; si es mayor que MAX_OPCIONES, opcion = 1)
Suerte.
83
« en: Domingo 19 de Julio de 2009, 08:34 »
Si debes utilizar ese compilador, usa una alternativa: Usa int en lugar de bool int sw=1; do { if (sw) serie+=4; else serie-=2; //...
Lo mismo pero "más bonito" . Esto te sirve si quieres importar algún código de otro compilador que si soporte el tipo bool. #include <stdio.h> #include <conio.h> #define bool int #define true 1 #define false 0 int main () { int serie=1; bool sw = true; do { if( sw ) serie += 4; else serie -= 2; //... }
Si puedes elegir, considera cambiar de compilador .
84
« en: Domingo 19 de Julio de 2009, 08:20 »
Acabo de probar un código basado en el tuyo y no he tenido problemas reproduciendo el audio, prueba revisando los valores devueltos por cada función. También, revisar que el problema no sea tu sistema, ¿en qué estás trabajando? #include <SDL.h> #include <SDL_mixer.h> int main() { if ( SDL_Init( SDL_INIT_AUDIO ) < 0 ) { fprintf( stderr, "%sn", SDL_GetError() ); exit( 1 ); } if ( Mix_OpenAudio( MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 4096 ) < 0 ) { fprintf( stderr, "%sn", SDL_GetError() ); exit( 1 ); } Mix_AllocateChannels( 10 ); Mix_Chunk* sonido1; Mix_Chunk* sonido2; Mix_Chunk* sonido3; sonido1 = Mix_LoadWAV( "borrego1.wav" ); sonido2 = Mix_LoadWAV( "gallo1.wav" ); sonido3 = Mix_LoadWAV( "vaca1.wav" ); Mix_PlayChannel( 0, sonido1, 0 ); Mix_PlayChannel( 1, sonido2, 0 ); Mix_PlayChannel( 2, sonido3, 0 ); SDL_Delay( 3000 ); Mix_FreeChunk( sonido3 ); Mix_FreeChunk( sonido2 ); Mix_FreeChunk( sonido1 ); Mix_CloseAudio(); SDL_Quit(); return 0; }
85
« en: Domingo 19 de Julio de 2009, 07:21 »
Me parece que no hay forma salvo el recorrido con algún ciclo. Aunque hubiera una expresión, lo más probable es que internamente utilice la misma estrategia (un ciclo). Quizá valdría la pena intentar reducir el código en otro lado, no mencionas cómo es que se han armado las matrices a las que aplicas la FFT.
86
« en: Lunes 22 de Junio de 2009, 07:17 »
¿Qué versión de VC++ utilizas? En muchas ocasiones, los mismos componentes ya cuentan con alguna función que permite guardar el contenido a algún archivo de texto, checa en la documentación del componente que estás utilizando.
87
« en: Lunes 22 de Junio de 2009, 07:09 »
No se entiende con qué tienes problemas, ¿puedes aclararlo?
88
« en: Lunes 22 de Junio de 2009, 07:05 »
Para llamar a los programas que ya has creado, no es solamente renombrar la función main a algún otro nombre, sino también adecuarlos según se requiera.
La segunda debes definirla, mencionas tres lenguajes diferentes (Gambas es Basic).
89
« en: Sábado 13 de Junio de 2009, 05:12 »
¿Qué tipo de modificación debes hacerle al nombre del archivo en cada iteración? Si se trata de una numeración consecutiva el ciclo for es lo adecuado, en mi anterir mensaje tienes la solución: % concatenando nombre_archivo1 = [ 'nombre_archivo_' num2str( i ) '.txt' ]; % usando sprintf % nombre_archivo2 = sprintf( 'nombre_archivo_%d.txt', i ); end
90
« en: Sábado 30 de Mayo de 2009, 17:32 »
Gracias por los saludos .
91
« en: Viernes 29 de Mayo de 2009, 03:25 »
No hay una función para dibujar letras como mencionas. Hay funciones para colocarse en cierta posición de la pantalla (como el gotoxy del viejo TurboC o funciones de consola de Windows). También, una alternativa es que las vayas "escribiendo" línea por línea.
92
« en: Jueves 28 de Mayo de 2009, 07:46 »
Teniendo varias palabras almacenadas en un archivo, utiliza la función rand() para generar un número aleatorio y así seleccionas alguna.
93
« en: Lunes 25 de Mayo de 2009, 03:34 »
Una forma un tanto "burda": - resta los vectores
- convierte el resultado a números sin signo (los números negativos se convertirán en ceros)
- si es necesario, convierte nuevamente al tipo original
94
« en: Lunes 25 de Mayo de 2009, 03:10 »
Para eso existen sitios como este, para que aprendamos entre todos .
96
« en: Jueves 21 de Mayo de 2009, 23:46 »
La función max hace eso precisamente: x = [ 4 7 9 ]; y = [ 3 8 2 ];
Lo único a notar es que los parámetros para la función max deben tener las mismas dimensiones.
97
« en: Jueves 21 de Mayo de 2009, 02:15 »
Una forma muy fácil usando strtok#include <stdio.h> #include <string.h> int main() { char nombre[] = "datos.dat"; printf( "nombre: %sn", nombre ); printf( "nombre: %sn", nombre ); return 0; }
98
« en: Martes 19 de Mayo de 2009, 22:14 »
Lo más fácil sería que los nombres de archivo fueran algo como nombre_X.txt, donde X es un número consecutivo: % concatenando nombre_archivo1 = [ 'nombre_archivo_' num2str( i ) '.txt' ]; % usando sprintf % nombre_archivo2 = sprintf( 'nombre_archivo_%d.txt', i ); end
De otra forma, usa la función list para obtener todos los archivos que se encuentran en la carpeta, los recorres y vas cargando los que desees . % obtiene los archivos que se encuentran en la carpeta % dir devuelve un vector de estructuras con los siguientes elementos: name, date, bytes, isdir y datenum. % muestra la propiedad name for i = 1 : size( archivos ) disp( archivos ( i ). name ); end
99
« en: Martes 19 de Mayo de 2009, 21:31 »
No entiendo lo que estás buscando hacer, se adaptan códigos a otros lenguajes, no ejecutables. A no ser que lo que desees sea correr el programa desde otra aplicación, intenta aclarar .
100
« en: Martes 19 de Mayo de 2009, 04:58 »
No es posible lo que pretendes, para ello precisamente se crearon los vectores y matrices. ¿Por qué no te sirve usar una matriz y referirte a cada fila dentro de ella sin tener que pasar cada una a otro vector?
Páginas: 1 2 3 [4] 5 6 ... 41
|
|
|