Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
ZeroStage - threadExample.h

threadExample.h

Caricato da:
Scarica il programma completo

  1. #using <mscorlib.dll>
  2.  
  3. #include "ale.h"
  4.  using namespace System;
  5.  using namespace System::Threading;
  6.  
  7.  
  8. namespace ProgettoStageReal
  9. {
  10.  
  11.  
  12. public ref class ThreadExample
  13.  {
  14.          
  15.          System::Windows::Forms::TextBox^  tx;
  16.          int ore,minuti,npause,vai,ora_init,minuti_init,pausa,ora_init_def,minuti_init_def,t_totale;
  17.          
  18.        
  19.          
  20.  public:
  21.  
  22.         ThreadExample(System::Windows::Forms::TextBox^  t)
  23.          {
  24.                  pausa=npause=ore=minuti=t_totale=0;
  25.                  tx=t;
  26.                  vai=1;
  27.  
  28.          }
  29.         void settapausa(int a)
  30.         {
  31.                 pausa=a;
  32.         }
  33.         void settavai(int a)
  34.         {
  35.                 vai=a;
  36.         }
  37.  
  38.      void DoWork()
  39.         {
  40.                         DateTime d1 = DateTime::Now;
  41.                         ora_init=ora_init_def=d1.Hour;
  42.                         minuti_init=minuti_init_def=d1.Minute;
  43.                        
  44.                         while (vai)
  45.                         {
  46.                                 if (pausa==1)
  47.                                 {
  48.                                        
  49.                                         npause++;
  50.                                         DateTime d1 = DateTime::Now;
  51.                                         if (d1.Hour>=ora_init)
  52.                                         {
  53.                                                 if (d1.Minute>=minuti_init)
  54.                                                 {
  55.                                                         ore=ore+d1.Hour-ora_init;
  56.                                                         ora_init=d1.Hour;
  57.                                                         minuti=minuti+d1.Minute-minuti_init;
  58.                                                         minuti_init=d1.Minute;
  59.                                                 }
  60.                                                 else
  61.                                                 {
  62.                                                         minuti=minuti+d1.Minute+60-minuti_init;
  63.                                                         minuti_init=d1.Minute;                                                 
  64.                                                         if (d1.Hour>ora_init+1)
  65.                                                         {
  66.                                                                 ore=ore+d1.Hour-(ora_init+1);
  67.                                                         }
  68.                                                         ora_init=d1.Hour;
  69.                                                 }
  70.                                                
  71.                                         }
  72.                                         else
  73.                                         {
  74.                                                 if (d1.Minute>=minuti_init)
  75.                                                 {
  76.                                                         ore=ore+d1.Hour+24-ora_init;
  77.                                                         ora_init=d1.Hour;
  78.                                                         minuti=minuti+d1.Minute-minuti_init;
  79.                                                         minuti_init=d1.Minute;
  80.                                                 }
  81.                                                 else
  82.                                                 {
  83.                                                         minuti=minuti+d1.Minute+60-minuti_init;
  84.                                                         minuti_init=d1.Minute;
  85.                                                 }
  86.                                         }
  87.                                        
  88.                                         while(minuti>=60)
  89.                                         {
  90.                                                 ore++;
  91.                                                 minuti-=60;
  92.                                         }
  93.                                         tx->Text=ProgettoStageReal::Definizioni::tempototale+" "+ore.ToString()+" , "+minuti.ToString()+" min\r\n"+ProgettoStageReal::Definizioni::pausetotali+" "+npause.ToString();;
  94.                                         pausa=2;
  95.                                 }
  96.                                 else if (pausa==0)
  97.                                 {
  98.                                        
  99.                                        
  100.                                 }
  101.                                 else
  102.                                 {
  103.                                         DateTime d1 = DateTime::Now;
  104.                                         ora_init=d1.Hour;
  105.                                         minuti_init=d1.Minute;
  106.  
  107.                                 }
  108.                                 Thread::Sleep(500);
  109.  
  110.  
  111.                         }
  112.                         if (pausa!=2)
  113.                         {
  114.                                 DateTime d1 = DateTime::Now;
  115.                                 if (d1.Hour>=ora_init)
  116.                                         {
  117.                                                 if (d1.Minute>=minuti_init)
  118.                                                 {
  119.                                                         ore=ore+d1.Hour-ora_init;
  120.                                                         ora_init=d1.Hour;
  121.                                                         minuti=minuti+d1.Minute-minuti_init;
  122.                                                         minuti_init=d1.Minute;
  123.                                                 }
  124.                                                 else
  125.                                                 {
  126.                                                         minuti=minuti+d1.Minute+60-minuti_init;
  127.                                                         minuti_init=d1.Minute;
  128.                                                         if (d1.Hour>ora_init+1)
  129.                                                         {
  130.                                                                 ore=ore+d1.Hour-(ora_init+1);
  131.                                                         }
  132.                                                         ora_init=d1.Hour;
  133.                                                 }
  134.                                                
  135.                                         }
  136.                                         else
  137.                                         {
  138.                                                 if (d1.Minute>=minuti_init)
  139.                                                 {
  140.                                                         ore=ore+d1.Hour+24-ora_init;
  141.                                                         ora_init=d1.Hour;
  142.                                                         minuti=minuti+d1.Minute-minuti_init;
  143.                                                         minuti_init=d1.Minute;
  144.                                                 }
  145.                                                 else
  146.                                                 {
  147.                                                         minuti=minuti+d1.Minute+60-minuti_init;
  148.                                                         minuti_init=d1.Minute;
  149.                                                 }
  150.                                         }
  151.                                         while(minuti>=60)
  152.                                 {
  153.                                         ore++;
  154.                                         minuti-=60;
  155.                                 }
  156.                                 tx->Text=ProgettoStageReal::Definizioni::tempototale+" "+ore.ToString()+" , "+minuti.ToString()+" min\r\n"+ProgettoStageReal::Definizioni::pausetotali+" "+npause.ToString();;
  157.                         }                      
  158.                      
  159.         }
  160.  };
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167. }