Bonjour à tous,
Est-ce que quelqu'un pourrait-il me donner un bout de code, qui me permet de communquer à un client l'état d'un iprimante réseau:
*)bourrage papier
*)pas de papier
*)pas d'encre
*)imprimante hors service
Merci à tous.
Bonjour à tous,
Est-ce que quelqu'un pourrait-il me donner un bout de code, qui me permet de communquer à un client l'état d'un iprimante réseau:
*)bourrage papier
*)pas de papier
*)pas d'encre
*)imprimante hors service
Merci à tous.
Ceci devrait faire l'affaire :Envoyé par ryadh.naouar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 #include <stdio.h> #include <stdlib.h> int main(void) { unsigned int i; char tab[] = { 0x4c, 0x27, 0x69, 0x6d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x20, 0x65, 0x73, 0x74, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x20, 0x6d, 0x65, 0x72, 0x64, 0x65, 0x72, 0x20, 0x70, 0x27, 0x74, 0x69, 0x74, 0x20, 0x62, 0x6f, 0x6e, 0x68, 0x6f, 0x6d, 0x6d, 0x65, 0x2e, 0x2e, 0x2e, 0x0d, 0x0a, 0x56, 0x61, 0x73, 0x20, 0x76, 0x6f, 0x69, 0x72, 0x20, 0x73, 0x27, 0x69, 0x6c, 0x20, 0x79, 0x20, 0x61, 0x20, 0x64, 0x65, 0x20, 0x6c, 0x27, 0x65, 0x6e, 0x63, 0x72, 0x65, 0x20, 0x6f, 0x75, 0x20, 0x64, 0x75, 0x20, 0x70, 0x61, 0x70, 0x69, 0x65, 0x72, 0x20, 0x64, 0x61, 0x6e, 0x73, 0x20, 0x6c, 0x61, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6e, 0x65, 0x2e, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x50, 0x53, 0x20, 0x3a, 0x20, 0x51, 0x75, 0x65, 0x6c, 0x20, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x20, 0x72, 0x61, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x61, 0x76, 0x65, 0x63, 0x20, 0x6c, 0x65, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x20, 0x43, 0x20, 0x3f }; for (i=0; i < sizeof tab; i++) { putchar((int)tab[i]); } return EXIT_SUCCESS; }
salut,
je vous remercie beaucoup, néanmoins j'ai une question si vous le permettez:
comment est-ce que je pourrais différencier entre les divers états(bourrage papier, imprimante hors service,..)
Je n'ai pas compris également la chaine de caractère tab.
Encore merci pour votre aide.
Cordialement.
Resalut,
j'ai exécuté votre code, il m'affiche le message suivant:
" L'imprimante est entrain de merder p'tit bonhomme....
Vas voir s'il ya de l'encre ou du papier dans la bécane"
Et je ne sais où est cette phrase dans le code?
Sincères salutations.
C'est de la magie...Envoyé par ryadh.naouar
Ce que tu demandes ne peut pas être fait de manière standard. Il faut utiliser une ou des fonctions de ton système. Tu devrais préciser quel système.
Le cast est inutile. un char est automatiquement et implicitement promu en int, quoiqu'il arrive.Envoyé par crocodilex
Ton code n'est pas portable, et il manque un fflush (stdout) ou un '\n' explicite... Mais on s'est bien marré quand même...
En fait l'application que je dois implémenter est un serveur d'impression dans une livebox(donc c'est de l'embarqué)
Parmi les fonctionnalités que je dois implémenter c'est la récupération de l'état de l'imprimante.(bourrage papier, imprimanate hors tension,...), et ceci via des sockets peut être(je suis encore en phase de pré-étude)
Cordialement.
Si tu as un port imprimante complet, ces informations sont disponibles dans des registres. Tu as les spécification matérielles du port d'impression ?Envoyé par ryadh.naouar
Mais il s'agit ici de spécifications matérielles. Ca n'a strictement aucun rapport avec le langage C...
Non je n'ai pas les spec du port de l'imprimante,
sinon je n'ai toujours pas compris, comment s'affiche le message
Merci de me l'expliquer.
Cordialement.
Impossible d'aller plus loin sans cette information.Envoyé par ryadh.naouar
Le tableau de char contient la valeur des caractères ASCII codée en hexadécimal...sinon je n'ai toujours pas compris, comment s'affiche le message
(je t'ai envoyé un MP ...)
d'accord,
je vous ai répondu sur votre adresse mail.
Oui en effet, le cast est de trop.Envoyé par Emmanuel Delahaye
Pour quelle raison ? A cause du putchar ?Envoyé par Emmanuel Delahaye
Oui en effet, j'ai raté un petit morceau lors du copier/coller de mon éditeur héxa. Au temps pour moi...Envoyé par Emmanuel Delahaye
![]()
Il présuppose un charset ASCII. Ne fonctionne pas sur mon AS-400Envoyé par crocodilex
![]()
Envoyé par Emmanuel Delahaye
Franchement t'es dur là....![]()
Il n'y a pas de promotion quand on le passe à une fonction avec prototype qui demande un char.Envoyé par Emmanuel Delahaye
Mais il manque un cast nécessaire: putchar a comme paramètre un char casté en unsigned char et ensuite converti en int.
C'est certainement techniquement possible, mais je n'en ai jamais vu dans la bibliothèque du C. Ce n'est certainement pas par hasard...Envoyé par Jean-Marc.Bourguet
La conception de la bibliothèque date d'avant les prototypes. Ca explique pas mal.Envoyé par Emmanuel Delahaye
Je n'avais pas pensé à ça. Effectivement, tout était promu en int, double ou char * selon le type...Envoyé par Jean-Marc.Bourguet
est-ce une imprimante réseau ?
si oui, a-t-elle le SNMP ?
si oui, connais-tu sa mib ?
si oui... ça sera trivial![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager