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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 11
    Points : 0
    Points
    0

    Par défaut [D7] Équivalent de l'attribut HTML PlaceHolder

    Bonjour.

    Je voudrais mettre un texte dans un TEdit, comme dans le code HTML suivant :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text"  placeholder="entrer le prenom" name="prenom">

    Merci d'avance.

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 396
    Points : 2 081
    Points
    2 081

    Par défaut

    Bonjour,

    Tu peux utiliser le composant TButtonedEdit (dans la rubrique standard). Il dispose de la propriété Text qui correspond au texte saisit par l'utilisateur, et de la propriété TextHint qui est le texte affiché dans le TButtonedEdit lorsque celui est vide.
    Mon site - Mes tutoriels - Repo GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 11
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par gbegreg Voir le message
    Bonjour,

    Tu peux utiliser le composant TButtonedEdit (dans la rubrique standard). Il dispose de la propriété Text qui correspond au texte saisit par l'utilisateur, et la propriété TextHint qui est le texte affiché dans le TEDit lorsque celui est vide.
    merci pour votre reponse mais ;
    le textEdit mettre un texte dans le Edit et apres que tu veux faire une connexion a la base de donnee et tu click sur button de recupperation du ce champs ,si tu ne cencentre bien tu laisse ce champs avec la valeur initiale qui se strouve dans textEdit;
    merci d'avance.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    9 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 9 469
    Points : 22 993
    Points
    22 993
    Billets dans le blog
    13

    Par défaut

    Bonjour,

    Quelle version de Delphi ? Quel type de programme VCL ou FMX ?
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Berlin, Tokyo) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 11
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    Quelle version de Delphi ? Quel type de programme VCL ou FMX ?
    Merci de vous intéresser à mon problème. C'est Delphi 7.

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 396
    Points : 2 081
    Points
    2 081

    Par défaut

    Désolé mais je ne comprends pas...
    Le TButtonedEdit permet justement d'avoir également des boutons (à droite ou à gauche du champ Edit) qui permettent d’enclencher des actions (exécution d'une requête SQL par exemple). Si la requête ne renvoie rien, la zone d'édition est vide et du coup la valeur de TextHint sera affichée dans le champ Edit.

    Citation Envoyé par elkader Voir le message
    Delphi 7.
    Je ne pense pas que le TButtonedEdit était présent dans cette version de Delphi...
    Mon site - Mes tutoriels - Repo GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  7. #7
    Membre expérimenté Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    décembre 2006
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : décembre 2006
    Messages : 1 201
    Points : 1 728
    Points
    1 728

    Par défaut

    Bonjour,

    En D7, je pense qu'il faut le faire "à la main" :

    - au départ, mettre le texte "Entrer votre prénom" dans le Text du TEdit avec une font en gris
    - dans le onEnter du TEdit : Effacer le texte, mettre la Font en normal et attendre la frappe de l'utilisateur

    A+
    Charly

    PS : Je n'ai pas testé si cela fonctionne bien

  8. #8
    Membre éclairé
    Avatar de Cirec
    Profil pro
    Inscrit en
    octobre 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2010
    Messages : 283
    Points : 683
    Points
    683

    Par défaut

    Bonjour,

    pour D7 c'est simple:
    sur une Fiche déposez un TXPManifest (indispensable) un TButton
    et un TEdit et complétez comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const
      EM_SETCUEBANNER             = $1501;
      EM_GETCUEBANNER             = $1502;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Value: WideString;
    begin
      Value := 'Entrez votre Texte ici';
      SendMessage(Edit1.Handle, EM_SETCUEBANNER, 0, LPARAM(PWideChar(Value)));
    end;
    je précise que ce texte se voit que si le TEdit est vide (Text := '') et que le TEdit n'ait pas le Focus.

    pour que Cue Banner s'affiche aussi quand l'Edit à le focus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      SendMessage(Edit1.Handle, EM_SETCUEBANNER, 1, LPARAM(PWideChar(Value)));
    Cordialement,
    @+

  9. #9
    Membre expérimenté Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    décembre 2006
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : décembre 2006
    Messages : 1 201
    Points : 1 728
    Points
    1 728

    Par défaut

    Bonjour Cirec,

    je pense que ce n'est pas tout à fait ce qu'il veut ? Avec PlaceHolder, le texte "Entrer votre texte ici" est dans le TEdit en grisé. Quand l'utilisateur entre une valeur le texte grisé s'efface et la texte entré prend sa place.

    A+
    Charly

  10. #10
    Membre éclairé
    Avatar de Cirec
    Profil pro
    Inscrit en
    octobre 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2010
    Messages : 283
    Points : 683
    Points
    683

    Par défaut

    Citation Envoyé par Charly910 Voir le message
    Bonjour Cirec,

    je pense que ce n'est pas tout à fait ce qu'il veut ? Avec PlaceHolder, le texte "Entrer votre texte ici" est dans le TEdit en grisé. Quand l'utilisateur entre une valeur le texte grisé s'efface et la texte entré prend sa place.

    A+
    Charly
    je ne connais pas le fonctionnement du PlaceHolder mais ce que tu me décris c'est ce que ma méthode fait !
    au passage la méthode que j'emploie ne fait qu'utiliser une fonction prévue par Windows depuis XP
    ici c'est nommé Cue Banner et d'après une rapide recherche :
    PlaceHolder == Cue Banner

    Donc c'est exactement le comportement attendu
    Fait le teste (je suppose que tu ne l'as pas fait vu le commentaire )

    Cordialement,
    @+

  11. #11
    Membre expérimenté Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    décembre 2006
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : décembre 2006
    Messages : 1 201
    Points : 1 728
    Points
    1 728

    Par défaut

    Oui tu as raison c'est bien le fonctionnement de PlaceHolder.

    Ce qui m'a trompé c'est le Button1. J'ai fait tout mis dans OnShow :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const
      EM_SETCUEBANNER             = $1501;
      EM_GETCUEBANNER             = $1502;
     
    procedure TForm1.FormShow(Sender: TObject);
    var
      Value: WideString;
    begin
      Value := 'Entrez votre Texte ici';
      SendMessage(Edit1.Handle, EM_SETCUEBANNER, 1, LPARAM(PWideChar(Value)));
    end;
    et ça marche parfaitement

    A+
    Charly

  12. #12
    Membre éclairé
    Avatar de Cirec
    Profil pro
    Inscrit en
    octobre 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2010
    Messages : 283
    Points : 683
    Points
    683

    Par défaut

    Citation Envoyé par Charly910
    Oui tu as raison c'est bien le fonctionnement de PlaceHolder.
    c'est bien ce que je me disais

    voici une autre version plus "souple" & plus réutilisable

    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
    const
      EM_SETCUEBANNER             = $1501;
      EM_GETCUEBANNER             = $1502;
     
    function Edit_SetCueBannerText(hwnd: HWND; CueText: PWideChar; ShowOnFocus: Boolean = True): BOOL;
    begin
      Result := BOOL(SendMessage(hwnd, EM_SETCUEBANNER, wParam(ShowOnFocus), lParam(CueText)));
    end;
     
    function Edit_GetCueBannerText(hwnd: HWND; CueText: PWideChar; BufLen: Longint): BOOL;
    begin
      Result := BOOL(SendMessage(hwnd, EM_GETCUEBANNER, wParam(CueText), lParam(BufLen)));
    end;
     
    // utilisation de Edit_SetCueBannerText
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Edit_SetCueBannerText(Edit1.Handle, 'Entrez votre Texte ici');
      Edit_SetCueBannerText(Edit2.Handle, 'Votre nom');
    end;
     
    // utilisation de Edit_GetCueBannerText
    procedure TForm1.Button1Click(Sender: TObject);
    var
      aCueTxt: array[0..255] of WideChar;
    begin
      if Edit_GetCueBannerText(Edit1.Handle, aCueTxt, 256) then
        Label1.Caption := aCueTxt;
    end;
    Cordialement,

    @+

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 11
    Points : 0
    Points
    0

    Par défaut

    Je voudrais savoir comment utiliser la solution proposée par Cirec.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 11
    Points : 0
    Points
    0

    Par défaut

    Je n'y arrive pas.

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 11
    Points : 0
    Points
    0

    Par défaut

    VOICI LE 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
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
    const
      EM_SETCUEBANNER             = $1501;
      EM_GETCUEBANNER             = $1502;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Value: WideString;
    begin
    //form1.Color:=Clred    ;
     
      Value := 'Entrez votre Texte ici';
      SendMessage(Form1.Edit1.Handle, EM_SETCUEBANNER, 1, LPARAM(PWideChar(Value)));
    end;
     
     
    end.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 11
    Points : 0
    Points
    0

    Par défaut

    Je suis fier de moi. Merci pour votre aide.

    Attention, il faut mettre XPManifest1: TXPManifest; à ton programme sinon il ne marche pas.

    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
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, XPMan;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        XPManifest1: TXPManifest;
        procedure Button1Click(Sender: TObject);
     
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
    const
      EM_SETCUEBANNER             = $1501;
      EM_GETCUEBANNER             = $1502;
    implementation
     
    {$R *.dfm}
     
     function Edit_SetCueBannerText(hwnd: HWND; CueText: PWideChar; ShowOnFocus: Boolean = True): BOOL;
    begin
      Result := BOOL(SendMessage(hwnd, EM_SETCUEBANNER, wParam(ShowOnFocus), lParam(CueText)));
    end;
     
    function Edit_GetCueBannerText(hwnd: HWND; CueText: PWideChar; BufLen: Longint): BOOL;
    begin
      Result := BOOL(SendMessage(hwnd, EM_GETCUEBANNER, wParam(CueText), lParam(BufLen)));
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
             Form1.Color:=Clred;
              Edit_SetCueBannerText(Edit1.Handle, 'Entrez votre Texte ici');
     
    end;
     
    end.
    Cordialement.

  17. #17
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 3 276
    Points : 11 920
    Points
    11 920
    Billets dans le blog
    5

    Par défaut

    Citation Envoyé par Cirec Voir le message
    voici une autre version plus "souple" & plus réutilisable
    Bonjour ! Que diriez-vous d'ajouter cette solution à la FAQ ?

  18. #18
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    9 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 9 469
    Points : 22 993
    Points
    22 993
    Billets dans le blog
    13

    Par défaut

    Bonjour,
    moi je dirais qu'il faudrait peu de chose, avec le code plus 'souple', pour en faire un composant
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Berlin, Tokyo) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  19. #19
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    835
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : novembre 2004
    Messages : 835
    Points : 1 349
    Points
    1 349

    Par défaut

    Alors là ... l'année 2018 commence bien. Merci Cirec pour cette info très intéressante

  20. #20
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 3 276
    Points : 11 920
    Points
    11 920
    Billets dans le blog
    5

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Express Edition (gratuit)] Cette version est elle suffisante ?
    Par dymezac dans le forum MS SQL-Server
    Réponses: 6
    Dernier message: 26/09/2006, 16h36
  2. Réponses: 14
    Dernier message: 27/08/2006, 19h47
  3. Réponses: 5
    Dernier message: 07/03/2006, 21h56
  4. Réponses: 3
    Dernier message: 24/01/2005, 08h02

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