Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   convertir un texto a mayusculas (https://www.clubdelphi.com/foros/showthread.php?t=13046)

uper 04-08-2004 23:04:39

convertir un texto a mayusculas
 
hola a todos,

Disculpes ustedes, tengo que convertir un texto a mayusculas cuando se escriba, pero esta vez cambie un dbedit por un dbmemo por que como son varias palabras; para mostrar perfectamente todo el texto capturado. (Haber si me explico.)

En el componente Dbmemo del evento onkeypress puse este codigo
Upper(dbmemo1.text) pero no hace el cambio ni tampoco en onchange, sin encambio para el componentes Dbedit y edit existe una propiedad upper=uppercase y lo convierte lo que vayamos escribiendo, hay otra manera de que se pueda lograr esto pero con un memo ?

gracias, les agradesco una sugerencia.

karocs 05-08-2004 00:29:42

convertir un texto a mayusculas
 
Saludos

Podrias colocarlo en el evento OnExit del memo
memo.Text:=UpperCase(memo.Text);

Espero te sea de ayuda

roman 05-08-2004 01:14:26

Cita:

Empezado por uper
En el componente Dbmemo del evento onkeypress puse este codigo
Upper(dbmemo1.text)

¿Upper? ¿Existe esta función?

Puedes simplemente poner:

Código Delphi [-]
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  Key := UpCase(Key);
end;

// Saludos

Julià T. 05-08-2004 01:28:20

Los controles TEdit tienen una propiedad charcase.
Los controles TMemo son derivados de TCustomEdit que también tienen la propiedad charcase aunque es protegida.

para poder utilizar esta propiedad protegida puedes utilizar el código siguiente:
Código Delphi [-]
type TUpperMemo=class(TMemo);

procedure TForm1.FormCreate(Sender: TObject);
begin
 TUpperMemo(Memo1).CharCase:=ecUpperCase;
end;

ruina 05-08-2004 10:10:07

si usas la primera solución te gustará saber que tb puedes convertir a mayusculas los acentos y las letras raras como ü: AnsiUpperCase

uper 06-08-2004 06:31:10

realizando pruebas
 
Hola a todo.

Muchas gracias a todos, ya realize unas pruebas con las sugerencias de conversion de letras en un memo y quedo resulta mi duda
Gracias club.

LordSigma 07-03-2005 16:16:55

Cita:

Empezado por Julià T.
Los controles TEdit tienen una propiedad charcase.
Los controles TMemo son derivados de TCustomEdit que también tienen la propiedad charcase aunque es protegida.

para poder utilizar esta propiedad protegida puedes utilizar el código siguiente:
Código Delphi [-]
type TUpperMemo=class(TMemo);

procedure TForm1.FormCreate(Sender: TObject);
begin
 TUpperMemo(Memo1).CharCase:=ecUpperCase;
end;

Este ejemplo tiene el siguiente error, donde dice class (TMemo) deberia ir class (TEdit), de esa forma si funciona.

type TUpperMemo=class(TMemo);

roman 07-03-2005 16:45:23

Cita:

Empezado por LordSigma
Este ejemplo tiene el siguiente error, donde dice class (TMemo) deberia ir class (TEdit), de esa forma si funciona.

No entiendo por qué dices esto. Nadie ha mencionado que no funcione y de hecho sí funciona. La propiedad CharCase está definida desde la clase TCustomEdit, que es un ancestro común de TEdit y TMemo. Cualquier descendiente, directo o indirecto, puede hacer uso de esta propiedad, en particular TMemo y cualquier descendiente de TMemo como lo es el propuesto por Julià T. De hecho, con el cambio que propones, el moldeo, si bien funciona en este caso particular, no es un moldeo correcto ya que TEdit no es un descendiente de TMemo.

// Saludos


La franja horaria es GMT +2. Ahora son las 21:59:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi