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)
-   -   Modifcar campos calculados por interfaces (https://www.clubdelphi.com/foros/showthread.php?t=16748)

vmladino 09-12-2004 22:31:47

Modifcar campos calculados por interfaces
 
Hola a todos,

Tengo la siguiente inquietud : Tengo un componente TTable, adicioné todos los campos que deseo utilizar de la tabla, pero a la vez deseo crear un campo "Virtual" por llamarlo de alguna manera, que físicamente no existe en la tabla, es decir algo parecido a un campo calculado con la diferencia que este nuevo campo lo deseo asignar a un TDBEdit para que el usuario lo modifique, se desea hacer así porque de acuerdo al valor se llaman unos procedimientos y estos reciben como parametros campos de tipo TStringField

Como podria hacer esto ... es decir al nuevo campo que le asigno en la propiedad FieldKind, porque fkData(el campo no existe) fkCalculated(no lo deja manipular) ...?

Se que alguien me podria decir que mas bien no use un TDBEdit si no un TEdit y el valor de este control se lo pase al campo calculado creado. pero el problema es que no es un campo si no varios en varias tablas, luego el código y validaciones adicionales serian significativos.

Nuevamente gracias por su ayuda.

Al González 12-12-2004 21:27:46

¡Buen día a todos y feliz inicio de semana!


Cita:

Empezado por vmladino
...parecido a un campo calculado con la diferencia que este nuevo campo lo deseo asignar a un TDBEdit para que el usuario lo modifique, se desea hacer así porque de acuerdo al valor se llaman unos procedimientos y estos reciben como parametros campos de tipo TStringField...

Me gustaría nos detallaras más esto último. Tengo algunas ideas. Como siempre, en la programación hay mil soluciones para cada problema.

Una de ellas es que si uses un TEdit y también un campo calculado TStringField, el cual determine su valor a partir del contenido de ese TEdit.

Código:

Procedure TForm1.Table1CalcFields...
Begin
  Table1CampoCalculado.Value := Edit1.Text;
End;

Otra solución sería crear un componente derivado de TTable, redefiniendo ciertos métodos internos como SetFieldValue y GetFieldValue, entre otros, para permitir la implementación de ese nuevo tiempo de campo.

Espero esto sea de utilidad, seguimos en contacto.

Al González :).


La franja horaria es GMT +2. Ahora son las 08:39:11.

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