Betreffs des Eingangsproblems:
Man könnte das durchaus mit einem Timer sehr elegant lösen.
Man nimmt sich eine (integer) Zählvariable, die auf Null gesetzt wird.
Diese wird im Timer-Ereignis jedesmal erhöht.
Je nach ihrem Wert kann in einer Case-Anweisung bestimmt werden, was passieren soll.
Ich nenne sie hier mal Phase.
Delphi-Quellcode:
procedure TfrmMain.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=False;
case Phase of
1: begin
//erstes Panel beschriften, sichtbar, Refresh
Timer1.Interval:=1500; //1,5 sek
end;
2: begin
//zweites Panel beschriften, sichtbar, Refresh
Timer1.Interval:=1000; //1 sek
end;
3: begin
//drittes Panel beschriften, sichtbar, Refresh
Timer1.Interval:=2000; //2 sek
end;
//beliebig erweiterbar....
end;
inc(Phase);
if Phase < 4 then //maximalwert der Phase + 1, ansonsten wird der Timer nicht mehr enabled
Timer1.Enabled:=True; //nächsten Intervall durchlaufen
end;
So kann man beliebige Aktionen in einer festlegbaren Reihenfolge ausführen.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)