Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Guardar muchos muchos Tedit (https://www.clubdelphi.com/foros/showthread.php?t=60285)

el-mono 26-09-2008 16:22:20

Guardar muchos muchos Tedit
 
Hola gente voy explicar mi problema espero ser claro.

Estoy desarrollando un sistema Oontologico y me quede trabado en lo que se llama FICHA PERIODENTAL que funciona asi:

Tengo 96 TEdit cada 3 TEdit corresponden a la primer pieza Dentaria los tres siguientes a la siguiente pieza dentaria y asi hasta completar todas las piezas dentarias , en los TEdit se escriben Numeros.

Lo que necesito es un procedimiento que se dispare al presionar el boton guardar y que controle que si al menos uno de los 3 Edit tiene un valor crear un registro en una tabla asi:

NroDiente Valor1 Valor 2 Valor 3

18 TEdit1 TEdit2 TEdit3
36 TEdit2 TEdit2 TEdit3
48 TEdit3 TEdit3 TEdit3

Si ninguno de los 3 TEdit que se corresponden a unapieza dentaria no crtear niungun registro. Utilizo Delphi 7, Firebird 2.1 y DBX para conexion.

Quizas con esto se entienda mas:

mi problema es que debo comprobar los 3 TEdit que pertenecen al Diente y recien si alguno de los tres tiene algo
grabar un registro para ese diente por ejemplo:

Diente 18
Edit1 := 5;
Edit2 := 0;
Edit3 := 0;

Diente 36
Edit1 := 0;
Edit2 := 0;
Edit3 := 0;



En la tabla debo de guardar los tres Edit asi:

Diente Dato1 Dato2 Dato3

18 5 0 0

Para el diente 36 Ningun registro y asi con todos.


Esperando una respuesta pronto y hallan entendido y ser claro.
Saludos
Mario

roman 26-09-2008 16:35:27

Yo usaría frames. Creas un frame (File|New|Frame) al que llamas TFrameDiente o como quieras. Dentro colocas tres TEdit y agregas una propiedad pública NumeroDiente:

Código Delphi [-]
type
  TTFrameDiente = class(TFrame)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
  public
    NumeroDiente: Integer;
  end;

La conveniencia del Frame es que puedes diseñarlo aparte del formulario y reusarlo tantas veces como quieras en el formulario:




Entonces, tendrías 32 frames de este tipo, uno por cada diente. A la hora de guardar los registros revisas cada frame y simplemente verificas el valor de cada edit del frame:

Código Delphi [-]
// Revisar diente 18

if (Frame18.Edit1.Text <> '') or (Frame18.Edit2.Text <> '') or (Frame18.Edit3.Text <> '') then
begin

  { Guardas el registro }

end;

// Saludos

el-mono 30-09-2008 02:15:36

Guardar muchos muchos Edits
 
Muchas gracias Roman Eternamente agradecido!!!!:)

dec 30-09-2008 02:51:20

Hola,

Siguiendo lo que dice Román, en lugar de esto:

Código Delphi [-]
// Revisar diente 18

if (Frame18.Edit1.Text <> '') or (Frame18.Edit2.Text <> '') or (Frame18.Edit3.Text <> '') then
begin

  { Guardas el registro }

end;

... el "Frame" podría incorporar algún método que nos echara una mano, como "IsEmptyEdits()", que nos podría servir para mejorar la legibilidad del código, en cuanto a que sería este método quien se encargarse de comprobar si los distintos "edits" están "vacíos" o qué. ;)

roman 30-09-2008 06:40:33

Cita:

Empezado por dec (Mensaje 317145)
"IsEmptyEdits()"

¿Que no sería más bien EstaLimpioElDiente? :D

Ya e serio, es buena idea :)

// Saludos


La franja horaria es GMT +2. Ahora son las 21:59:17.

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