Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   components valor para cruzar con campo (https://www.clubdelphi.com/foros/showthread.php?t=92178)

vicentemadrid 18-08-2017 16:28:59

components valor para cruzar con campo
 
Hola a todos.

Tengo en un form el nombre del campo que quiero comparar dentro de una variable.

Nombre del campo:C1
Si genero :

cvalor:= C1.text; (el resultado es correto)

la cuestión es que tengo el valor "C1" dentro de una variable strig, si pongo:
cvalor:= variablestring.text; (esto no funciona)

Alguien puede indicarme como cargar el valor del campo C1 llamándolo como una variable??

Gracias

Caminante 18-08-2017 16:55:09

Hola

Supongo que C1 es un TEdit entonces podrias hacer:

Código Delphi [-]
Var

T:TComponent;
begin
T:=FindComponent('C1');
if assigned(t)then
  Valor:=(t as TEdit).text;
end;

Lo he escrito de memoria. Espero te sea util

Saludos

vicentemadrid 18-08-2017 17:09:38

Hola Caminante, y gracias..

igualo sobre una variable string (cvalor:= (t as TEdit).text;) y me da error

INVALID CLASS TYPECAST
( Clase:EINVALIDCAST )

vicentemadrid 18-08-2017 17:13:44

Hola de nuevo.

He probado:

cvalor:= (t as TdbEdit).text;


el error no sale pero cvalor siempre = ''

Caminante 18-08-2017 18:09:33

Hola

Bueno yo supuse que el control era un TEdit; en tal caso eso ya lo resolviste.

Hice la prueba y me funciona correctamente.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  S:string;
  T:TComponent;
begin
  S:='Nada';
  T:=FindComponent('DBEdit1');
  if Assigned(t)then
    S:=(t as TDBEdit).Text;
  ShowMessage(S);
end;

vicentemadrid 18-08-2017 18:26:06

Hola Caminante!!!

Perfecto!!!, estaba intentando leer el valor antes de "pintar" el formulario y por eso aparecía todo ' '.

Me has alegrado el fin de semana. Muchas gracias y hasta la próxima!!!!

ha sido un placer plantear mi primera consulta y tener una solución tan rápida.

Gracias!!!


La franja horaria es GMT +2. Ahora son las 22:41:39.

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