IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

remonter l'état d'une imprimante


Sujet :

Réseau C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Points : 29
    Points
    29
    Par défaut remonter l'état d'une imprimante
    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.

  2. #2
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par ryadh.naouar
    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 :
    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;
    }

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Points : 29
    Points
    29
    Par défaut
    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.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Points : 29
    Points
    29
    Par défaut
    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.

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par ryadh.naouar
    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?
    C'est de la magie...

    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.

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par crocodilex
    Ceci devrait faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        char tab[] =
        {
            0x4c, 0x27, 0x69, 0x6d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x6e, 0x74, 0x65,
    <...>
            putchar((int)tab[i]);
    Le cast est inutile. un char est automatiquement et implicitement promu en int, quoiqu'il arrive.

    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...

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Points : 29
    Points
    29
    Par défaut
    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.

  8. #8
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par ryadh.naouar
    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)
    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 ?

    Mais il s'agit ici de spécifications matérielles. Ca n'a strictement aucun rapport avec le langage C...

  9. #9
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Points : 29
    Points
    29
    Par défaut
    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.

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par ryadh.naouar
    Non je n'ai pas les spec du port de l'imprimante,
    Impossible d'aller plus loin sans cette information.
    sinon je n'ai toujours pas compris, comment s'affiche le message
    Le tableau de char contient la valeur des caractères ASCII codée en hexadécimal...

    (je t'ai envoyé un MP ...)

  11. #11
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Points : 29
    Points
    29
    Par défaut
    d'accord,

    je vous ai répondu sur votre adresse mail.

  12. #12
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Le cast est inutile. un char est automatiquement et implicitement promu en int, quoiqu'il arrive.
    Oui en effet, le cast est de trop.

    Citation Envoyé par Emmanuel Delahaye
    Ton code n'est pas portable,
    Pour quelle raison ? A cause du putchar ?
    Citation Envoyé par Emmanuel Delahaye
    et il manque un fflush (stdout) ou un '\n' explicite...
    Oui en effet, j'ai raté un petit morceau lors du copier/coller de mon éditeur héxa. Au temps pour moi...

  13. #13
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par crocodilex
    Pour quelle raison ?
    Il présuppose un charset ASCII. Ne fonctionne pas sur mon AS-400

  14. #14
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Il présuppose un charset ASCII. Ne fonctionne pas sur mon AS-400

    Franchement t'es dur là....

  15. #15
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Le cast est inutile. un char est automatiquement et implicitement promu en int, quoiqu'il arrive.
    Il n'y a pas de promotion quand on le passe à une fonction avec prototype qui demande un char.

    Mais il manque un cast nécessaire: putchar a comme paramètre un char casté en unsigned char et ensuite converti en int.

  16. #16
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Il n'y a pas de promotion quand on le passe à une fonction avec prototype qui demande un char.
    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...

  17. #17
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    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...
    La conception de la bibliothèque date d'avant les prototypes. Ca explique pas mal.

  18. #18
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    La conception de la bibliothèque date d'avant les prototypes. Ca explique pas mal.
    Je n'avais pas pensé à ça. Effectivement, tout était promu en int, double ou char * selon le type...

  19. #19
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    est-ce une imprimante réseau ?
    si oui, a-t-elle le SNMP ?
    si oui, connais-tu sa mib ?


    si oui... ça sera trivial

Discussions similaires

  1. Scruter l'état d'une imprimante
    Par ivador dans le forum Général Java
    Réponses: 0
    Dernier message: 10/08/2011, 11h47
  2. Imprimer un état dans une imprimante Fichier
    Par olaf_le_preux dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/12/2008, 19h58
  3. Connaitre l'état d'une imprimante.
    Par Shypster dans le forum VB.NET
    Réponses: 1
    Dernier message: 08/01/2008, 06h09
  4. avoir l'état d'une imprimante
    Par ryadh.naouar dans le forum Réseau
    Réponses: 14
    Dernier message: 22/02/2007, 16h10
  5. savoir l'état d'une imprimante réseau par SNMP
    Par ryadh.naouar dans le forum Développement
    Réponses: 3
    Dernier message: 20/02/2007, 13h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo