viernes, 4 de marzo de 2011

Mas Joven

Comienzo preparando los controles que necesito en un ficha nueva como puedes ver en la imagen.
figura181.jpg (22515 bytes)
Objetos utilizados:  Observa las etiquetas que ya conoces.  Los botones son de la paleta Standar (Para ir mas rapido) y veras el panel que los rodea. 
Cada vez que introduces un nombre y su fecha, se pulsa ACEPTAR; en cualquier momento  se puede obtener el MAS JOVEN y el MAS VIEJO pulsando el boton correspondiente. A ver si lo adivinas. Vale, vale. La solucion aparece en los cuadros de texto.
Solo escribo 'a dedo' el codigo del  evento On_Clic de los botones; y el resto lo ha construido el Delphi mientras que yo he ido arrastrando objetos a la ficha. Aqui esta el codigo:
unit Masjoven;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, ComCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    NOMBRE: TEdit;
    Label3: TLabel;
    FECHA: TDateTimePicker;
    Panel1: TPanel;
    ACEPTAR: TButton;
    MASJOVEN: TButton;
    MASVIEJO: TButton;
    CERRAR: TButton;
    procedure CERRARClick(Sender: TObject);
    procedure ACEPTARClick(Sender: TObject);
    procedure MASJOVENClick(Sender: TObject);
    procedure MASVIEJOClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
VAR
TNOM:ARRAY[1..50]OF STRING[30];
TFECHA:ARRAY[1..50]OF TDATETIME;
I,TOPE:INTEGER;
procedure TForm1.CERRARClick(Sender: TObject);
begin
CLOSE;
end;
procedure TForm1.ACEPTARClick(Sender: TObject);
begin
TNOM[TOPE]:=NOMBRE.TEXT;
TFECHA[TOPE]:=FECHA.DATE;
TOPE:=TOPE+1;
NOMBRE.CLEAR;
FECHA.DATE:=DATE;
NOMBRE.SETFOCUS;
end;
 procedure TForm1.MASJOVENClick(Sender: TObject);
 VAR
 JOVEN:TDATETIME;
 POS:INTEGER;
 begin
// BUSCO EN TFECHA LA MAYOR
JOVEN:=TFECHA[1];
POS:=1;
FOR I:=1 TO TOPE-1 DO
  IF TFECHA[I]>JOVEN THEN
  BEGIN
   JOVEN:=TFECHA[I];
   POS:=I;
   END;
// DESPUES DEL FOR
NOMBRE.TEXT:=TNOM[POS];
FECHA.DATE:=JOVEN;
end;
procedure TForm1.MASVIEJOClick(Sender: TObject);
VAR
VIEJO:TDATETIME;
POS:INTEGER;
Begin
// BUSCO EN TFECHA LA MENOR
VIEJO:=TFECHA[1];
POS:=1;
FOR I:=1 TO TOPE-1 DO
  IF TFECHA[I]
  BEGIN
   VIEJO:=TFECHA[I];
   POS:=I;
   END;
// DESPUES DEL FOR
NOMBRE.TEXT:=TNOM[POS];
FECHA.DATE:=VIEJO;
end;
INITIALIZATION
 TOPE:=1;
end.

No hay comentarios:

Publicar un comentario

Con la tecnología de Blogger.

Busqueda

Vistas de página en total

Sabias que?

chat

Popular Posts