Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Solucion para mascaras de dbedit (https://www.clubdelphi.com/foros/showthread.php?t=5772)

nefy 03-12-2003 23:57:33

Solucion para mascaras de dbedit
 
Ya encontré la solucion y es lo siguiente:
Maskedit1.EditText:=dbedit13.Text;
Lo que pasa es que yo queria poner mascaras al dbedit pero mejor he puesto un Maskedit por dbedit y el maskedit solo se visualiza cuando se editará un registro, mientras el dbedit se invinsibiliza, pero el texto del dbedit lo paso al maskedit con la linea de codigo de arriba. Esto me ha sacado de un gran problema, espero y le ayude a alguien que lo ocupe como a yo.
El problema era que yo trataba de asignar el texto del dbedit directamente a la propiedad Maskedit1.Text y de esa manera no lo permitia Delphi 6.

Bueno gracias de todos modos.

Saludos a todos :D

__cadetill 04-12-2003 00:41:29

El problema no es ni era de Delphi 6. El problema es que hay que diferenciar entre componentes DataAware y datos de una tabla de una base de datos. Es decir, los componentes DataAware "sólo" sirven para representar (visualizar/cambiar) los datos que contiene una determinada tabla. Pero si lo que quieres es acceder directamente a los datos sin pasar por "intermediarios", para eso tienes el componente Dataset y sus TFields asociado a la tabla y campos respectivamente

Código:

Dataset.FieldByName('MiCampo').AsTipo
Donde AsTipo representa el tipo de dato al que queremos tractar (léase AsString, AsInteger, AsDateTime, AsFloat,....).

Por otro lado, las máscaras no se ponen en los TDBEdits (ya que estos son, como he dicho antes, meras representaciones de los datos), sinó que se ponen en los campos persistentes (TFields) en su propiedad DisplayFormat (para su visualización) o bien en EditFormat (para su edición).

Esto se ha comentado muchas veces (la diferencia entre componentes y datos) y es un error que por lo que veo es muy frecuente. Hay que estar atentos a esto y saber diferenciarlo en cada momento ;)


La franja horaria es GMT +2. Ahora son las 11:59:02.

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