Bonjour,
je travail sur un projet et je suis comlpètement bloqué je demande donc l'aide des autres programmeurs.
Voilà l'egnime je veut crée un programme qui utilise deux sorties du port parrallèle 0x378 et utiliser 4 ports d'entrée 0x379 et analyser les résultats obtenu. En passant je fais mon prog en MFC.
voilà ou je suis rendu!
void CLab6bView::OnDraw(CDC* pDC)
{
CLab6bDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CDC* pMemDC;
pMemDC= new CDC;
pMemDC -> CreateCompatibleDC(pDC); // Crée un objet pour afficher les images.
CString affiche;
affiche="Le premier projet de JD";
pDC -> TextOut(300,20,affiche); // Affiche le message à l'écran. Le point 0,0 est en haut et à gauche
pMemDC -> SelectObject(pImage[17]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(400,40,350,400,pMemDC,0,0,SRCCOPY); //Affiche l'image.
int i,test00 =0,test01=0,test10=0,test11=0;
bool porte[4];
for(i=0;i<=3;i++)
{
porte[i] = 0;
}
_outp(0x378,0);
_sleep(20);
test00=_inp(0x379);
_outp(0x378,1);
_sleep(20);
test01=_inp(0x379);
_outp(0x378,2);
_sleep(20);
test10=_inp(0x379);
_outp(0x378,3);
_sleep(20);
test11=_inp(0x379);
if (((test00&1)==64)&&
((test01&1)==64)&&
((test10&1)==64)&&
((test11&1)==0)) //masquer la porte 1
porte[0] = 1;
if (((test00&1)==32)&&
((test01&1)==32)&&
((test10&1)==32)&&
((test11&1)==0)) //masquer la porte 2
porte[1] = 1;
if (((test00&1)==16)&&
((test01&1)==16)&&
((test10&1)==16)&&
((test11&1)==0)) //masquer la porte 3
porte[2] = 1;
if (((test00&1)==8)&&
((test01&1)==8)&&
((test10&1)==8)&&
((test11&1)==0)) //masquer la porte 4
porte[3] = 1;
int resultat=0,equation=0;
int x=0;
equation=porte[0]*8+porte[1]*16+porte[2]*32+porte[3]*64;
resultat=equation/8;
for (x=0;x<=1;i++) //clignotement de l'images
{
switch(resultat)
{
case 0:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[1]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 1:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[2]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 2:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[3]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 3:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[4]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 4:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[5]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 5:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[6]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 6:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[7]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 7:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[8]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 8:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[9]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 9:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[10]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 10:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[11]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 11:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[12]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 12:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[13]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 13:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[14]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 14:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[15]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
case 15:
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
pMemDC -> SelectObject(pImage[16]); // Sélectionne l'image du vecteur 0.
pDC -> BitBlt(10,200,200,200,pMemDC,0,0,SRCCOPY); //Affiche l'image.
_sleep(200);
}
}
delete pMemDC;
}
hey pi that's it