Tips&Tricks I trucchi del mestiere

 

Come nascondere l'applicazione nella task bar

Per alcune applicazioni pu≥ essere utile inibire la visualizzazione del pulsante relativo sulla task bar. Per ottenere questo Φ sufficiente impostare la proprietα ShowMainForm di Application a False. In Windows 2000 e in Windows XP l'applicazione continuerα a essere visibile tra i processi presenti nel Task Manager: proprio dal task manager sarα possibile fermare la'applicazione. Fare in modo che l'applicazione giri in modalitα nascosta, la rende assimilabile ad un servizio: ideale per tutte le applicazioni di monitoraggio e per quelle che restano in attesa di un determinato evento.

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.ShowMainForm:=False;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.
	  

Come utilizzare tipi enumerated come variabili di controllo in un loop

Una caratteristica interessante de cicli foràdo Φ quella di poter usare tipi enumerated al posto dei pi∙ comuni interi. Utilizzando questa proprietα possiamo incrementare notevolmente il livello di leggibilitα del nostro codice, cos∞ com'Φ possibile notare nella porzione di codice riportata sul CD.

type
   TPosition = (poUnder, poLevel, poOver);
   .... 
 procedure TGraphForm.MeasureAll;
 Var
    Position: TPosition;
 begin
    for Position := Low(TPosition) to High(TPosition) do  Begin
      GraphPosition(Position);
    End;
 end;
	  

Come visualizzare informazioni relative alla occupazione di memoria

Il box "About" standard ingloba alcune interessanti informazioni statistiche sulla memoria. In particolare, attraverso il metodo PhysicalAvMemLbl Φ possibile conoscere la quantitα di memoria complessivamente disponibile, mentre con MemoryInUseLbl si pu≥ ottenere la percentuale di memoria fisica occupata.

Procedure TAboutBox.FormCreate(Sender: TObject);
var
  MemoryStatus: TMemoryStatus;
begin
  GlobalMemoryStatus(MemoryStatus);
  PhysicalAvMemLbl.Caption := FormatFloat('#,###" KB"', MemoryStatus.dwTotalPhys / 1024);
  MemoryInUseLbl.Caption := Format('%d %%', [MemoryStatus.dwMemoryLoad]);
end;
	  

Come impostare le proprietα comuni a pi∙ controlli

Capita spesso di dover settare la medesima proprietα su pi∙ controlli: un caso tipico Φ la proprietα visible o anche enabled nelle interfacce. La procedura allegata al CD si occupa proprio di impostate la proprietα visible di un gruppo di oggetti TControl. La stessa procedura pu≥ essere facilmente modificata ed estesa per accedere ad altre proprierα degli oggetti. Un esempio di come utilizzare la procedura:
SetVisibleProp([NewBtn,OpenBtn,SaveBtn],UserState <> usNotAuthorized);
	  
Ed ecco il codice relativo alla procedura:

Procedure SetVisibleProp(Const ControlSet: array of TControl; Const NewState: Boolean);
Var
  i: Integer;
Begin
  for i:= Low(ControlSet) to High(ControlSet) do Begin
    TControl(ControlSet[i]).Visible := NewState;
  End;
End;