gabs77
Messages postés379Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention 8 octobre 2008
-
26 avril 2007 à 09:59
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 2019
-
28 avril 2007 à 13:42
salut,
j'ai un souci sur une parti de ma prog, j'ai effectué un test de caractère non autorisé (qui fonctionne très bien !) mais je n'arrive pas à faire apparaitre la liste dans un showmessage
voici mon extrait de code concerné :
Const
TabInterdit = [':','/','\','?','>','<','*','"','|'];
var
j : Integer;
begin
for j := 1 to Length(Edit1.Text) do
if (Edit1.Text[j] in TabInterdit) then
Showmessage('Le nom de l''image '+TabEdit[i].Text+
' ne peut contenir les caractères spéciaux suivants :'+#13
//+ là je veux lister les caractères TabInterdit
);
end;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 26 avril 2007 à 15:15
Salut,
Voici un exemple simple pour afficher le contenu du Set
procedure TForm1.Button1Click(Sender: TObject);
Const TabInterdit = [':','/','\','?','>','<','*','"','|'];
var
I : Integer;
StrSet : String;
begin For I : = 0 to 255 do If Chr(I) in TabInterdit Then StrSet := StrSet + Format('''%s'' ', [Chr(I)]);
ShowMessage('Le nom de l''image ne peut contenir les caractères spéciaux suivants :' + StrSet);
end ;
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 27 avril 2007 à 02:39
tite correction :
procedure TForm1.Button1Click(Sender: TObject);
Const
TabInterdit = [':','/','\','?','>','<','*','"','|'];
var
I : Integer;
S,StrSet : String;
begin
S := Edit1.Text;
StrSet := '';
for I := 1 to Length(S) do
If S[I] in TabInterdit Then
StrSet := StrSet + S[I];
if Length(StrSet) <> 0 then
ShowMessage('Le nom de l''image ne peut contenir les caractères spéciaux suivants :' + StrSet);
end;
moldov
Messages postés165Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention10 novembre 2008 26 avril 2007 à 11:49
Salut,
Si le code est identique à ce que tu a posté c'est normal que ca marche pas car dans ton ShowMessage tu a mis TabEdit[i].Text alors que tu a beaucoup plus simple, vu que le caractère qui est interdit est celui testé dans l'Edit1 tu peux faire :
ShowMessage('Le nom de l''image ne peut contenir la caractère suivant : '+Edit1.Text[i])
Ensuite tu met ta fonction dans le Edit1KeyPress et voila le tour est joué.
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 20093 26 avril 2007 à 13:59
salut,
pour afficher juste un message d'erreur pour le char tapé, fait comme moldov t'as dit. C'est super simple.
(detail: t'as un problem entre i vs j)
pour afficher TOUT le set, je ne connais aucun moyen simple. Si j'étais a ta place, je ferrais juste une const string (comme ça t'as les virgule et tout).
A+
Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
Vous n’avez pas trouvé la réponse que vous recherchez ?
gabs77
Messages postés379Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention 8 octobre 2008 26 avril 2007 à 18:43
salut lova,
merci pour ta remarque mais pour le KeyPress, cela neme donnait pas le résultat désiré et aurait été lourd à la longue, je pense car si à chaque fois que l'on frappe un touche interdite un message apparait voilà quoi !!
salut moldov,
comme tu vois il y a un moyen simple proposé par cirec auquel on aurait pu éventuellement penser a cela mais il en est ainsi !
merci tout de même d'avoir répondu à mon message !!
salut cirec,
c'est super, je te remercie
C'est exactement ça qui me fallait, tu me sauves !! merci encore !
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 20093 27 avril 2007 à 09:31
re,
je suis bien d'accord, les messagebox qui te coupe la saisie: c'est pénible....
pour gérer des erreurs de saisie, je recommande (à mon humble avis):
1. une correction le plus automatique possible
2. une message d'erreur clair (pour comprendre la correction auto)
3. des message d'erreur non "interrompant".
le point trois peut se réaliser de plusieurs manières:
3.a une console d'erreur (ie: un memo à alBottom)
3.b l'affiche d'un label en rouge en dessous de la zone de saisie.
3.c une fenêtre "stayOnTop" de petit taille qui se position près de la zone de saisie. tu la fait apparaître lors de l'erreur et disparaître lorsque la saisie est corrigée. Un genre de bull d'info. avec la transparence et une jolie image de fond, t'arrive à faire qqch de très jolie. En plus, tu peux ajouter de l'interactivité (bouton d'aide, liens vers site web, ...)
bon code,
Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 28 avril 2007 à 10:05
Chez les papous y'a des papous papa et des papous pas papa. Mais
chez les papous il y a aussi des poux, donc chez les papous y'a des papous
papa à poux, des papous papa pas à poux, des papous pas papa
à poux et des papous pas papa pas à poux. Chez les poux il
y a des poux papa et des poux pas papa. Alors chez les papous, y'a-til
des papous papa à poux papa, des papous papa à poux pas papa,
des papous papa pas à poux papa, des papous papa pas à poux
pas papa, des papous pas papa à poux papa, des papous pas papa à
poux pas papa, des papous pas papa pas à poux papa et des papous
pas papa pas à poux pas papa