Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Emular con cxCurrencyEdit evento OnChange de un TEdit. ¿ Alguien sabe ? (https://www.clubdelphi.com/foros/showthread.php?t=44453)

calogero 06-06-2007 19:24:39

Emular con cxCurrencyEdit evento OnChange de un TEdit. ¿ Alguien sabe ?
 
Hola que tal !!

Alguien sabe como hacer esto pero con cxCurrencyEdit ?

Código Delphi [-]
  
  procedure TForm1.editUnitarioChange(Sender: TObject);
  var
    Unitario,
    Cantidad: Double;
  begin
    Unitario := StrToFloat(editUnitario.Text);
    Cantidad := StrToFloat(editCantidad.Text);
    editTotal := FloatToStr(Cantidad * Unitario);
  end;


La diferencia del cxCurrencyEdit con el TEdit es que el cxCurrencyEdit no tiene el evento OnChange, en cambio tiene el evento OnEditValueChange pero no se comporta igual que el evento OnChange del TEdit.

El evento OnChange del TEdit me permite modificar otras TEdit al momento que yo voy escribiendo algo en el TEdit, lo cual la verdad no lo he logrado hacer con el cxCurrencyEdit, si alguien me puede dar una ayudita pos muy agradecido :).


Encontré el siguiente codigo en la página de devexpress https://www.devexpress.com/Support/C...aspx?kbid=A571 pero la verdad no funciona no actualiza a menos que le de un enter a la celda despues de haberla editado, lo cual no es necesario con el evento OnChange del TEdit...

Código Delphi [-]
procedure TYour_Form.Your_ColumnPropertiesEditValueChanged(
  Sender: TObject);
var
  Edit: TcxCustomEdit;
  NewValue: Variant;
begin
  Edit := Sender as TcxCustomEdit;
  NewValue := Edit.EditValue;
  // Your other code is here...
end;


Bueno muchas gracias por sus sugerencias... :D

maeyanes 06-06-2007 19:34:43

Ya probaste con el evento Properties.OnChange?


Saludos...

calogero 06-06-2007 21:05:08

Cita:

Empezado por calogero
Hola que tal !!

La diferencia del cxCurrencyEdit con el TEdit es que el cxCurrencyEdit no tiene el evento OnChange ...

Edito: me equivoqué al decir que el cxCurrencyEdit no tiene el evento OnChange ya veo que si lo tiene :)

calogero 06-06-2007 21:10:51

Cita:

Empezado por maeyanes
Ya probaste con el evento Properties.OnChange?


Saludos...


y si maeyanes ya probé ese evento el properties.OnChange y hago algo como lo que me encontré en devExpress, algo como esto, pero no me funciona como el ejemplo que puse de los EditText

EDITO: pero no me funciona como el ejemplo que puse de los EditText, quise decir que este ejemplo si funciona correctamente pero no asi el del Properties.OnChange del cxCurrencyEdit

en el evento on change

Código Delphi [-]
procedure DBColumnUnitarioPropertiesChange(Sender: TObject);
var
  Celda: TCxTextEdit;
  Valor: String;
begin
  Celda := Sender as TCxTextEdit;
  Valor := Celda.Text;
  DBColumnUnitarioNeto.EditValue := Valor;
end;

calogero 06-06-2007 21:24:56

cuando edito en el OnChange de un TEdit lo que voy escribiendo se va reflejando en el otro TEdit

ejemplo..
Código Delphi [-]
procedure TEdit1Change(Sender:TObject);
begin
  TEdit2.Text := TEdit1.Text;
end;

lo que yo vaya escribiendo por ejemplo si escribí en el TEdit1 '123', el mismo '123' se refleja en el TEdit2, en cambio si hago lo mismo en el Properties.OnChange del cxCurrencyEdit lo que yo escriba no se refleja en la otra columna por ejemplo si yo escribo, en el OnChange de DBColumnUnitario la cadena '123', solo se refleja en el DBColumnUnitarioNeto la cadena '3', es como si solo me tomará en cuenta un solo carácter a la vez y solo el último que presioné.


La franja horaria es GMT +2. Ahora son las 23:20:52.

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