Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   limpiar todos los valores del formulario (https://www.clubdelphi.com/foros/showthread.php?t=3646)

cisterpe 17-09-2003 09:32:41

Bueno, situemonos :D ya me rio por no llorar :D

Con esto he conseguido que cuando cierro y vuelvo a entrar me aparezca todo perdeterminado.

Ahora bien, dentro de este formulario que detruyo y creo, tengo 1 dataset y 1 query que la primera vez que ejecuto funcionan pero al destruir y volver a crear no funcionan :confused:

__cadetill 17-09-2003 09:42:24

Bien!! :)

Ahora si pones un breakPoint en el OnCreate (donde lanzas la Query) passa siempre, verdad?

Si no es así.... mal rollo, estamos donde al principio (a no ser que no pase por alguna sentencia condicioinal :D)

Si es así.... a no ser que no se ejecute por alguna sentencia condicional o que no contenga valores correctos (cosa rara porque se crea de 0 el Form).... no se me ocurre nada. Aunque podrías poner todo el código (sino es muy largo :p) del OnCreate y lo miramos entre todos (un millon de ojos ven más que 2)

Pero asegurate que se ejecuta el OnCreate cada vez que llamas al formulario

cisterpe 17-09-2003 09:56:32

Comprobado que pasa por el OnCreate cada vez que pincho para entrar en el formulario.


procedure TPresu.FormCreate(Sender: TObject);
begin
// Alineacion a la derecha
SysLocale.MiddleEast := True;
valor:=0;
Edit1.BiDiMode := bdRightToLeft;
Edit2.BiDiMode := bdRightToLeft;
Edit3.BiDiMode := bdRightToLeft;
Edit4.BiDiMode := bdRightToLeft;
Edit5.BiDiMode := bdRightToLeft;
Edit6.BiDiMode := bdRightToLeft;
Edit7.BiDiMode := bdRightToLeft;
Edit8.BiDiMode := bdRightToLeft;
Edit9.BiDiMode := bdRightToLeft;
Edit10.BiDiMode := bdRightToLeft;
Edit11.BiDiMode := bdRightToLeft;
Edit12.BiDiMode := bdRightToLeft;
Edit13.BiDiMode := bdRightToLeft;
Edit14.BiDiMode := bdRightToLeft;
Edit15.BiDiMode := bdRightToLeft;
Edit26.BiDiMode := bdRightToLeft;
Edit27.BiDiMode := bdRightToLeft;
Edit28.BiDiMode := bdRightToLeft;
Edit29.BiDiMode := bdRightToLeft;
Edit30.BiDiMode := bdRightToLeft;
Edit31.BiDiMode := bdRightToLeft;
Edit33.BiDiMode := bdRightToLeft;
Edit37.BiDiMode := bdRightToLeft;
Edit38.BiDiMode := bdRightToLeft;
Edit41.BiDiMode := bdRightToLeft;
Edit42.BiDiMode := bdRightToLeft;
Edit43.BiDiMode := bdRightToLeft;
Edit44.BiDiMode := bdRightToLeft;
Edit45.BiDiMode := bdRightToLeft;
Edit46.BiDiMode := bdRightToLeft;
Edit51.BiDiMode := bdRightToLeft;
Edit52.BiDiMode := bdRightToLeft;
Edit54.BiDiMode := bdRightToLeft;
Edit56.BiDiMode := bdRightToLeft;
Edit59.BiDiMode := bdRightToLeft;
Edit63.BiDiMode := bdRightToLeft;
Edit64.BiDiMode := bdRightToLeft;
Edit65.BiDiMode := bdRightToLeft;
// fin alineacion a la derecha

//esto lo puse pq como no cargaba
// pero sin esto la primera vez me carga el query y funciona
//o sea que esto no sirve para mucho
qobj.Active:=false;
qobj.sql.Clear;
qobj.SQL.add('Select * from objur order by nombre');
qobj.Open;
//fin query

end;



:rolleyes:

__cadetill 17-09-2003 10:12:44

Esto no lo puedes hacer en diseño?

Cita:

Posteado originalmente por cisterpe
Edit1.BiDiMode := bdRightToLeft;
Edit2.BiDiMode := bdRightToLeft;
Edit3.BiDiMode := bdRightToLeft;
....
Edit65.BiDiMode := bdRightToLeft;
// fin alineacion a la derecha
Si no es así, vamos a reducir las lineas (aprovechando que todos se llaman igual menos en el número) ;)

Código:

var
  i : integer;
begin
  for i:= 1 to 65 do
  begin
    TEdit(FindComponent('Edit' + IntToStr(i))).BiDiMode := bdRightToLeft;
  end;

mejor, verdad? :) Lo que hacemos es buscar el componente mediante FindComponent casteandolo a un TEdit (que sebemos de antemano que lo es) y acceder a la propiedad que queremos.

Bueno, con lo que respecta a la Query, cuando dices que no te funciona... a qué te refieres? no hace el Open? hace el Open pero no se visualizan valores? hace el Open, visualiza valores pero son erroneos? Tienes la Query enlazada a algún componente DataAware para visualizar sus valores? La tierra es redonda? Mi mamá me mima? :p

cisterpe 17-09-2003 10:32:20

Mi mama tambien me mima :D

En el edit 1 cuando introduzco 1 numero, tiene que hacer 1 busqueda y si no la encuentra abrirme 1 nuevo form :rolleyes: en el cual aparece 1 dbgrid con un "select *" (aclaro que el nuevo form se coge los datos del formulario que estamos tratando).

bien en cuanto reconstruimos el form le meto al edit 1 valor existente pero no lo encuentra y me saca el nuevo form con el dbgrid vacio :confused:

__cadetill 17-09-2003 13:49:00

no termino de verlo claro. Si siempre pasa por las inicializaciones... no veo claro el que te funcione la primera vez y no las siguientes

Miraré de hacer alguna prueba y te cuento

cisterpe 17-09-2003 13:53:53

Muchas gracias por tu interes ;)


La franja horaria es GMT +2. Ahora son las 01:10:48.

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