Bonjour a tous.
Je suis nouveau ici mais je programme depuis 4ans.
J'ai débuté sur DEV C++ pour poursuivre dans le cadre de mon BTS IRIS sur Borland C++.
Après cette brève présentation je vous explique le projet officiel de mon BTS.
Je dois acquérir des trames venant d'un DGPS pour les traiter sur un PDA enregistrer le début d'arrachage, les temps de pause du conducteur, ainsi que la fin sur un fichier XML.
Le compilateur utilisé c'est visual studio 2005 avec le langage C++ uniquement (obligaoire dans le cadre du BTS). Ce compilateur est tout nouveau pour moi et j'ai des questions d'abord simplistes puis un peu plus compliquésur mon projet .
Je vous remercie à l'avance de m'aider car je suis un peu paniqué pour ma note de projet. Je n'ai que 12 semaines pour réaliser mon projet et comprendre les subtilités de visual studio 2005.
Ma classe qui gère la liaison série en bluetooth. Elle sert à acquérir les trames sur le PDA.
1°) Comment fait-on pour transformer un String en char* sur visual studio 2005 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class cl_Bluetooth {private: HANDLE hcomm; DCB serie; OVERLAPPED over; public: cl_Bluetooth(char *Port,int Brate); char* lecture (void); void modifPARAM (char *Port,int Brate); ~cl_Bluetooth(void); };
2°) la fonction hcomm=CreateFile(Port,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
if(hcomm==INVALID_HANDLE_VALUE) ne passe pas à la compilation du fait que Port est un char* alors qu'il me demande un LPCWSTR comment faire pour convertir les char* ainsi que les String en LPCWSTR sachant que Port est un char* envoyé en paramètre dans la méthode modifPARAM qui utilise cette fonction?
Définition de la méthode modifPARAM
voila pour le début, je vous l'avait dit c simple pour les connaisseur de la suite visual studio mais pour moi qui n'a connu que Borland et DEV cpp, je trouve que visual studio c'est une usin a gaz. A noter que cette discussion se trouve aussi dans le forum C/C++.
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 void cl_Bluetooth::modifPARAM (char *port,int vitesse) /* Modification des paramètres du port série */ { bool test; hcomm=CreateFile(TEXT("COM1"),GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL); if(hcomm==INVALID_HANDLE_VALUE) {MessageBox(NULL,TEXT("Impossible d'ouvrire le port choisi"),TEXT("Erreur #001"),MB_ICONSTOP); } GetCommState (hcomm,serie); serie->BaudRate=vitesse; serie->ByteSize=8; serie->Parity=EVENPARITY; serie->StopBits=ONESTOPBIT; test=SetCommState (hcomm,serie); PurgeComm (hcomm,PURGE_RXCLEAR); if (test==false) {MessageBox(NULL,TEXT("Impossible d'ouvrire le port choisi"),TEXT("Erreur #002"),MB_ICONSTOP); } }
Partager