|
Evitar que un DriveComboBox de un error al seleccionar una unidad no preparada.
procedure TForm1.DriveComboBox1Click(Sender:
TObject);
begin
UnidadAntigua := DriveComboBox1.drive;
end;
procedure TForm1.DriveComboBox1Change(Sender:
TObject);
begin
if DirectoryExists(DriveComboBox1.Drive+':\') then
begin
DirectoryListBox1.Drive
:= DriveComboBox1.Drive;
DirectoryListBox1.Update;
end else begin
ShowMessage('Unidad no preparada');
DriveComboBox1.Drive :=
UnidadAntigua;
end;
end;
Avanzar control con Intro
procedure Tform.FormKeyPress(……….);
begin
if key = #13 then begin
key
:= #0;
perform
( wm_NextDlgCtl, 0, 0 );
end;
end;
Ÿ Este evento es el KeyPress
del formulario correspondiente.
Ÿ La propiedad KeyPreview debemos ponerla a True.
Referencia cruzada a una variable de otra unit
Ÿ En la unit llamada:
Tprimero = class(Tform);
…
private
…
public
Variable: Tipo
end;
Ÿ En la unit llamadora:
implementation
uses Primera;
Ÿ Uso de la variable en la unit llamada;
FormPrimera.variable
:=. . . .;
Cuando un control no actualiza su valor en el momento indicado
Control.Refresh;
Form como plantilla
Ÿ Sobre el form:
Ÿ Botón derecho del ratón.
Ÿ (M) Save As Template.
Asignar el FOCO a un control
Control.SetFocus
Botones que cierran un form Modal
Ÿ Establecer el valor de la propiedad ModalResult del botón con la función deseada:
mrAbort, mrCancel, mrIgnore, mrNo, mrOk
Ÿ Con cualquiera de estos valores el formulario se cerrara al pulsar el botón.
Hacer que un control reciba el foco al crear un Form
Ÿ En el formulario; seleccionar en la propiedad ActiveControl el control que debe recibir el foco.
Establecer Rangos en un Table.
(Delphi 4.0)
1ª Forma:
Tabla.SetRangeStart;
Tabla.FieldByName(‘Campo’).AsString := valor;
Tabla.SetRangeEnd;
Tabla.FieldByName(‘Campo’).AsString := valor;
Tabla.ApplyRange;
2ª Forma:
Tabla.SetRange(ValorInicial,ValorFinal);
Tabla.ApplyRange;
· Sedebe asignar los valores sobre el dataset abierto.
Crear controles en tiempo de ejecución
{Crear botones en una lista}
var Lista:array[1..10] of TspeedButton;
implementation
.
.
.
For posi:=1 to n dobegin {n<11}
Lista[Posi]:=TspeedButton.Create(Self);
{Creación del boton}
.
Lista[Posi].Width := 32; {Valor
a las propiedades}
.
Lista[Posi].OnClick := BotonClick;
{Asignación de un evento}
.
Lista[Posi].Parent :=
Panel1; {Meter el boton en un panel}
End;
|
|
Este material está protegido por las leyes sobre derechos de autor. NO se autoriza la distribución del mismo, la copia total o parcial, con fines comerciales o empresariales. Se permite la distribución entre estudiantes, siempre que se mantenga esta portada y figure el autor. (c)New Spirit Informática. (c) Javier Lasheras. Creada en España. 4ª Edición Enero 2000 |