• Lunes 18 de Noviembre de 2024, 09:22

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.


Temas - dinl

Páginas: [1]
1
C/C++ / duda sobre cursor
« en: Viernes 12 de Diciembre de 2008, 06:27 »
hola de nuevo!, ya estoy en la fase final de mi proyecto, pero tengo problemas con una funcion q me imprime, debido a que limpia toda la pantalla y reimprime el cambio, un amigo me sugirio q utilizara setcursor de la libreria windows.h, pero no se utilizarla bien, hasta el momento consegui esto:

Código: Text
  1.  
  2. #include<iostream.h>
  3. #include <windows.h>
  4.  
  5. HANDLE consola;
  6. COORD posicion;
  7.  
  8. int main()
  9. {
  10.  
  11. consola = GetStdHandle(STD_OUTPUT_HANDLE);
  12.  
  13. cout << "aqui hay algo nuevon";
  14. posicion.X= 2;
  15. posicion.Y= 1;
  16. SetConsoleCursorPosition(consola, posicion);
  17.  
  18. cout<<"j";
  19.  
  20. system("pause");
  21. return 0;
  22. }
  23.  
  24.  
  25.  

pero el problema es q el comando borra todo lo q este desde la posicion (x,y) en adelante, como hago para solo moficar el valor de una posicion (x,y) sin afectar el resto??, les agradeceria mucho su ayuda.

2
C/C++ / dudas sobre threads
« en: Miércoles 10 de Diciembre de 2008, 01:10 »
Hola a todos!, miren he estado tratando de programar con hilos en c++ pero aun tengo dudas, por ejemplo, si en un momento deseo parar la ejecucion de un thread que funcion o procedimiento utilizo?, tambien como puedo iniciar un hilo fuera del main, es eso posible?.

Código: Text
  1.  
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <time.h>
  5. #include <windows.h>
  6.  
  7. using namespace std;
  8.  
  9. void reloj ( int seconds )
  10. {
  11.   clock_t endwait;
  12.   endwait = clock () + seconds * CLOCKS_PER_SEC ;
  13.   while (clock() < endwait) {}
  14. }
  15.  
  16. void conteo(){
  17.     int n;
  18.       printf ("Starting countdown...n");
  19.       for (n=0; n<99; n++)
  20.       {
  21.         printf ("%dn",n);
  22.         reloj(1);
  23.         system("cls");
  24.       }
  25.       printf ("FIRE!!!n");
  26. }
  27.  
  28. void relleno(){
  29.     int opcion,control=1;
  30.     while(control){
  31.     cin >> opcion;
  32.     if(opcion==5){
  33.         control=0;
  34.     }
  35.     }
  36. }
  37.  
  38. void RunDialogOne();
  39. void RunDialogTwo();
  40.  
  41. HANDLE tPrimary, tSecond;
  42.  
  43. void RunDialogTwo(){
  44.     // WaitForSingleObject(tPrimary, INFINITE);
  45.     conteo();
  46.     return;
  47. }
  48.  
  49. void RunDialogOne(){
  50.     relleno();
  51.     return;
  52. }
  53.  
  54. int main ()
  55. {
  56.     DWORD ThreadID;
  57.  
  58.     tPrimary = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)RunDialogOne, NULL, CREATE_SUSPENDED, &ThreadID);
  59.     tSecond = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)RunDialogTwo, NULL, CREATE_SUSPENDED, &ThreadID);
  60.     ResumeThread(tPrimary);
  61.     ResumeThread(tSecond);
  62.  
  63.     HANDLE ThreadContainer[2];
  64.     ThreadContainer[0] = tPrimary;
  65.     ThreadContainer[1] = tSecond;
  66.  
  67.     DWORD dwSuccess = WaitForMultipleObjects(2, ThreadContainer, TRUE, INFINITE);
  68.     if (dwSuccess == WAIT_FAILED)
  69.         MessageBox(NULL, "Espera a fallado!", "ERROR", MB_OK | MB_ICONERROR);
  70.     else
  71.         MessageBox(NULL, "Exito!", "EXITO", MB_OK | MB_ICONINFORMATION);
  72.  
  73.     CloseHandle(tPrimary);
  74.     CloseHandle(tSecond);
  75. return 0;
  76.  
  77. }
  78.  
  79.  
este fue un codigo que encontre y he modificado a trozos, pero no se que mas hacerle y en la web la documentacion no es muy clara. de antemano muchas gracias

Páginas: [1]