• Jueves 2 de Mayo de 2024, 08:07

Mostrar Mensajes

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 - sruby

Páginas: [1]
1
C/C++ / Re: Capturar La Hora Del Sistema
« en: Miércoles 6 de Julio de 2005, 01:41 »
DDCA..

Si quieres un ejemplo de como capturar el tiempo que se ejecuto cierta cantidad de instrucciones.

Código: Text
  1.  
  2. #include <stdio.d>
  3. #include <time.h>
  4.  
  5. main( )
  6. {
  7. long start, stop&#59;
  8.  
  9. start = clock( )&#59;  /* se toma el tiempo de inicio */
  10. sound(1000)&#59;    /* activa un beep de 1000 Hz */
  11. delay(600)&#59;    /* pausa de  600 mS. */
  12. nosound( )&#59;    /* se desactiva el beep */
  13.  
  14. sound(500)&#59;    /* activa un beep de 500 Hz */
  15. sleep(2)&#59;    /* pausa de  2 segundos */
  16. nosound( )&#59;
  17. stop = clock( )&#59;  /* se toma el tiempo final */
  18. printf(“Se ejecuto en %f segundos “,(stop-start) /CLK_TCK)&#59;
  19. }
  20.  
  21.  
  22.  

No olvides dividir el resultado de fin - inicio por la constante CLK_TCK para transformarlo a segundos.

Saludos

2
C/C++ / Re: Tecla
« en: Lunes 4 de Julio de 2005, 16:55 »
Código: Text
  1. ...en donde quiera terminar el proceso con que presione una tecla como esc , me termine el proceso y me lleve al menu principal. hasta al momento encontré que por defecto se puede hacer es con el control + c pero lo que hace es k me termina la aplicación por completo.
  2.  

Lo que puedes hacer para que al apretar Control+C no se termine el programa es generar una nueva Rutina de Servicio de Interrupción. En otras palabras decirle que haga tal cosa cuando se aprete Control+C.

Para hacer esto debes llamar a la funcion ctrlbrk().

Aqui te envio un codigo donde se realiza esto:

Código: Text
  1. #include <stdio.h>
  2. #include <dos.h>
  3.  
  4. int rsi_break(void)
  5.  
  6. main ( )
  7. {
  8. unsigned long int i;
  9. clrscr();
  10. ctrlbrk(rsi_break)&#59;    /* Se apunta a la nueva RSI rsi_break*/
  11.  
  12. for (i=0&#59;i<100000&#59;i++){          /* Bloque de retardo en espera de la interrupción*/
  13. gotoxy(35,10); printf(“%ld”,i);
  14. }
  15. printf(“ : Se Termino”);
  16. return(0);
  17. }
  18.  
  19. int rsi_break( void)
  20. {
  21. gotoxy(20,15),printf (“soy el nuevo manejador de CTL-C”)&#59;
  22. return (1)&#59;      /* retornando uno prosigue el programa principal*/
  23. }
  24.  
  25.  


Saludos y ojala te sirva de algo.

3
C/C++ / Re: Capturar La Hora Del Sistema
« en: Sábado 2 de Julio de 2005, 23:30 »
Tienes toda la razon.. la postie sin saber si era para DOS, Win.. Linux, lo que sea.
Pero claro, solo funciona en DOS

4
C/C++ / Ejecutar 2 Procesos A La Vez
« en: Sábado 2 de Julio de 2005, 22:09 »
Hola amigos:

Si alguien me puede ayudar lo agredeceria bastante.
Mi problema es que tengo que ejecutar una animacion en modo texto (no hay problema con eso) y además mostrar un reloj en todo momento.

He intentado generar esa llamada al reloj cada 1 segundo, pero la verdad, es poco amigable.

Si alguien sabe de algo, lo agredeceria.


Saludos

5
C/C++ / Re: Capturar La Hora Del Sistema
« en: Sábado 2 de Julio de 2005, 22:05 »
Hola.. aqui tienes otra forma de capturar la hora del sistema mediante la interupcion 21/2C.

Asi puedes capturar la hora, minutos, segundos y centesimas

Código: Text
  1.  
  2. #include<stdio.h>
  3. #include<stdio.h>
  4. #include<dos.h>
  5. #include<conio.h>
  6. main(){
  7. union REGS ent, sal&#59;
  8. ent.h.ah = 0x2C&#59;
  9.  
  10. clrscr();
  11. while(1){
  12. gotoxy(2,3);
  13. int86(0x21,&ent,&sal);
  14. printf ("%d : %d : %d : %d",sal.h.ch, sal.h.cl, sal.h.dh, sal.h.dl)&#59;
  15. sleep(1);
  16. }
  17. getch();
  18. }
  19.  
  20.  

Ojala te sirva.
Saludos

Páginas: [1]