// Ein Schriftzug (TLabel) fällt bei Programmstart von oben herab bis zu
// einer festgelegten Stelle und prallt etwas zurück.


// Getestet mit D2010 unter Win7
 

const 
  geschwindigkeit = 12; // mindestens 8 
 
var 
  step, zaehler: shortint; 
  stelle, oben: integer; 
  ende: boolean; 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
  // --- kann im Objektinspektor eingestellt werden --- 
  Timer1.Interval := 0; 
  Label1.Font.Name := 'Times New Roman'; 
  Label1.Caption := 'DBR-Software'; // z.B. 
  Label1.Font.Size := 20; 
  Label1.Font.Style := [fsBold]; 
  // --------------------------------------------------- 
 
  stelle := clientheight - Label1.Height - 100; // z.B. 
  Label1.Top := -Label1.Height; 
  oben := stelle - 36; 
  ende := false; 
end; 
 
procedure TForm1.FormShow(Sender: TObject); 
begin 
  if not ende then 
  begin 
    zaehler := 11; 
    step := 5; 
    Timer1.Interval := geschwindigkeit; 
  end; 
end; 
 
procedure TForm1.Timer1Timer(Sender: TObject); 
  function drei: shortint; 
  begin 
    result := Timer1.Interval + geschwindigkeit div 3; 
  end; 
 
begin 
  if zaehler < 1 then 
  begin 
    step := 3; 
    ende := true; 
  end; 
 
  if step < 0 then 
  begin 
    if Label1.Top <= oben then 
    begin 
      sleep(75); 
      step := abs(step); 
    end; 
    Timer1.Interval := drei; 
    dec(zaehler); 
  end; 
 
  if Label1.Top >= stelle then 
  begin 
    if ende then 
    begin 
      Timer1.Interval := 0; 
      Label1.Top := stelle; 
      exit; 
    end 
    else 
    begin 
      step := -step; 
      Timer1.Interval := drei; 
    end; 
  end; 
 
  Label1.Top := Label1.Top + step; 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke