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 :

Accès à un eDit


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut Accès à un eDit
    Bonjour à tous.
    Voilà un morceau du fichier cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void __fastcall TfDuree::Ajuster1Click(TObject *Sender)
    {
    	UnicodeString usDuree;
    	int iHeures, iMin, iSec;
    	eK->Visible = true;
    	double dK ; //= 0.75;
    	dK = eK->Text.ToDouble();
    Lors de l'éditeur du programme, j'ai écrit un nombre dans ce TEdit eK.
    Je voudrais écrire un autre nombre dans ce TEdit.
    Dans les faits les 3 dernières opérations sont réalisées sans me laisser la possibilité de'écrire quoi que se soit dans le TEdit.

    Quelqu'un a-t-il idée de ce que je dois modifier ?

    Merci

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Salut
    tu est obligé de passer par une variable intermédiaire de type UnicodeString car tu utilise la méthode Read de la propriété Text de ton editBox
    donc je te propose la modification suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void __fastcall TfDuree::Ajuster1Click(TObject *Sender)
    {
    	UnicodeString usDuree;
    	int iHeures, iMin, iSec;
    	eK->Visible = true;
            usDuree=EK->Text   
    	double dK=usDuree.ToDouble();
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    J'ai essayé.
    Je rencontre la même difficulté.
    Je ne peux pas modifier le contenu du TMaskEdit "eK".

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut UNsicode
    Hello
    le composant TMaskEdit de même que TEdit sont des descendant de TCustomEdit
    par conséquent le comportement de la propriété texte est identique
    la lecture de la propriété Text d'un descendant de TCustomEdit te retourne une valeur en mode lecture seule donc non modifiable
    si tu veux pourvoir agir sur la valeur de retour de la propriété tu est obligé de passer par une variable intermédiaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    double Value;
    UnicodeString Tmp=ed->Text; //assignation de la valeur de la propriété Text dans une variable de Type UnicodeString
    try
    {
      Value=Tmp.ToDouble(); //Transformation en double
    }
    catch (EconvertError &E)
    {
     // Traitement de l'exception
    }
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    Le problème était qu'il n'était pas possible de modifier le contenu du TMaskEdit.
    J'ai résolu le problème en ajoutant une fiche au logiciel.
    Dans cette fiche je peux modifier la valeur du double "dK".

    Il me semble avoir utiliser dans le passé une procédure permettant pendant l'"exécution du programme une valeur.
    Cette procédure faisait apparaître une fenêtre avec la valeur actuelle et, je crois, une nouvelle valeur qu'il était possible de définir.

    Avez vous une idée concernant cette procédure ?

  6. #6
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Salut
    ta demande n'est pas très claire !!
    poste ton code stp
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void __fastcall TfDuree::Ajuster1Click(TObject *Sender)
    {
    	UnicodeString usDuree;
    	int iHeures, iMin, iSec;
    	eK->Visible = true;
            usDuree=EK->Text   
    	double dK=usDuree.ToDouble();
    Mais comme je l'ai dit, il était impossible de modifier le contenu de l'Edit eK.

    Ma dernière question concernait l'existence d'une procédure permettant, durant le "Runtime", de modifier une valeur sans l'utilisation d'un TEdit.

  8. #8
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Hello
    de quoi parle tu exactement Un TEdit ou un TMaskEdit?
    dans le second cas écrire dans un TMaskEdit est un peu plus laborieux
    tu dois utiliser le mask que tu utilise avec la valeur que tu désire inscrire


    poste le contenu de ton mask ainsi que la valeur que tu désire obtenir dans le TMaskEdit
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  9. #9
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Hello,
    un exemple d'utilisation d'une TMaskeEdit utilisée pour la saisie d'une adresse Ip
    le masque qui sera utilisé est de 4 groupes de 3 éléments numériques séparées d'un point "999.999.999.999". valeur introduite dans l'éditeur de Masque.
    MaskEdit à 3 propriété accessibles en mode RW

    EditMask permet la mise en place d'un masque dans mon cas 999.999.999.999
    EditText Permet de lire, respectivement d'écrire dans la propriété affiche la valeur formatée avec EditMask
    Text Permet de lire, respectivement d'écrire dans la propriété affiche la valeur non formatée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    UnicodeString myMask,myValue;
    myMask=MaskEdit2->EditMask;
    myValue=MaskEdit2->EditText;
     
    MaskEdit2->Clear(); // on efface le contenu du MaskEdit2
    MaskEdit2->EditMask=L"";// on efface le masque
    MaskEdit2->EditMask=myMask; // on place le masque
    myValue=FormatMaskText(myMask,myValue); // formatage offline de la valeur
    MaskEdit2->EditText=myValue; // écriture du maskEdit
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    Je vous remercie d'essayer de me dépanner.
    problème était d’accéder au TMaskEdit pour en modifier le contenu.
    Quand j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void __fastcall TfDuree::Ajuster1Click(TObject *Sender)
    {
    	UnicodeString usDuree;
    	int iHeures, iMin, iSec;
    	eK->Visible = true;
    	double dK ; //= 0.75;
    	dK = eK->Text.ToDouble();
    Le "eK" n’apparaît pas et il est donc impossible d'en modifier le contenu.
    Comme je crois l'avoir dit, j'ai résolu le problème d'une autre façon.

  11. #11
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Je constate que tu t'obstine a ne pas m'écouter !!!!!
    dK = eK->Text.ToDouble();
    est impossible
    on ne peut pas modifier une propeerty en lecture seule car '="
    je t'ai proposé une solution mais bon j’arrête la.
    je n'ai plus envie de perdre mon temps avec toi.
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    Je ne comprends pas votre irritation.
    Je crois sans doute m'être mal exprimé.
    Si je ne peux pas modifier le contenu du TMaskEdit, c'est parce qu'il n'est pas apparent après eK->Visible = true.
    Quand j'avais mis, lors de la compilation, la propriété "Visible" de ce TMaskEdit à true, il apparaissait au lancement du logiciel.
    Je pouvais alors en modifier le contenu comme bon me semblait.

Discussions similaires

  1. Accès bouton edit Formview avant display page
    Par dumser1 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 04/05/2010, 17h43
  2. Pb d'accès à une base de donnée SQLServer Compact Edition
    Par rabddoul dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/06/2009, 01h00
  3. [APEX] Accès à distance d'Oracle 10g Express Edition
    Par trailx dans le forum Connexions aux bases de données
    Réponses: 4
    Dernier message: 01/09/2008, 19h32
  4. Comment afficher un chemin d'accés de fichier dans un edit text?
    Par rakinetak dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 18/08/2008, 10h44
  5. Accès aux base de données sous Delphi 7 Edition Studio Perso
    Par renorx dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/02/2005, 14h24

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