Accueil > > > CONTRÔLE DU PORT PARRALLÈLE ET JEUX DE LUMIÈRE
CONTRÔLE DU PORT PARRALLÈLE ET JEUX DE LUMIÈRE
Information sur la source
Description
Ce logiciel sert à contrôler les huit broches de données du port parallèle pour en faire ce que l'on veut... Une première application est le jeu de lumière, mais on peut imaginer contrôler toutes sortes de choses comme des outils ménager via un circuit électronique trés simple et peu couteux à réaliser.
Source
- // Ceci n'est qu'une partie du source à compiler avec visual c++6
- // Télécharger le zip
- // Je décline toute responsabilité dans le cas d'utilisations non conventionnelles du
- // logiciel.
- // Attention à votre imprimante et votre carte mère! ( pas de court circuit
- // sur le port parallèle évidement)
-
-
- // Voilà, tout est là, bonne visite !
-
-
- #include "stdafx.h"
- #include "Para_Control.h"
- #include "Para_ControlDlg.h"
- #include "conio.h"
- #include "math.h"
- //#include "stdlib.h"
-
- int p1 = 0x378; // Adresse Port Parallèle
- CString temp;
- int pos = 0;
- int c = 0;
- int Temps = 101; // ( Milli-secondes )
-
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
-
- int last = 0;
- //srand(0);
-
- /////////////////////////////////////////////////////////////////////////////
- // CAboutDlg dialog used for App About
-
- class CAboutDlg : public CDialog
- {
- public:
- CAboutDlg();
-
- // Dialog Data
- //{{AFX_DATA(CAboutDlg)
- enum { IDD = IDD_ABOUTBOX };
- //}}AFX_DATA
-
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CAboutDlg)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
-
- // Implementation
- protected:
- //{{AFX_MSG(CAboutDlg)
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
-
- CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
- {
- //{{AFX_DATA_INIT(CAboutDlg)
- //}}AFX_DATA_INIT
- }
-
- void CAboutDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CAboutDlg)
- //}}AFX_DATA_MAP
- }
-
- BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
- //{{AFX_MSG_MAP(CAboutDlg)
- // No message handlers
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
- /////////////////////////////////////////////////////////////////////////////
- // CPara_ControlDlg dialog
-
- CPara_ControlDlg::CPara_ControlDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CPara_ControlDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CPara_ControlDlg)
- // Initialisation des 'Edit Box'
- m_cpt1 = 10;
- m_cpt2 = 10;
- m_cpt3 = 10;
- m_cpt4 = 10;
- m_cpt5 = 10;
- m_cpt6 = 10;
- m_cpt7 = 10;
- m_cpt8 = 10;
- m_cpt9 = 10;
- m_cpt12 = 50;
- m_cpt10 = 10;
- m_cpt11 = 0;
- m_cpt24 = 10;
- m_cpt13 = 3;
- m_cpt14 = 5;
- m_cpt15 = 7;
- m_cpt16 = 2;
- m_cpt17 = 1;
- m_cpt18 = 4;
- m_cpt19 = 6;
- m_cpt20 = 8;
- m_cpt21 = 1;
- m_cpt22 = 8;
- m_cpt23 = 1;
- //}}AFX_DATA_INIT
- // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
- m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- }
-
- void CPara_ControlDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CPara_ControlDlg)
- DDX_Text(pDX, IDC_EDIT1, m_cpt1);
- DDX_Text(pDX, IDC_EDIT2, m_cpt2);
- DDX_Text(pDX, IDC_EDIT3, m_cpt3);
- DDX_Text(pDX, IDC_EDIT4, m_cpt4);
- DDX_Text(pDX, IDC_EDIT5, m_cpt5);
- DDX_Text(pDX, IDC_EDIT6, m_cpt6);
- DDX_Text(pDX, IDC_EDIT7, m_cpt7);
- DDX_Text(pDX, IDC_EDIT8, m_cpt8);
- DDX_Text(pDX, IDC_EDIT9, m_cpt9);
- DDX_Text(pDX, IDC_EDIT12, m_cpt12);
- DDX_Text(pDX, IDC_EDIT10, m_cpt10);
- DDX_Text(pDX, IDC_EDIT24, m_cpt24);
- DDX_Text(pDX, IDC_EDIT13, m_cpt13);
- DDX_Text(pDX, IDC_EDIT14, m_cpt14);
- DDX_Text(pDX, IDC_EDIT15, m_cpt15);
- DDX_Text(pDX, IDC_EDIT16, m_cpt16);
- DDX_Text(pDX, IDC_EDIT17, m_cpt17);
- DDX_Text(pDX, IDC_EDIT18, m_cpt18);
- DDX_Text(pDX, IDC_EDIT19, m_cpt19);
- DDX_Text(pDX, IDC_EDIT20, m_cpt20);
- DDX_Text(pDX, IDC_EDIT21, m_cpt21);
- DDX_Text(pDX, IDC_EDIT22, m_cpt22);
- DDX_Text(pDX, IDC_EDIT23, m_cpt23);
- //}}AFX_DATA_MAP
- }
-
- BEGIN_MESSAGE_MAP(CPara_ControlDlg, CDialog)
- //{{AFX_MSG_MAP(CPara_ControlDlg)
- // Initialisation des boutons
- ON_WM_SYSCOMMAND()
- ON_WM_PAINT()
- ON_WM_QUERYDRAGICON()
- ON_BN_CLICKED(IDC_BUTTON7, On_Allume_tout)
- ON_BN_CLICKED(IDC_BUTTON8, On_Eteindre_tout)
- ON_BN_CLICKED(IDC_BUTTON1, On_Allum1)
- ON_BN_CLICKED(IDC_BUTTON3, On_Cligno1)
- ON_BN_CLICKED(IDC_BUTTON2, On_Etein1)
- ON_BN_CLICKED(IDC_BUTTON24, On_Allum8)
- ON_BN_CLICKED(IDC_BUTTON25, On_Etein8)
- ON_BN_CLICKED(IDC_BUTTON26, On_Cligno8)
- ON_BN_CLICKED(IDC_BUTTON4, On_Allum2)
- ON_BN_CLICKED(IDC_BUTTON5, On_Etein2)
- ON_BN_CLICKED(IDC_BUTTON6, On_Cligno2)
- ON_BN_CLICKED(IDC_BUTTON9, On_Allum3)
- ON_BN_CLICKED(IDC_BUTTON10, On_Etein3)
- ON_BN_CLICKED(IDC_BUTTON11, On_Cligno3)
- ON_BN_CLICKED(IDC_BUTTON12, On_Allum4)
- ON_BN_CLICKED(IDC_BUTTON13, On_Etein4)
- ON_BN_CLICKED(IDC_BUTTON14, On_Cligno4)
- ON_BN_CLICKED(IDC_BUTTON15, On_Allum5)
- ON_BN_CLICKED(IDC_BUTTON16, On_Etein5)
- ON_BN_CLICKED(IDC_BUTTON17, On_Cligno5)
- ON_BN_CLICKED(IDC_BUTTON18, On_Allum6)
- ON_BN_CLICKED(IDC_BUTTON19, On_Etein6)
- ON_BN_CLICKED(IDC_BUTTON20, On_Cligno6)
- ON_BN_CLICKED(IDC_BUTTON21, On_Allum7)
- ON_BN_CLICKED(IDC_BUTTON22, On_Etein7)
- ON_BN_CLICKED(IDC_BUTTON23, On_Cligno7)
- ON_BN_CLICKED(IDC_BUTTON27, On_Cligno_tout)
- ON_BN_CLICKED(IDC_BUTTON28, On_Cheni_DG)
- ON_BN_CLICKED(IDC_BUTTON29, On_Cheni_GD)
- ON_BN_CLICKED(IDC_BUTTON30, On_Cheni_AR)
- ON_BN_CLICKED(IDC_BUTTON31, On_Rencontre)
- ON_BN_CLICKED(IDC_BUTTON32, On_Separe)
- ON_BN_CLICKED(IDC_BUTTON34, On_Croise)
- ON_BN_CLICKED(IDC_BUTTON33, On_Collision)
- ON_BN_CLICKED(IDC_BUTTON35, On_Seq)
- ON_BN_CLICKED(IDC_BUTTON36, On_Aleatoire1)
- ON_BN_CLICKED(IDC_BUTTON37, On_Alleatoire2)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
- /////////////////////////////////////////////////////////////////////////////
- // CPara_ControlDlg message handlers
-
- BOOL CPara_ControlDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- // Add "About..." menu item to system menu.
-
- // IDM_ABOUTBOX must be in the system command range.
- ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
- ASSERT(IDM_ABOUTBOX < 0xF000);
-
- CMenu* pSysMenu = GetSystemMenu(FALSE);
- if (pSysMenu != NULL)
- {
- CString strAboutMenu;
- strAboutMenu.LoadString(IDS_ABOUTBOX);
- if (!strAboutMenu.IsEmpty())
- {
- pSysMenu->AppendMenu(MF_SEPARATOR);
- pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
- }
- }
-
- // Set the icon for this dialog. The framework does this automatically
- // when the application's main window is not a dialog
- SetIcon(m_hIcon, TRUE); // Set big icon
- SetIcon(m_hIcon, FALSE); // Set small icon
-
- // TODO: Add extra initialization here
- // Mise à zéro de toutes les sorties:
- _outp(p1,0);
-
- // Initialisation et positionnement des sliders
-
- CSliderCtrl* pSlide1 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER1) );
- pSlide1->SetRange(1,100,true);
- pSlide1->SetPos(50);
-
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER2) );
- pSlide2->SetRange(1,100,true);
- pSlide2->SetPos(50);
-
- CSliderCtrl* pSlide3 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER3) );
- pSlide3->SetRange(1,100,true);
- pSlide3->SetPos(50);
-
- CSliderCtrl* pSlide4 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER4) );
- pSlide4->SetRange(1,100,true);
- pSlide4->SetPos(50);
-
- CSliderCtrl* pSlide5 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER5) );
- pSlide5->SetRange(1,100,true);
- pSlide5->SetPos(50);
-
- CSliderCtrl* pSlide6 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER6) );
- pSlide6->SetRange(1,100,true);
- pSlide6->SetPos(50);
-
- CSliderCtrl* pSlide7 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER7) );
- pSlide7->SetRange(1,100,true);
- pSlide7->SetPos(50);
-
- CSliderCtrl* pSlide8 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER8) );
- pSlide8->SetRange(1,100,true);
- pSlide8->SetPos(50);
-
- CSliderCtrl* pSlide9 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER9) );
- pSlide9->SetRange(1,100,true);
- pSlide9->SetPos(50);
-
- CSliderCtrl* pSlide16 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pSlide16->SetRange(1,100,true);
- pSlide16->SetPos(100);
-
- CSliderCtrl* pSlide14 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER14) );
- pSlide14->SetRange(1,100,true);
- pSlide14->SetPos(50);
-
- CSliderCtrl* pSlide13 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- pSlide13->SetRange(1,100,true);
- pSlide13->SetPos(50);
-
- CSliderCtrl* pSlide11 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER11) );
- pSlide11->SetRange(1,100,true);
- pSlide11->SetPos(50);
-
- return TRUE; // return TRUE unless you set the focus to a control
- }
-
- void CPara_ControlDlg::OnSysCommand(UINT nID, LPARAM lParam)
- {
- if ((nID & 0xFFF0) == IDM_ABOUTBOX)
- {
- CAboutDlg dlgAbout;
- dlgAbout.DoModal();
- }
- else
- {
- CDialog::OnSysCommand(nID, lParam);
- }
- }
-
- // If you add a minimize button to your dialog, you will need the code below
- // to draw the icon. For MFC applications using the document/view model,
- // this is automatically done for you by the framework.
-
- void CPara_ControlDlg::OnPaint()
- {
- if (IsIconic())
- {
- CPaintDC dc(this); // device context for painting
-
- SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
-
- // Center icon in client rectangle
- int cxIcon = GetSystemMetrics(SM_CXICON);
- int cyIcon = GetSystemMetrics(SM_CYICON);
- CRect rect;
- GetClientRect(&rect);
- int x = (rect.Width() - cxIcon + 1) / 2;
- int y = (rect.Height() - cyIcon + 1) / 2;
-
- // Draw the icon
- dc.DrawIcon(x, y, m_hIcon);
- }
- else
- {
- CDialog::OnPaint();
- }
- }
-
- // The system calls this to obtain the cursor to display while the user drags
- // the minimized window.
- HCURSOR CPara_ControlDlg::OnQueryDragIcon()
- {
- return (HCURSOR) m_hIcon;
- }
-
- void CPara_ControlDlg::On_Allume_tout()
- {
- // TODO: Add your control notification handler code here
- // On envoi 255, ce qui correspond à 11111111 en binaire:
- // Donc toutes les sorties sont activées
- // C'est aussi simple que ça...
-
- last = 255;
- _outp(p1,last);
-
- }
-
- void CPara_ControlDlg::On_Eteindre_tout()
- {
- // TODO: Add your control notification handler code here
- last = 0;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Allum1()
- {
- // TODO: Add your control notification handler code here
- // Ou bit à bit de ce qui était écrit sur le port para avec 0000 0001
- // On est sûr que la sortie n°1 est active et que les autres sorties
- // n'ont pas étés modifiées
- // Si vous ne me croyez pas, révisez la logique...
-
- last = 1 | last;
- _outp(p1,last);
-
- }
-
- void CPara_ControlDlg::On_Cligno1()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT1,temp); // Récup valeur dans edit box1
- int cpt1 = atoi(temp);// Conversion en entier
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER1) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();// lecture de
- // la position des sliders et opération pour déterminer la longueur
- // de la pause
- c = 0;
- int save_last = last;// sauvegarde ancienne config des sorties
- last = last & 254;
- while(c<cpt1)
- {
- c++;
- last = 1 | last;
- _outp(p1,last);
- Sleep(pos);
- last = 254 & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein1()
- {
- // TODO: Add your control notification handler code here
- last = 254 & last;// 254 = 11111110
- _outp(p1,last); // donc sortie 1 désactivée seule grace à un ET
- // bit à bit
- }
-
- // Bon aprés c'est quasi tout pareil, bonne lecture...
-
- void CPara_ControlDlg::On_Allum8()
- {
- // TODO: Add your control notification handler code here
- last = 128 | last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein8()
- {
- // TODO: Add your control notification handler code here
- last = (255 - 128) & last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno8()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT8,temp);
- int cpt8 = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER8) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- last = last & (255 - 128);
- while(c<cpt8)
- {
- c++;
- last = 128 | last;
- _outp(p1,last);
- Sleep(pos);
- last = (255 - 128) & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Allum2()
- {
- // TODO: Add your control notification handler code here
- last = last | 2;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein2()
- {
- // TODO: Add your control notification handler code here
- last &= (255 - 2);
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno2()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT2,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER2) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- last = last & (255 - 2);
- while(c<cpt)
- {
- c++;
- last = 2 | last;
- _outp(p1,last);
- Sleep(pos);
- last = (255 - 2) & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Allum3()
- {
- // TODO: Add your control notification handler code here
- last |= 4;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein3()
- {
- // TODO: Add your control notification handler code here
- last &= (255 - 4);
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno3()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT3,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER3) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- last = last & (255 - 4);
- while(c<cpt)
- {
- c++;
- last = 4 | last;
- _outp(p1,last);
- Sleep(pos);
- last = (255 - 4) & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Allum4()
- {
- // TODO: Add your control notification handler code here
- last |= 8;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein4()
- {
- // TODO: Add your control notification handler code here
- last &= (255 - 8);
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno4()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT4,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER4) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- last = last & (255 - 8);
- while(c<cpt)
- {
- c++;
- last = 8 | last;
- _outp(p1,last);
- Sleep(pos);
- last = (255 - 8) & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Allum5()
- {
- // TODO: Add your control notification handler code here
- last |= 16;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein5()
- {
- // TODO: Add your control notification handler code here
- last &= (255 - 16);
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno5()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT5,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER5) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- last = last & (255 - 16);
- while(c<cpt)
- {
- c++;
- last = 16 | last;
- _outp(p1,last);
- Sleep(pos);
- last = (255 - 16) & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Allum6()
- {
- // TODO: Add your control notification handler code here
- last |= 32;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein6()
- {
- // TODO: Add your control notification handler code here
- last &= (255-32);
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno6()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT6,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER6) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- last = last & (255 - 32);
- while(c<cpt)
- {
- c++;
- last = 32 | last;
- _outp(p1,last);
- Sleep(pos);
- last = (255 - 32) & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Allum7()
- {
- // TODO: Add your control notification handler code here
- last |= 64;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Etein7()
- {
- // TODO: Add your control notification handler code here
- last &= (255 - 64);
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno7()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT7,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER7) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- last = last & (255 - 64);
- while(c<cpt)
- {
- c++;
- last = 64 | last;
- _outp(p1,last);
- Sleep(pos);
- last = (255 - 64) & last;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cligno_tout()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT9,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER9) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
-
- while(c<cpt)
- {
- c++;
- last = 255;
- _outp(p1,last);
- Sleep(pos);
- last = 0;
- _outp(p1,last);
- Sleep(pos);
- }
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cheni_DG()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT10,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while(c<cpt)
- {
- c++;
- _outp(p1,128);
- Sleep(pos);
- _outp(p1,64);
- Sleep(pos);
- _outp(p1,32);
- Sleep(pos);
- _outp(p1,16);
- Sleep(pos);
- _outp(p1,8);
- Sleep(pos);
- _outp(p1,4);
- Sleep(pos);
- _outp(p1,2);
- Sleep(pos);
- _outp(p1,1);
- Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cheni_GD()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT10,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while(c<cpt)
- {
- c++;
- _outp(p1,1);
- Sleep(pos);
- _outp(p1,2);
- Sleep(pos);
- _outp(p1,4);
- Sleep(pos);
- _outp(p1,8);
- Sleep(pos);
- _outp(p1,16);
- Sleep(pos);
- _outp(p1,32);
- Sleep(pos);
- _outp(p1,64);
- Sleep(pos);
- _outp(p1,128);
- Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Cheni_AR()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT10,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while(c<cpt)
- {
- c++;
- _outp(p1,128);
- Sleep(pos);
- _outp(p1,64);
- Sleep(pos);
- _outp(p1,32);
- Sleep(pos);
- _outp(p1,16);
- Sleep(pos);
- _outp(p1,8);
- Sleep(pos);
- _outp(p1,4);
- Sleep(pos);
- _outp(p1,2);
- Sleep(pos);
- _outp(p1,1);
- // Sleep(pos);
- // _outp(p1,1);
- Sleep(pos);
- _outp(p1,2);
- Sleep(pos);
- _outp(p1,4);
- Sleep(pos);
- _outp(p1,8);
- Sleep(pos);
- _outp(p1,16);
- Sleep(pos);
- _outp(p1,32);
- Sleep(pos);
- _outp(p1,64);
- Sleep(pos);
- // _outp(p1,128);
- // Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Rencontre()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT10,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while(c<cpt)
- {
- c++;
- _outp(p1,129);
- Sleep(pos);
- _outp(p1,66);
- Sleep(pos);
- _outp(p1,36);
- Sleep(pos);
- _outp(p1,24);
- Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Separe()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT10,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while(c<cpt)
- {
- c++;
- _outp(p1,24);
- Sleep(pos);
- _outp(p1,36);
- Sleep(pos);
- _outp(p1,66);
- Sleep(pos);
- _outp(p1,129);
- Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Croise()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT10,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while(c<cpt)
- {
- c++;
- _outp(p1,129);
- Sleep(pos);
- _outp(p1,66);
- Sleep(pos);
- _outp(p1,36);
- Sleep(pos);
- _outp(p1,24);
- Sleep(pos);
- _outp(p1,36);
- Sleep(pos);
- _outp(p1,66);
- Sleep(pos);
- _outp(p1,129);
- Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Collision()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT10,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while(c<cpt)
- {
- c++;
- _outp(p1,129);
- Sleep(pos);
- _outp(p1,66);
- Sleep(pos);
- _outp(p1,36);
- Sleep(pos);
- _outp(p1,24);
- Sleep(pos);
- _outp(p1,255);
- Sleep(pos);
- _outp(p1,0);
- Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Seq()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT24,temp);
- int cpt = atoi(temp);
- int n_led;
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER11) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
-
- while( c<cpt )
- {
- c++;
-
- GetDlgItemText(IDC_EDIT17,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT13,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT14,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT15,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT16,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT18,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT19,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT20,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT21,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT22,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- GetDlgItemText(IDC_EDIT23,temp);
- n_led = atoi(temp);
-
- if( (n_led < 9) )
- {
- switch(n_led)
- {
-
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- }
- }
- else
- {
- MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
- }
-
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Aleatoire1()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT12,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER14) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
- int x;
-
- while(c<cpt)
- {
- c++;
- x = rand()%256;
- _outp(p1,x);
- Sleep(pos);
- }
-
- last = save_last;
- _outp(p1,last);
- }
-
- void CPara_ControlDlg::On_Alleatoire2()
- {
- // TODO: Add your control notification handler code here
- GetDlgItemText(IDC_EDIT12,temp);
- int cpt = atoi(temp);
- CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER14) );
- CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
- pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
- c = 0;
- int save_last = last;
- int i = 0;
- int x;
-
- while(c<cpt)
- {
- c++;
- x = rand()%9;
- switch(x)
- {
- case 1:
- _outp(p1,1);
- Sleep(pos);
- break;
- case 2:
- _outp(p1,2);
- Sleep(pos);
- break;
- case 3:
- _outp(p1,4);
- Sleep(pos);
- break;
- case 4:
- _outp(p1,8);
- Sleep(pos);
- break;
- case 5:
- _outp(p1,16);
- Sleep(pos);
- break;
- case 6:
- _outp(p1,32);
- Sleep(pos);
- break;
- case 7:
- _outp(p1,64);
- Sleep(pos);
- break;
- case 8:
- _outp(p1,128);
- Sleep(pos);
- break;
- default:
- _outp(p1,x);
- Sleep(pos);
- break;
- }
- }
-
- last = save_last;
- _outp(p1,last);
- }
// Ceci n'est qu'une partie du source à compiler avec visual c++6
// Télécharger le zip
// Je décline toute responsabilité dans le cas d'utilisations non conventionnelles du
// logiciel.
// Attention à votre imprimante et votre carte mère! ( pas de court circuit
// sur le port parallèle évidement)
// Voilà, tout est là, bonne visite !
#include "stdafx.h"
#include "Para_Control.h"
#include "Para_ControlDlg.h"
#include "conio.h"
#include "math.h"
//#include "stdlib.h"
int p1 = 0x378; // Adresse Port Parallèle
CString temp;
int pos = 0;
int c = 0;
int Temps = 101; // ( Milli-secondes )
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
int last = 0;
//srand(0);
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPara_ControlDlg dialog
CPara_ControlDlg::CPara_ControlDlg(CWnd* pParent /*=NULL*/)
: CDialog(CPara_ControlDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CPara_ControlDlg)
// Initialisation des 'Edit Box'
m_cpt1 = 10;
m_cpt2 = 10;
m_cpt3 = 10;
m_cpt4 = 10;
m_cpt5 = 10;
m_cpt6 = 10;
m_cpt7 = 10;
m_cpt8 = 10;
m_cpt9 = 10;
m_cpt12 = 50;
m_cpt10 = 10;
m_cpt11 = 0;
m_cpt24 = 10;
m_cpt13 = 3;
m_cpt14 = 5;
m_cpt15 = 7;
m_cpt16 = 2;
m_cpt17 = 1;
m_cpt18 = 4;
m_cpt19 = 6;
m_cpt20 = 8;
m_cpt21 = 1;
m_cpt22 = 8;
m_cpt23 = 1;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CPara_ControlDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPara_ControlDlg)
DDX_Text(pDX, IDC_EDIT1, m_cpt1);
DDX_Text(pDX, IDC_EDIT2, m_cpt2);
DDX_Text(pDX, IDC_EDIT3, m_cpt3);
DDX_Text(pDX, IDC_EDIT4, m_cpt4);
DDX_Text(pDX, IDC_EDIT5, m_cpt5);
DDX_Text(pDX, IDC_EDIT6, m_cpt6);
DDX_Text(pDX, IDC_EDIT7, m_cpt7);
DDX_Text(pDX, IDC_EDIT8, m_cpt8);
DDX_Text(pDX, IDC_EDIT9, m_cpt9);
DDX_Text(pDX, IDC_EDIT12, m_cpt12);
DDX_Text(pDX, IDC_EDIT10, m_cpt10);
DDX_Text(pDX, IDC_EDIT24, m_cpt24);
DDX_Text(pDX, IDC_EDIT13, m_cpt13);
DDX_Text(pDX, IDC_EDIT14, m_cpt14);
DDX_Text(pDX, IDC_EDIT15, m_cpt15);
DDX_Text(pDX, IDC_EDIT16, m_cpt16);
DDX_Text(pDX, IDC_EDIT17, m_cpt17);
DDX_Text(pDX, IDC_EDIT18, m_cpt18);
DDX_Text(pDX, IDC_EDIT19, m_cpt19);
DDX_Text(pDX, IDC_EDIT20, m_cpt20);
DDX_Text(pDX, IDC_EDIT21, m_cpt21);
DDX_Text(pDX, IDC_EDIT22, m_cpt22);
DDX_Text(pDX, IDC_EDIT23, m_cpt23);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPara_ControlDlg, CDialog)
//{{AFX_MSG_MAP(CPara_ControlDlg)
// Initialisation des boutons
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON7, On_Allume_tout)
ON_BN_CLICKED(IDC_BUTTON8, On_Eteindre_tout)
ON_BN_CLICKED(IDC_BUTTON1, On_Allum1)
ON_BN_CLICKED(IDC_BUTTON3, On_Cligno1)
ON_BN_CLICKED(IDC_BUTTON2, On_Etein1)
ON_BN_CLICKED(IDC_BUTTON24, On_Allum8)
ON_BN_CLICKED(IDC_BUTTON25, On_Etein8)
ON_BN_CLICKED(IDC_BUTTON26, On_Cligno8)
ON_BN_CLICKED(IDC_BUTTON4, On_Allum2)
ON_BN_CLICKED(IDC_BUTTON5, On_Etein2)
ON_BN_CLICKED(IDC_BUTTON6, On_Cligno2)
ON_BN_CLICKED(IDC_BUTTON9, On_Allum3)
ON_BN_CLICKED(IDC_BUTTON10, On_Etein3)
ON_BN_CLICKED(IDC_BUTTON11, On_Cligno3)
ON_BN_CLICKED(IDC_BUTTON12, On_Allum4)
ON_BN_CLICKED(IDC_BUTTON13, On_Etein4)
ON_BN_CLICKED(IDC_BUTTON14, On_Cligno4)
ON_BN_CLICKED(IDC_BUTTON15, On_Allum5)
ON_BN_CLICKED(IDC_BUTTON16, On_Etein5)
ON_BN_CLICKED(IDC_BUTTON17, On_Cligno5)
ON_BN_CLICKED(IDC_BUTTON18, On_Allum6)
ON_BN_CLICKED(IDC_BUTTON19, On_Etein6)
ON_BN_CLICKED(IDC_BUTTON20, On_Cligno6)
ON_BN_CLICKED(IDC_BUTTON21, On_Allum7)
ON_BN_CLICKED(IDC_BUTTON22, On_Etein7)
ON_BN_CLICKED(IDC_BUTTON23, On_Cligno7)
ON_BN_CLICKED(IDC_BUTTON27, On_Cligno_tout)
ON_BN_CLICKED(IDC_BUTTON28, On_Cheni_DG)
ON_BN_CLICKED(IDC_BUTTON29, On_Cheni_GD)
ON_BN_CLICKED(IDC_BUTTON30, On_Cheni_AR)
ON_BN_CLICKED(IDC_BUTTON31, On_Rencontre)
ON_BN_CLICKED(IDC_BUTTON32, On_Separe)
ON_BN_CLICKED(IDC_BUTTON34, On_Croise)
ON_BN_CLICKED(IDC_BUTTON33, On_Collision)
ON_BN_CLICKED(IDC_BUTTON35, On_Seq)
ON_BN_CLICKED(IDC_BUTTON36, On_Aleatoire1)
ON_BN_CLICKED(IDC_BUTTON37, On_Alleatoire2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPara_ControlDlg message handlers
BOOL CPara_ControlDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
// Mise à zéro de toutes les sorties:
_outp(p1,0);
// Initialisation et positionnement des sliders
CSliderCtrl* pSlide1 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER1) );
pSlide1->SetRange(1,100,true);
pSlide1->SetPos(50);
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER2) );
pSlide2->SetRange(1,100,true);
pSlide2->SetPos(50);
CSliderCtrl* pSlide3 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER3) );
pSlide3->SetRange(1,100,true);
pSlide3->SetPos(50);
CSliderCtrl* pSlide4 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER4) );
pSlide4->SetRange(1,100,true);
pSlide4->SetPos(50);
CSliderCtrl* pSlide5 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER5) );
pSlide5->SetRange(1,100,true);
pSlide5->SetPos(50);
CSliderCtrl* pSlide6 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER6) );
pSlide6->SetRange(1,100,true);
pSlide6->SetPos(50);
CSliderCtrl* pSlide7 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER7) );
pSlide7->SetRange(1,100,true);
pSlide7->SetPos(50);
CSliderCtrl* pSlide8 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER8) );
pSlide8->SetRange(1,100,true);
pSlide8->SetPos(50);
CSliderCtrl* pSlide9 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER9) );
pSlide9->SetRange(1,100,true);
pSlide9->SetPos(50);
CSliderCtrl* pSlide16 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pSlide16->SetRange(1,100,true);
pSlide16->SetPos(100);
CSliderCtrl* pSlide14 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER14) );
pSlide14->SetRange(1,100,true);
pSlide14->SetPos(50);
CSliderCtrl* pSlide13 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
pSlide13->SetRange(1,100,true);
pSlide13->SetPos(50);
CSliderCtrl* pSlide11 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER11) );
pSlide11->SetRange(1,100,true);
pSlide11->SetPos(50);
return TRUE; // return TRUE unless you set the focus to a control
}
void CPara_ControlDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CPara_ControlDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CPara_ControlDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CPara_ControlDlg::On_Allume_tout()
{
// TODO: Add your control notification handler code here
// On envoi 255, ce qui correspond à 11111111 en binaire:
// Donc toutes les sorties sont activées
// C'est aussi simple que ça...
last = 255;
_outp(p1,last);
}
void CPara_ControlDlg::On_Eteindre_tout()
{
// TODO: Add your control notification handler code here
last = 0;
_outp(p1,last);
}
void CPara_ControlDlg::On_Allum1()
{
// TODO: Add your control notification handler code here
// Ou bit à bit de ce qui était écrit sur le port para avec 0000 0001
// On est sûr que la sortie n°1 est active et que les autres sorties
// n'ont pas étés modifiées
// Si vous ne me croyez pas, révisez la logique...
last = 1 | last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno1()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT1,temp); // Récup valeur dans edit box1
int cpt1 = atoi(temp);// Conversion en entier
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER1) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();// lecture de
// la position des sliders et opération pour déterminer la longueur
// de la pause
c = 0;
int save_last = last;// sauvegarde ancienne config des sorties
last = last & 254;
while(c<cpt1)
{
c++;
last = 1 | last;
_outp(p1,last);
Sleep(pos);
last = 254 & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein1()
{
// TODO: Add your control notification handler code here
last = 254 & last;// 254 = 11111110
_outp(p1,last); // donc sortie 1 désactivée seule grace à un ET
// bit à bit
}
// Bon aprés c'est quasi tout pareil, bonne lecture...
void CPara_ControlDlg::On_Allum8()
{
// TODO: Add your control notification handler code here
last = 128 | last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein8()
{
// TODO: Add your control notification handler code here
last = (255 - 128) & last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno8()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT8,temp);
int cpt8 = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER8) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
last = last & (255 - 128);
while(c<cpt8)
{
c++;
last = 128 | last;
_outp(p1,last);
Sleep(pos);
last = (255 - 128) & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Allum2()
{
// TODO: Add your control notification handler code here
last = last | 2;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein2()
{
// TODO: Add your control notification handler code here
last &= (255 - 2);
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno2()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT2,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER2) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
last = last & (255 - 2);
while(c<cpt)
{
c++;
last = 2 | last;
_outp(p1,last);
Sleep(pos);
last = (255 - 2) & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Allum3()
{
// TODO: Add your control notification handler code here
last |= 4;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein3()
{
// TODO: Add your control notification handler code here
last &= (255 - 4);
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno3()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT3,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER3) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
last = last & (255 - 4);
while(c<cpt)
{
c++;
last = 4 | last;
_outp(p1,last);
Sleep(pos);
last = (255 - 4) & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Allum4()
{
// TODO: Add your control notification handler code here
last |= 8;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein4()
{
// TODO: Add your control notification handler code here
last &= (255 - 8);
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno4()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT4,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER4) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
last = last & (255 - 8);
while(c<cpt)
{
c++;
last = 8 | last;
_outp(p1,last);
Sleep(pos);
last = (255 - 8) & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Allum5()
{
// TODO: Add your control notification handler code here
last |= 16;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein5()
{
// TODO: Add your control notification handler code here
last &= (255 - 16);
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno5()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT5,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER5) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
last = last & (255 - 16);
while(c<cpt)
{
c++;
last = 16 | last;
_outp(p1,last);
Sleep(pos);
last = (255 - 16) & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Allum6()
{
// TODO: Add your control notification handler code here
last |= 32;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein6()
{
// TODO: Add your control notification handler code here
last &= (255-32);
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno6()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT6,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER6) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
last = last & (255 - 32);
while(c<cpt)
{
c++;
last = 32 | last;
_outp(p1,last);
Sleep(pos);
last = (255 - 32) & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Allum7()
{
// TODO: Add your control notification handler code here
last |= 64;
_outp(p1,last);
}
void CPara_ControlDlg::On_Etein7()
{
// TODO: Add your control notification handler code here
last &= (255 - 64);
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno7()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT7,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER7) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
last = last & (255 - 64);
while(c<cpt)
{
c++;
last = 64 | last;
_outp(p1,last);
Sleep(pos);
last = (255 - 64) & last;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Cligno_tout()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT9,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER9) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
while(c<cpt)
{
c++;
last = 255;
_outp(p1,last);
Sleep(pos);
last = 0;
_outp(p1,last);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Cheni_DG()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT10,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while(c<cpt)
{
c++;
_outp(p1,128);
Sleep(pos);
_outp(p1,64);
Sleep(pos);
_outp(p1,32);
Sleep(pos);
_outp(p1,16);
Sleep(pos);
_outp(p1,8);
Sleep(pos);
_outp(p1,4);
Sleep(pos);
_outp(p1,2);
Sleep(pos);
_outp(p1,1);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Cheni_GD()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT10,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while(c<cpt)
{
c++;
_outp(p1,1);
Sleep(pos);
_outp(p1,2);
Sleep(pos);
_outp(p1,4);
Sleep(pos);
_outp(p1,8);
Sleep(pos);
_outp(p1,16);
Sleep(pos);
_outp(p1,32);
Sleep(pos);
_outp(p1,64);
Sleep(pos);
_outp(p1,128);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Cheni_AR()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT10,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while(c<cpt)
{
c++;
_outp(p1,128);
Sleep(pos);
_outp(p1,64);
Sleep(pos);
_outp(p1,32);
Sleep(pos);
_outp(p1,16);
Sleep(pos);
_outp(p1,8);
Sleep(pos);
_outp(p1,4);
Sleep(pos);
_outp(p1,2);
Sleep(pos);
_outp(p1,1);
// Sleep(pos);
// _outp(p1,1);
Sleep(pos);
_outp(p1,2);
Sleep(pos);
_outp(p1,4);
Sleep(pos);
_outp(p1,8);
Sleep(pos);
_outp(p1,16);
Sleep(pos);
_outp(p1,32);
Sleep(pos);
_outp(p1,64);
Sleep(pos);
// _outp(p1,128);
// Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Rencontre()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT10,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while(c<cpt)
{
c++;
_outp(p1,129);
Sleep(pos);
_outp(p1,66);
Sleep(pos);
_outp(p1,36);
Sleep(pos);
_outp(p1,24);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Separe()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT10,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while(c<cpt)
{
c++;
_outp(p1,24);
Sleep(pos);
_outp(p1,36);
Sleep(pos);
_outp(p1,66);
Sleep(pos);
_outp(p1,129);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Croise()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT10,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while(c<cpt)
{
c++;
_outp(p1,129);
Sleep(pos);
_outp(p1,66);
Sleep(pos);
_outp(p1,36);
Sleep(pos);
_outp(p1,24);
Sleep(pos);
_outp(p1,36);
Sleep(pos);
_outp(p1,66);
Sleep(pos);
_outp(p1,129);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Collision()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT10,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER13) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 401 - 4*pSlide2->GetPos() + pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while(c<cpt)
{
c++;
_outp(p1,129);
Sleep(pos);
_outp(p1,66);
Sleep(pos);
_outp(p1,36);
Sleep(pos);
_outp(p1,24);
Sleep(pos);
_outp(p1,255);
Sleep(pos);
_outp(p1,0);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Seq()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT24,temp);
int cpt = atoi(temp);
int n_led;
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER11) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
while( c<cpt )
{
c++;
GetDlgItemText(IDC_EDIT17,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT13,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT14,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT15,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT16,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT18,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT19,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT20,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT21,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT22,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
GetDlgItemText(IDC_EDIT23,temp);
n_led = atoi(temp);
if( (n_led < 9) )
{
switch(n_led)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
}
}
else
{
MessageBox("Malin !",MB_OK,MB_ICONASTERISK);
}
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Aleatoire1()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT12,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER14) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
int x;
while(c<cpt)
{
c++;
x = rand()%256;
_outp(p1,x);
Sleep(pos);
}
last = save_last;
_outp(p1,last);
}
void CPara_ControlDlg::On_Alleatoire2()
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_EDIT12,temp);
int cpt = atoi(temp);
CSliderCtrl* pSlide = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER14) );
CSliderCtrl* pSlide2 = static_cast<CSliderCtrl*>( GetDlgItem(IDC_SLIDER16) );
pos = 501 - 4*pSlide2->GetPos() - pSlide->GetPos();
c = 0;
int save_last = last;
int i = 0;
int x;
while(c<cpt)
{
c++;
x = rand()%9;
switch(x)
{
case 1:
_outp(p1,1);
Sleep(pos);
break;
case 2:
_outp(p1,2);
Sleep(pos);
break;
case 3:
_outp(p1,4);
Sleep(pos);
break;
case 4:
_outp(p1,8);
Sleep(pos);
break;
case 5:
_outp(p1,16);
Sleep(pos);
break;
case 6:
_outp(p1,32);
Sleep(pos);
break;
case 7:
_outp(p1,64);
Sleep(pos);
break;
case 8:
_outp(p1,128);
Sleep(pos);
break;
default:
_outp(p1,x);
Sleep(pos);
break;
}
}
last = save_last;
_outp(p1,last);
}
Conclusion
Pas de bug dans ce programme; a moins que vous en trouviez... Mise à jour si vous en souhaitez une... J'attend vos suggestions...
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
MATRICE TEMPLATEMATRICE TEMPLATE par hjr2610
Cliquez pour lire la suite par hjr2610 RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|