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

Langage Delphi Discussion :

Mettre la première lettre des mots en majuscule


Sujet :

Langage Delphi

  1. #1
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut Mettre la première lettre des mots en majuscule
    Tout est dans le titre, je cherche une fonction intégré à Delphi (5 Entreprise) pour mettre la permière lettre des mots d'une chaine en majuscule

    Merci.

  2. #2
    Membre averti Avatar de chtiot
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 385
    Points : 403
    Points
    403
    Par défaut
    fastoche :

    var chaine : string;


    chaine[1] := uppercase(chaine[1]);

  3. #3
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut
    ca c'est quand il n'y a qu'un mot dans une chaine moi je veux le faire sur une chaine de X mots...

  4. #4
    Membre régulier
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 97
    Points
    97
    Par défaut
    Il n'y a pas de fonction toute faite dans Delphi, il te faudra la programmer..

  5. #5
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut
    je pense que quelqu'un l'a déjà fait. On est vendredi, moi j'ai pas envie de bosser.

  6. #6
    Seb
    Seb est déconnecté
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 81
    Points : 97
    Points
    97
    Par défaut
    Salut,

    Essayes de regarder ce code (je l'ai testé et il marche très bien) :
    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
    procedure TForm1.Edit2Change(Sender: TObject);
    var 
      OldChange: TNotifyEvent; 
      OldStart: Integer; 
    begin 
      with (Sender as TEdit) do
      begin
        OldChange := OnChange;
        OnChange  := nil;
        OldStart  := SelStart;
        if ((SelStart > 0) and (Text[SelStart - 1] = ' ')) or (SelStart = 1) then
        begin
          SelStart  := SelStart - 1;
          SelLength := 1;
          SelText   := AnsiUpperCase(SelText);
        end;
     
        OnChange := OldChange;
        SelStart := OldStart;
      end;
    end;
    A+,

    Seb.

  7. #7
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 275
    Points : 185
    Points
    185
    Par défaut
    Bonjour,
    Il n'y a pas de fonction intégrée à Delphi permettant de le faire.
    J'utilise cette fonction.
    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
     
    function MettreMajusculePremiereLettreDuMot(const Chaine : String) : String;
    var
       i        : Integer;
       Lettre   : Char;
       Initiale : Boolean;
    begin
       Initiale := True;
       Result   := '';
       for i := 1 to Length(Chaine) do
       begin
          Lettre := Chaine[i];
          if Lettre in [#32,'-','.'] then
             Initiale := True
          else
             if Initiale then
             begin
                Lettre   := UpperCase(Lettre)[1];
                Initiale := False;
              end;
          Result := Result+Lettre;
        end;
    end;
    A+
    Cyril

  8. #8
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut
    Je vais tester ca. Merci

  9. #9
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut
    J'ai testé ca !

    J'ai opté pour la solution de cyril. Mais je pense qu'il serait bon de rajouter en début de fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine := AnsiLowerCase(chaine);
    et enlever CONST dans les parametres

    En effet, si on veut mettre la première lettre des mots d'une chaine en majuscule, c'est sous entendu qu'on veux que le reste soit en minuscule or si on travail avec des chaines en majuscule, la fonction ne fait rien

    Voili voilou

    A+

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

Discussions similaires

  1. Première lettre du mot en majuscule
    Par baggie dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/06/2012, 14h31
  2. Extraire les deux premières lettres des mots
    Par jakadam dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/08/2011, 20h20
  3. Réponses: 0
    Dernier message: 31/05/2011, 18h59
  4. Conversion des 1res lettres des mots en Majuscule
    Par tleboukaka dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/08/2010, 14h29
  5. [VB.NET] Mettre la première lettre d'une String en majuscule
    Par annedeblois dans le forum Windows Forms
    Réponses: 6
    Dernier message: 27/10/2006, 17h47

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