D6 TEdit copier/coller et characteres invalides - Delphi/Pascal - Programmation
Marsh Posté le 08-06-2003 à 15:51:25
Plutôt que d'autoriser quelques caractères (t'en laisses peu ) pourquoi ne pas interdire que les quelques caractères interdits ?
à savoir:
? * | ¦ < > / \ " : |
Marsh Posté le 08-06-2003 à 15:52:52
for i := 0 to Length(s)
-> sachant que s[0] = longueur de la chaîne, ce code est hyper aléatoire... c'est plutôt for i := 1 to Length(s)
Marsh Posté le 08-06-2003 à 16:11:58
antp a écrit : Plutôt que d'autoriser quelques caractères (t'en laisses peu ) pourquoi ne pas interdire que les quelques caractères interdits ?
|
ben c est toute la puissance du copier coller !
Je changerai le code t en fais pas
Marsh Posté le 08-06-2003 à 16:15:47
antp a écrit : for i := 0 to Length(s) |
Mon probleme c est que j utilise deja code autre part dans mon programme et il marche tres bien . Ce que je ne comprends pas c est pourquoi dans ce cas c est different .!
s[0] donne t il tjrs la taille de la chaine ?
Lors du key press le programme s est il que la chaine sera au minimum de longueur 1 ???
Je dois dire que j en perds mon delphi la !
Bref un truc de regler la suite risque d etre plus coton !
@->--
Marsh Posté le 08-06-2003 à 18:01:06
Je sais pas si s[0] te renvoie toujours la longueur, je sais que c'est le cas pour les ShortString (et les chaînes de longueur fixe).
Par contre comme les chaînes commencent à 1, faut pas aller lire s[0]
Tu dis que dans tes autres softs ça marche, c'est vraiment un gros coup de bol alors...
Marsh Posté le 08-06-2003 à 18:44:05
Je suis etonne car le code je l ai pas invente je l ai pris d une discussion sur le meme sujet. Donc qd je test il faut que je commence a 1. bon d accord.
Quand au evenements.. j ai juste coder ceux presente dans ce thread (Key down et press). Apparament c est KeyPress qui prend le charactere.
Pour finir j ai deja empecher l entree de certain characteres dans d autre soft mais je me suis jamais interresse au probleme du copie/coller !
@->--
Marsh Posté le 08-06-2003 à 19:13:05
ce que je fais c'est éventuellement empêcher de taper les caractères, mais je mets toujours un test plus loin pour que les autres moyens (copier coller par ex) soient bloqués eux-aussi
Marsh Posté le 08-06-2003 à 15:27:36
Bonjour a tous,
Je suis en train de developper une application qui se sert d'un TEdit
pour donner un nom a un fichier. J aimerai autant que faire ce peux minimiser
l'apparition de characteres indesirables du style:
& ~ ' { ( [ - | ` _ \ )]
etc.
J ai donc programmer sur l'evenement on Key press de mon Tedit le code:
et sur l évenement KeyDown
Que se passe t il ? ben quand l'utilisateur tape au clavier ca marche le hic vient du copier/coller
en effet lors du copier/coller le texte du presse papier est systematiquement ajouter au debut du TEdit:
Exemple: soit Ancient text: "Bonjour"
press papier: "a tous <> %*µ"
supposons que le curseur soit a la fin de [i]bonjour lors de l'insertion cela donne
TEdit.TExt := 'a tous <> %*µBonjour';
Hors en mode pas a pas il montre que la variable 's' contient des #0 a la place des characteres
que je ne veux pas avant de l'ajouter a la propriete text du TEDit.
Ma premiere question est donc:
Comment faire pour que lors du collage le text s'ajoute à l'endroit indiquer par le curseur
et comment faire en sorte que le texte collé soit exempt de tous characteres indesirable ??
Etant donne la situation avant que le fichier soit généré je verifie une derniere fois aue tout est
en ordre et la HORREUR . Voici le code qui test si le TEdit est exempt de characteres invalide:
Si i:= 0 le premier character quel qu il soit donne tjrs WrongChar = True par contre
si je modifie la boucle pour la faire commencer à 1 ca marche sauf que si le premier character est
mauvais je suis mal
D ou ma 2nd Question:
[i]Pourquoi qd i est égal à zero le code donne systematiquement WrongChar = True ,
Comment pallier a ce probleme?
Merci d'avance à toutes et à tous.
Aramis @->--
Message édité par KrzAramis le 08-06-2003 à 16:10:58
---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site