begin process at 2010 02 10 16:51:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

probleme structure regs en 32bits


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme structure regs en 32bits

jeudi 18 décembre 2003 à 12:36:59 | probleme structure regs en 32bits

zincben

Bonjour je suis sur le portage d'une vieille DLL 16 ->32 bits pour gérer des impressions. Je travail sous borland c++ 5 (et non pas borland c++ builder). Donc j'ai un peu de mal. j'ai un probleme avec la structure REGS qui est utilisé dans une fonction qui donne l'état d'une imprimante. Apparemment, regs sert pour les interruptions dos, mais n'est plus utilisable en 32bits et je ne sais pas comment la remplacer.
voici la fonction:


//------------------------------------------------------------------------
// Cette fonction permet de connaitre l'etat de l'imprimante
// Si OK retourne TRUE
// Sinon retourne FALSE
//------------------------------------------------------------------------
static impok(void)
{
char TypeImprimante[20];
char infoImp[100];
union REGS regs;
div_t etatimp;
regs.h.ah = 2;
regs.x.dx = 0; // lpt1

GetPrivateProfileString("GENERAL",
"Imprimante",
"reseau",
TypeImprimante,
sizeof(TypeImprimante)-1,
"PFLS.ini");

if (strncmp(TypeImprimante,"reseau",6)==0)
return(TRUE);

etatimp.quot=int86(0x17, ®s, ®s);

sprintf(infoImp,"%s%x","le code retour de l'imprimante est : ",etatimp.quot);
Wtrace(infoImp);

if (strncmp(TypeImprimante,"HP5",3)==0)
{
if ((etatimp.quot & 0x9000)==0x9000) /* 0X8000 pour l'imprimante Hp version 6*/
{ /* 0X9000 pour l'imprimante Hp version 5*/
return TRUE;
}
else
{
return FALSE;
};
}
else if (strncmp(TypeImprimante,"HP6",3)==0)
{
if ((etatimp.quot & 0x8000)==0x8000) /* 0X8000 pour l'imprimante Hp version 6*/
{ /* 0X9000 pour l'imprimante Hp version 5*/
return TRUE;
}
else
{
return FALSE;
};
}
return FALSE;
}


merci d'avance si vous avez une idée
zincben


Cette discussion est classée dans : imprimante, return, regs, typeimprimante, etatimp


Répondre à ce message

Sujets en rapport avec ce message

PILOTAGE DU PORT IMPRIMANTE [ par bolix ] SALUT EST CE QUE L'ON PEUT ME DIRE SI ET COMMENT JE PEUT FAIRE POUR PILOTER UN PORT IMPRIMANTE NON PAS pour imprimer quelque chose mais pour envoyer Imprimante résolution, impression à l'échelle en BCB [ par nico ] Je cherche comment connaître la résolution de mon imprimante en C++ Builder.Je cherche également comment imprimer à l'échelle en C++ Builder: je voudr imprimante résolution, impression à l'échelle en BCB [ par nico ] Je cherche comment connaître la résolution de mon imprimante en C++ Builder.Je cherche également comment imprimer à l'échelle en C++ Builder: je voudr Nom de l'imprimante par défaut??? En C++Builder [ par nico ] J'utilise les API pour réaliser des impressions. Pour récupérer le handle de l'imprimante, j'utilise la fonction OpenPrinter. Je dois passer en paramè IMPRIMANTE ? [ par myopman ] Je cherche à imprimer des données en C++ (Une chaine de caractères par ex) mais je suis en manque d'inspiration pour ce qui est du code! Avez vous une arrive pas a compiler .... [ par Heero ] #include void display();int main(int argc, char **argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); ressources et API !!!! [ par Xs ] salut !voila, pour me simplifier la tache, j'utlise les ressources pour creer une boite de dialog (sous VC++ 6).mais j'obtiens, lors de la compilation scanf() [ par clb ] bonjour à tous,j'ecris par exemple :int fonction(){ if(true) return 0; else return -1}dans main, si cette fonction retourne 0,alors j'appli Pb sur un ptit bout de prog en DirectX.... [ par Haldwin ] Salut a tous....Voila j'ai deux ptits pbs quand je lance cette appli ci-dessous... (VC++)La première est q'une fois sur deux ma variable hWnd apres le Comment récupérer les infos de l'imprimante par defaut ? [ par f1cobra ] Comment faire pour récupérer les informartions suivantes : nom d'imprimante, nom du driver et port de l'imprimante par defaut ?Merci Cobra


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales