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

C++ Discussion :

Balance et �tiqueteuse


Sujet :

C++

  1. #1
    Membre actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2013
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Par d�faut Balance et �tiqueteuse
    Bonsoir � toutes, bonsoir � tous

    Voil�, je suis en 2�me ann�e de BTS IRIS et j'ai un projet de 5 bons mois (de janvier � mi-juin environ) qui vient d'�tre lanc� il y a 2 semaines !

    Le projet : une station d'e-commerce ! Un serveur web (un site du style "auchan direct" + BDD), une douchette USB, un lecteur de carte � puce et, comble du luxe, une balance (RS232) avec une �tiqueteuse (USB) !

    Heureusement, je ne suis pas seul � faire tout �a ! Moi, je m'occupe de la balance et de l'�tiqueteuse ! Et voil� ce que je doit faire :

    Dans un premier temps, peser un aliment (fruit/l�gume/...), appuyer sur la touche "PRINT" de la balance (= envoie du poids au PC par la liaison s�rie RS232). Puis, mon programme devra, � partir de l�, me demander d'envoyer un ID � la BDD (ex : pommes) et la BDD devra me renvoyer le prix au kilo, le nom du produit, son taux de tva ainsi que son num�ro de code barre (EAN 8). La BDD est cr��e par les soins de mon coll�gue qui va �galement cr�er les requ�tes SQL me permettant d'acc�der aux donn�es dont j'aurais besoin ! Et pour terminer, il faut que mon code s'associe avec Word 2010 pour cr�er le code barre (dont j'aurais r�cup�rer les 8 chiffres un peu avant) sortir une �tiquette de l'�tiqueteuse avec, donc, le code barre, le nom du produit et son prix (calcul� avec le taux de tva et le prix au kilo, r�cup�r�s, eux aussi, un peu avant).

    Tout ce que je doit faire doit �tre programm� en C++ sous Visual Studio 6.0 ou Visual Studio 2010.

    Le programme sera tout d'abord ex�cut� en mode console et, plus tard (quand il sera op�rationnel), il me faudra en faire une application graphique (MFC) !

    Ayant droit � toute aide ext�rieure, je vient vers vous pour savoir si vous pouviez me guider un peu pour les probl�mes que je rencontre.

    Avant de vous parler de mon premier probl�me, j'attends de voir si quelqu'un(s) ici seraient capable de m'aider

    Merci beaucoup d'avance

  2. #2
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par Nikolas78 Voir le message
    Avant de vous parler de mon premier probl�me, j'attends de voir si quelqu'un(s) ici seraient capable de m'aider

    Merci beaucoup d'avance

    Salut !!

    De mani�re g�n�rale, ce serait plut�t � toi de nous parler tout d'abord de ton premier probl�me, pour que l'on puisse t'aider par la suite tu ne penses pas ?

  3. #3
    Membre actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2013
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 28
    Par d�faut
    Salut !

    Euh oui...exact ^^

    Bon, en gros, j'ai �tabli la connexion avec la balance mais je suis bloqu� sur la r�cup�ration du poids (que je voudrais placer dans une variable ou dans un tableau).
    Pour le moment, voil� mon code :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    #include <windows.h>
    #include <stdio.h>
    #include<stdlib.h>
    #define DEBUG
     
    int main()
    {
    		char var='A';
    		char tab[50]="Salut a tous !";
    		unsigned char tab2[50];
    		int tab3[100]={'a',1,2,3,4,5,'a'};
    		int i=0;
    		int cpt=0;
     
     
    		DCB dcb;      	// déclarer une variable contenant la configuration du port 
    		HANDLE hCom;  	// déclarer un point d'accès au port COM 
    		DWORD NbTx;
    		DWORD NbRx;
    		COMMTIMEOUTS timeouts;
     
     
     
    		 /*--------------------------------------------------------*/ 
    		 /*                 Ouverture du port de Com               */ 
    		 /*--------------------------------------------------------*/ 
     
     
    			hCom = CreateFile( 
    		    "COM1",                         // Choix du port « COMx » 
    		    GENERIC_READ | GENERIC_WRITE, 	// accès pour lire et écrire sur le port 
    		    0,                            	// accès exclusif au port de COM 
    		    NULL,                         	// sécurité par défaut 
    		    OPEN_EXISTING,                	// Fichier spécial associé à la ressource COM1 déjà existant.
    		    0, 								// mode synchrone (BLOQUANT)
    		    NULL);
     
     
    		/*-----------------------------------------------------------*/ 
    		/*         Vérifier si handle ouvert correctement            */ 
    		/*-----------------------------------------------------------*/ 
     
     
    			/*
    			if(hCom == INVALID_HANDLE_VALUE)
    			{
    				puts("Erreur d'ouverture du port COM1 !!!!");
    				exit(-1);
    			}*/
     
     
    			//OU
     
     
    			if(hCom == INVALID_HANDLE_VALUE)
    				FatalAppExit(0,"Erreur d'ouverture du port COM1 !!!!");
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Porte COM1 ouvert !!!! \n");
    			#endif
     
     
    		/*-------------------------------------------------*/ 
    		/*			Lecture Configuration initiale         */ 
    		/*-------------------------------------------------*/ 
     
     
    			if (GetCommState(hCom,&dcb)==0)
    				FatalAppExit(0,"Erreur de lecture de la configuration initiale !!!!");				
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Lecture reussie de la configuration initiale !!!! \n");
    			#endif
     
     
    		 /*-------------------------------------------------------*/ 
    		 /*		Modification de la configuration récupérée        */ 
    		 /*-------------------------------------------------------*/ 
     
     
    				dcb.BaudRate=CBR_9600;
    				dcb.ByteSize=8;
    				dcb.StopBits=ONESTOPBIT;
    				dcb.Parity=NOPARITY;
    				dcb.fParity=FALSE;
     
     
     
    		/*-----------------------------------------------*/ 
    		/*	  Aplication de la nouvelle configuration    */ 
    		/*-----------------------------------------------*/ 
     
     
    			if (SetCommState(hCom,&dcb)==0)
    				FatalAppExit(0,"Erreur de l'application de la nouvelle configuration !!!!");
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Application reussie de la nouvelle configuration !!!! \n");
    			#endif
     
     
    		/*------------------------------------------------*/
    		/*		Réception				  */
    		/*------------------------------------------------*/
     
     
     
     
    				//RÉCEPTION DU BLOC DE DONNÉES
     
     
    			if(GetCommTimeouts(hCom, &timeouts)==0)
    				FatalAppExit(0,"Erreur recuperation des donnees timeout");
     
    			timeouts.ReadIntervalTimeout=0;
    			timeouts.ReadTotalTimeoutMultiplier=0;
    			timeouts.ReadTotalTimeoutConstant=30;
     
    			if(SetCommTimeouts(hCom, &timeouts)==0)
    				FatalAppExit(0,"Erreur envoie des donnees timeout");
     
    		cpt=0;
     
    		do
    		{
    			ReadFile(hCom,tab2,1,&NbRx,NULL);
     
    			if(NbRx==1)
    			{
    				cpt++;
    			}
    		}while((NbRx==1)||(cpt==0));
     
    		printf("Poids : %d g \n", tab2);
     
    		/*printf("Nb d'octets recus : %d\n",cpt);
     
    		for(i=0; i<cpt; i++)
    			printf("%02X : %c \n",(unsigned char)tab2[i],(unsigned char)tab2[i]);*/
     
     
    		 /*------------------------------------------*/ 
    		 /*			Fermer le port de com            */ 
    		 /*------------------------------------------*/ 
     
     
    			if	(CloseHandle(hCom)==0)
    				FatalAppExit(0,"Erreur de fermeture du port COM1 !!!!");
     
     
    			#ifdef DEBUG //ne fonctionne que si #define DEBUG est défini
    				puts("Port COM1 ferme !!!! \n");
    			#endif
     
     
    	return 0;
    }

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] Fonctionnement d'une Balance �tiqueteuse
    Par easysoftoran dans le forum G�n�ral Dotnet
    R�ponses: 1
    Dernier message: 11/06/2015, 09h51
  2. [kd-tree][persistent][balanc�] recherche impl�mentation
    Par mlequim dans le forum Algorithmes et structures de donn�es
    R�ponses: 6
    Dernier message: 12/12/2005, 15h58
  3. (load balancing) choix de provider
    Par timsah dans le forum D�veloppement
    R�ponses: 1
    Dernier message: 20/09/2005, 17h42
  4. [Load balancing] Quel serveur de retour ?
    Par ruready dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    R�ponses: 6
    Dernier message: 11/05/2005, 11h48
  5. [langage] perl script pour balancer un B-arbre
    Par RonMaster dans le forum Langage
    R�ponses: 5
    Dernier message: 22/10/2004, 17h35

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