Accueil > Forum > > > > Remplacer un caractère par un autre
Remplacer un caractère par un autre
mardi 27 juillet 2010 à 11:12:00 |
Remplacer un caractère par un autre

gpletinckx
|
Bonjour,
Je voudrais que lors de la frappe du caractère apostrophe ou du caractère point-virgule, ceux-ci soient remplacés par un espace.
J'ai réalisé un petit code qui remplace un retour-ligne par un tab:
Code Delphi :
Procedure TFPP.CMDialogKey(Var Msg : TWMKey) ;
Begin
If Not (ActiveControl Is TButton) Then
If Msg.Charcode = VK_RETURN Then
Msg.Charcode := VK_TAB ;
Inherited ;
End ;
J'utilise Delphi 7.
Comment faire?
Bien à vous,
G. PLETINCKX
|
|
mardi 27 juillet 2010 à 12:04:01 |
Re : Remplacer un caractère par un autre

Bacterius
|
Salut,
tu peux obtenir les touches de code virtuelle ici ici. Ensuite, je pense que ord('''') et ord(';') marche bien aussi, mais je n'ai pas testé.
Cordialement, Bacterius !

|
|
mardi 27 juillet 2010 à 14:36:24 |
Re : Remplacer un caractère par un autre

pseudo3
|
Bonjour,
Manque de bol "ord('''') et ord(';')" ne marchent pas.
Le code suivant testé marche :
Code Delphi :
// Mettre la proprité KeyPreview de Form1 à true (interception des événements-clavier) et créer la procedure suivante :
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin case Key of
VK_RETURN : Key := VK_TAB;
end;
if (Not (ssShift in sHIFT)) // Point-virgule = minuscule
and (key=190) // Touche point et point-virgule
then begin showmessage('point virgule'); Key:=VK_Space; end;
if (GetAsyncKeyState(VK_RMENU)<>0) // Touche AltGr à droite
and (Key=52) // Touche de l'apostrophe et du 4
then begin showmessage('apostrophe'); Key:=VK_Space; end;
showMessage(chr(key));
end;
A+. 
|
|
mardi 27 juillet 2010 à 16:04:51 |
Re : Remplacer un caractère par un autre

cirec
|
Réponse acceptée !
ouai mais il est pas terrible ce code
celui-ci fait la même chose à ceci prêt, qu'il intercepte et modifie la touche avant que les autres composants ne reçoivent le message
Code Delphi : procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = '''') or (Key = ';') then
Key := #32
else
if Key = #13 then
Key := #9;
end;
avec ton code par contre c'est l'inverse ...
Si tu places un TMemo sur ta fiche et tu essayes de taper ces caractères "'" & ";" tu verras qu'ils s'y affichent quand même !!
@+Cirec
|
|
mardi 27 juillet 2010 à 16:18:23 |
Re : Remplacer un caractère par un autre

pseudo3
|
Re-Bonjour,
ouai mais il est pas terrible ce code
... effectivement le tien est bien meilleur pour ce cas.
A+.
|
|
lundi 2 août 2010 à 14:25:18 |
Re : Remplacer un caractère par un autre

gpletinckx
|
Désolé mais ton code ne semble pas fonctionner. Je l'ai installé dans mon programme, je n'ai pas d'erreur mais lorsque j'écrits dans un champ TDbedit, les apostrophes ou point-virgules restent.
Voici un morceau de mon code:
Code Delphi :
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Déclarations privées }
Procedure CMDialogKey(Var Msg : TWMKey) ; message CM_DIALOGKEY ;
public
{ Déclarations publiques }
cb3, erreur, ctl1, ctl2, cpt1, cpt2, cpt3 : Integer ;
cb2, cbrest : Int64 ;
PPT, Fen, cb1, Proven, Comp : String ; // Proven = provenance PP pr Décision
PPAN, PPNU : Integer ;
PPOR, PPPRO : String ;
mand1, mand2, mand3, mand4, mand5, mand6, mand7, mand8, mand9 : String;
End ;
Var
FPP : TFPP ;
Implementation
Uses Calis, Bien, SelPP, VicPropPP, PersMor, Datas, Datas1, Decision, Admin,
PaiePP, FSupprPP, Mandat ;
{$R *.dfm}
Procedure TFPP.CMDialogKey(Var Msg : TWMKey) ;
Begin
If Not (ActiveControl Is TButton) Then
Begin
If Msg.Charcode = VK_RETURN Then
Msg.Charcode := VK_TAB ;
End;
Inherited ;
End ;
procedure TFPP.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = '''') or (Key = ';')then
Key := #32
else
if Key = #13 then
Key := #9;
end;
Bien à toi,
G. PLETINCKX
|
|
lundi 2 août 2010 à 15:00:51 |
Re : Remplacer un caractère par un autre
|
lundi 2 août 2010 à 15:03:41 |
Re : Remplacer un caractère par un autre

gpletinckx
|
Désolé mais ça ne fonctionne pas
G. PLETINCKX
|
|
lundi 2 août 2010 à 15:06:16 |
Re : Remplacer un caractère par un autre

gpletinckx
|
Où faut-il définir la procédure? Dans les procédures générales ou Private?
G. PLETINCKX
|
|
lundi 2 août 2010 à 17:08:28 |
Re : Remplacer un caractère par un autre

pseudo3
|
Bonjour,
A mon avis la Procedure TFPP.CMDialogKey(Var Msg : TWMKey) est devenue superflue du fait de l'existence de la procedure TFPP.FormKeyPress();
A+.
|
|
Cette discussion est classée dans : code, caractère, remplacer, tab, msg
Répondre à ce message
Sujets en rapport avec ce message
Code ASCII -> Son caractère correspondant [ par Fabiin ]
Salut !Quel fonction permet de passer du code ASCII en sont caractère correspondnat ???l'inverse de Ord()Merci par avance@+Fabs
convertir un code ascii en sont caractère équivalent [ par cricri_b34 ]
salut, j'aimerais savoir si il existe un api qui permet de coonvertir un code ascii en sont caractere équivalentdependament de la langue de clavier
remplacer un caractère par un autre [ par JackNUMBER ]
boujour! boujour!alors voila je vous explique mon problème:j'ai 2 memo, un où l'on entre un texte et l'autre ou le texte aura certain caractère qui au
Remplacer chaine de caractère [ par Also know as ]
Bonjour à tous,Voilà je souhaiterais juste pouvoir supprimer plusieurs caractères à la suite.Je vais chercher dans la base de registre une certaine ad
access violation [ par nEm3sis ]
Bonjourje ne savai pas ou poster ça j'espère ne pas m'etre trompéj'ai fais une application client-serveur en utilisant le multithreadingj'utilise Ente
PB caractère ascii [ par fbalien ]
Bonjour j'ai un souci avec la gestion des caractères ascii dans mom mot de passe windows j'utilise des codes aschii tel que par exemple '?'généré par
Comment mettre caractère Ohm dans une string? [ par Sat83 ]
Hello...Je suis debutant en Delphi et je souhaiterais savoir comment faire pour ajouter le caractère '?' dans une string dans mon code....par exemple:
Afficher le code ASCII d'un caractère [ par swadfish ]
salut tt le monde.je veux créer une application sous delphi qui me donne le code ascii de chaque caracteres tapé dans un editbox.merci d'avance. @+
WindowState [ par OcHre ]
Salut, je poste ce message parceque j'ai quelques problemes concernant WindowState à savoir que ma Form principale renvoie toujours wsNormal meme lors
recuperer une variable et generation code [ par newbieratus ]
8DBonjour a tous,voila j'ai ecrit un petit prog qui doit me recuperer le champs d'une variable et de generer un code en cliquant sur un bouton et en y
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|