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++Builder Discussion :

comment transtyper, ou faire avaler un TComPort en UnicodeString


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 53
    Par défaut comment transtyper, ou faire avaler un TComPort en UnicodeString
    bonjour à tous, décidément, je ponds souvent sur ce forum...

    Je souhaite manipuler le registre windows pour stocker des variables pour mon application. Hors, mes paramètres sont du genre un peu particulier...

    J'ai écrit ce 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
     
     
    	TRegistry *Reg = new TRegistry;
    	if (Reg->OpenKey("\\Software\\KVBSoft\\Promis",false))
    	{
    		try
    		{
    			ComPortMODEM->Port = Reg->ReadString("ComPortModem");
    			ComPortMODEM->BaudRate = Reg->ReadString("BaudRateModem");
    			ComPortMODEM->DataBits = Reg->ReadString("DataBitsModem");
    			ComPortMODEM->FlowControl = Reg->ReadString("FlowControlModem");
    			ComPortMODEM->Parity = Reg->ReadString("ParityModem");
    			ComPortMODEM->StopBits = Reg->ReadString("StopBitsModem");
     
    		}
    		catch (Exception &exception)
    		{
    			Application->ShowException(&exception);
    		}
    		catch(...)
    		{
    		}
    		ComPortMODEM->Connected = true ;
    	}
    	Reg->CloseKey();
    	delete Reg;
    et j'ai pleins d'erreur du genre

    [BCC32 Erreur] Form_Main.cpp(32): E2034 Impossible de convertir 'UnicodeString' en 'TBaudRate'

    j'ai essayé de transtyper dans tout les sens ,mais rien n'y fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComPortMODEM->Port = (TComPort)Reg->ReadString("ComPortModem");
    erreur :

    [BCC32 Erreur] Form_Main.cpp(31): E2285 Impossible de trouver une correspondance pour 'TComPort::TComPort(UnicodeString)'

    là je suis bien bloqué... Vous avez une idée ?

    merci !

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut kressano
    Peut etre en utilisant WideString, WideChar, c_str()......

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Il faudrait tester si TRegistry::ReadInteger sert à quelque chose !

    A plus !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 53
    Par défaut
    hello blondelle,

    j'ai déjà testé avec le constant char, mais ça bug quand même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ComPortMODEM->Port = Reg->ReadString("ComPortModem").c_str() ;

    j'ai un link error dans un .OBJ .

    je teste WideString...

    Henderson :

    Comme le disait Jésus : ''Hein ?'' Romains 15-1 verset 2

    Le paramètre ComPort n'est pas integer à ma grande déception... mais je vais fouiller ta remarque...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 53
    Par défaut
    bon bah, pas plus d'avancé...

    soit je sais pas coder et j'utilise c_str n'importe comment, soit c'est pas adaptable. Grrrr !

    et je ne sais pas utiliser widestring.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    ComPortMODEM->BaudRate ...
    ComPortMODEM->StopBits ...
    A mon avis ... c'est pas du texte !
    StopBits ... c'est 0, 1 ...

    A plus !

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Par contre, s'il s'agit de valeurs stockées sous forme de texte, dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Machin->Truc = Reg->ReadString(blabla).ToInt();
    A plus !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer ou faire créer une banniére ?
    Par ghyosmik dans le forum Publicité
    Réponses: 8
    Dernier message: 07/10/2010, 14h09
  2. Réponses: 2
    Dernier message: 23/02/2006, 15h51
  3. Comment puis je faire pour que'une page soir rechargees....
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/12/2005, 10h46
  4. comment on peut faire un service avec builder c++
    Par infoactif dans le forum C++Builder
    Réponses: 8
    Dernier message: 11/08/2005, 17h33
  5. Comment puis je faire cette effet...
    Par wikers dans le forum OpenGL
    Réponses: 5
    Dernier message: 12/06/2004, 20h40

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