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
Codificatore - main.cpp

main.cpp

Caricato da: AldoBaldo
Scarica il programma completo

  1. #include "main.h"
  2.  
  3.  
  4. int WINAPI WinMain(
  5.     HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdLine, int nCmdShow ) {
  6.  
  7.     CDF cdf; // un'istanza d'un oggetto della classe per la codifica
  8.     HWND hwnd;
  9.  
  10.     srand( GetTickCount() ); // inizializza il generatore di numeri pseudocasuali
  11.  
  12.     if( (hwnd = CreaFinestraPrincipale(hInst)) == NULL )
  13.         { Errore( "Finestra non creata." ); return 0; }
  14.  
  15.     if( SetWindowLong(hwnd,GWL_USERDATA,(LONG)&cdf) )
  16.         { Errore( "Finestra non inizializzata." ); return 0; }
  17.  
  18.     ShowWindow( hwnd, nCmdShow );
  19.  
  20.     CaricaChiave( hwnd );
  21.  
  22.     if( *cmdLine != '\0' ) CaricaDati( hwnd, cmdLine );
  23.  
  24.     MSG msg = {0};
  25.  
  26.     while( GetMessage(&msg, NULL, 0, 0) > 0 ) {
  27.         if( !IsDialogMessage(hwnd,&msg) ) {
  28.             TranslateMessage( &msg );
  29.             DispatchMessage( &msg );
  30.         }
  31.     }
  32.  
  33.     return 0;
  34. }
  35.  
  36. BOOL CALLBACK DlgMain(HWND hwnd, UINT msg, WPARAM wPar, LPARAM lPar) {
  37.     switch( msg ) {
  38.         case WM_COMMAND: {
  39.             switch( LOWORD(wPar) ) {
  40.                 case kIDPulsCaricaCod:
  41.                     CaricaDati( hwnd, kCDFInChiaro );
  42.                     break;
  43.                 case kIDPulsCaricaDec:
  44.                     CaricaDati( hwnd, kCDFCodificati );
  45.                     break;
  46.                 case kIDPulsAggChiave:
  47.                     CaricaChiave( hwnd );
  48.                     break;
  49.                 case kIDPulsCodifica:
  50.                     Codifica( hwnd );
  51.                     break;
  52.                 case kIDPulsDecodifica:
  53.                     Decodifica( hwnd );
  54.                     break;
  55.                 default:
  56.                     break;
  57.             }
  58.         } return TRUE;
  59.  
  60.         case WM_CLOSE: {
  61.             PostQuitMessage(0);
  62.         } return TRUE;
  63.  
  64.                 default:
  65.             return FALSE;
  66.     }
  67. }