Contôles sur les Tedit et Maskedit [Résolu]

Signaler
Messages postés
18
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
6 décembre 2010
-
Messages postés
187
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
20 février 2010
-
bonjour, j'aide un ami dans le développement d'un système d'information pour son projet de fin d'études, si vous voulez m'aider SVP
j'ai oublier comment faire pour que l'application ne se plante pas lorsque ont oublie la saisie d'une date, j'utilise un maskedit
par exemple pour faire un contrôle d'un Teditil suffit de faire le code suivant:
if edit1.GetTextLen=0 then
begin
showmessage('le champs de saisie est vide');
exit;
end;
mais avec une date sa ne marche pas
et comment forcer le premier caractère d'un edit pour il devient majuscule
merci

15 réponses

Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
procedure TForm1.MaskEdit1Change(Sender: TObject);
begin
 { Teste la validité de la date, déclenche une erreur si incorrecte }
 if StrToDateDef(MaskEdit1.Text, -1) = -1 then
  begin
   MaskEdit1.Text := '';
   raise Exception.Create('La date est incorrecte !');
  end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
 { Met le premier caractère en majuscules }
 if Length(Edit1.Text) > 0 then Edit1.Text[1] := Uppercase(Edit1.Text[1])[1];
end;


Cordialement, Bacterius !
Messages postés
18
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
6 décembre 2010
4
merci 100000000 fois merci Bacterius, il reste une chose si tu veut m'aider
dans un combobox ou un db combobox on lesse le 1ere Items vide pour que lorsque en fait l'enregistrement des donner s'effacent
si tu peut m'aider encore
et surtout merci infiniment
Messages postés
18
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
6 décembre 2010
4
j'ai essayer avec le code de maskedit mais il ya toujou l'affichage d'un message d'erreur
Messages postés
187
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
20 février 2010
3
salut
pour le composant combobox:
combobox1.itemindex:=-1;
ou dbcombobox1.itemindex:=-1;



yahia
Messages postés
18
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
6 décembre 2010
4
merci mon ami , mais il reste une chose le code que BACTERIUS ma donner sur le contrôle des dates n'a pas réussi j'espère une solution merci
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Qu'est ce qui ne fonctionne pas ?

Cordialement, Bacterius !
Messages postés
187
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
20 février 2010
3
salut
pour la date je te propose d'ajouter un datetimepicker dans ton projet
Edit1.Text := dateTimeToStr(DateTimePicker1.Date);
pour éviter les erreurs.
bonne chance.


yahia
Messages postés
18
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
6 décembre 2010
4
merci mes amis pour vous réponses sa me touche vraiment
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
C'est le but d'un forum

Cordialement, Bacterius !
Messages postés
187
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
20 février 2010
3
mark15
salut bonne chance

yahia
Messages postés
187
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
20 février 2010
3
Salut bacterius
J'ai essaye ton code concernant la première lettre en majuscule dans un dblookupcombobox.
Le code:
procedure tform1.edit1change(sender: tobject);
Begin
 { met le premier caractère en majuscules }
 if length(edit1.text) > 0 then edit1.text[1] := uppercase(edit1.text[1])[1];
end;

Mais Delphi m'affiche une erreur dans la ligne suivante
edit1.text[1] := uppercase(edit1.text[1])[1];
.
Merci

yahia
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Oui j'étais pas trop sûr pour cette technique, je n'avais pas testé.

Ceci marche :

Var
 S: String;
begin
 S := Edit1.Text;
 S[1] := uppercase(S[1])[1];
 Edit1.Text := S;
end;


Cela dit je crois qu'il existe une manoeuvre moins lourde, mais j'ai dû oublier comment faire ...

Cordialement, Bacterius !
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
Salut,

UpCase & LowCase --> pour un caractère
UpperCase & LowerCase --> pour une chaine de caractères

sinon pour être certain d'avoir le premier caractère en majuscule et tous les suivants en minuscules voir ce Snippet
en plus il accepte même les caractères accentués


[hr]@+Cirec
[hr]
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Aah voilà Cirec, UpCase et LowCase voilà ce que je cherchais.
Merci


Cordialement, Bacterius !
Messages postés
187
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
20 février 2010
3
salut
cirec et bacterius
C très intéressant

yahia