Written by nomorelogicposted in Lazarus 1.0 Settembre 04, 2014, 03:29:00 pm22271 ViewsRating: 0 (0 Rates)Print
In questo articolo andremo ad implementare una wait animation. Si tratta di una semplice animazione grafica che girerà su un thread separato rispetto a quello principale dell'applicazione.
Quando si sviluppa una applicazione destinata ad avere un certo numero di form, è bene prevedere che tutte abbiamo lo stesso comportamento. Se poi a lavorare sullo stesso progetto c'è più di uno sviluppatore allora un metodo comune di lavoro diventa obbligatorio. Solitamente si dice che si devono definire degli standard di sviluppo.
Quello che segue è il sorgente completo di un programmino da console che serve a fare un paio di test di questa caratteristica. Dopo il codice alcuni commenti.
{$IFDEF USE_ADVANCED_RECORD_SYNTAX} procedure TCliente.WriteIndirizzo(tipo: TTipoIndirizzo); begin WriteLn(RagSociale);
// test output case tipo of tiSedeLeg: if (SedeLegale.Indirizzo = '') and (SedeLegale.CAP = '') and (SedeLegale.Citta = '') and (SedeLegale.Prov = '') then tipo := tiSedeOp; tiSedeCon: if (SedeConsegna.Indirizzo = '') and (SedeConsegna.CAP = '') and (SedeConsegna.Citta = '') and (SedeConsegna.Prov = '') then tipo := tiSedeOp; end;
// output case tipo of tiSedeOp: begin Writeln(SedeOperativa.Indirizzo); Writeln(SedeOperativa.CAP, ' - ' , SedeOperativa.Citta, ' (', SedeOperativa.Prov, ')'); end; tiSedeLeg: begin Writeln(SedeLegale.Indirizzo); Writeln(SedeLegale.CAP, ' - ', SedeLegale.Citta, ' (', SedeLegale.Prov, ')'); end; tiSedeCon:begin Writeln(SedeConsegna.Indirizzo); Writeln(SedeConsegna.CAP, ' - ', SedeConsegna.Citta, ' (', SedeConsegna.Prov, ')'); end; end; end; {$ENDIF}
begin
WriteLn('Test Advanced Record Syntax'); Write('Advanced Record Syntax: '); {$IFDEF USE_ADVANCED_RECORD_SYNTAX} WriteLn('ON'); {$ELSE} WriteLn('OFF'); {$ENDIF}
WriteLn('Size TCliente: ', SizeOf(Cliente));
with Cliente do begin ID:= 1; RagSociale:='Lazarus Enterprises Inc.'; ParIva := 'IT01234567890';
With SedeOperativa do begin Indirizzo := 'Via dei mille nr. 999'; CAP := '12345'; Citta := 'Firenze'; Prov := 'FI'; end;
With SedeConsegna do begin Indirizzo := 'Via dei bancali nr. 541'; CAP := '55442'; Citta := 'Ancona'; Prov := 'AN'; end;