Einzelnen Beitrag anzeigen

Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#32

Re: Image wieder blank machen

  Alt 29. Okt 2007, 19:59
Hallo Avicenna,

ich habe einfach deinen Quellcode genommen und ihn ein wenig korregiert.
Ich habe die Funktion zwar nicht getestet, aber hoffe, dass sie so funktioniert.
Was ich neu eingefügt oder verändert habe, habe ich kommentiert.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   if stunde < 10 then
      ausgabestd:='0'+inttostr(stunde)
   else // wenn's nicht kleiner 10 ist, ist es größer oder gleich 10
      ausgabestd:=inttostr(stunde);
      
   if minute < 10 then
      ausgabemin:='0'+inttostr(minute)
   else
      ausgabemin:=inttostr(minute);
      
   if sekunde < 10 then
      ausgabesek:='0'+inttostr(sekunde)
   else
      ausgabesek:= inttostr(sekunde);

   sekunde := sekunde + 1;
 
   if sekunde > 59 then
   begin // Schreibe _niemals_ ein ; hinter ein begin. Das gehört da einfach nicht hin!
      sekunde:=0;
      minute:=minute+1;
      image1.invalidate;
   end;
   if minute > 59 then
   begin
      minute:=0;
      stunde:=stunde+1;
   end;
   if stunde > 59 then
      stunde:=0;

   label1.caption := 'Zeit:'+ausgabestd+':'+ausgabemin+'.'+ausgabesek;

  image1.canvas.ellipse(10+6*sekunde,10,15+6*sekunde,15);

   if sekunde >= 59 then
      Image1.Canvas.FillRect(Rect(0, 0, Image1.Picture.Width, Image1.Picture.Height));
   // Hierzu folgende Erklärung:
   // Die Methode FillRect füllt ein angegebenes Rechteck mit der in clBrush angegebenen Farbe (Standard ist imho weiß)
   // Das zu füllende Rechteck Legen wir mit der Funktion Rect fest. Dieser Funktion müssen wir die Koordinaten
   // der Eckpunkte oben-links und unten-rechts angeben.
   // Oben-links ist ganz einfach. Da es der Ursprung ist, sind die Koordinaten 0 und 0.
   // Unten-rechts Sind die Koordinaten die Breite des Bildes und die Höhe des Bildes (Wir wollen ja die ganze Fläche füllen).
   // Die Breite bekommen wir mit Image1.Picture.Width heraus. Die Höhe äquivalent dazu mit Image1.Picture.Height

end

end;
EDIT:
Noch was vergessen:
Du solltest deinen Quellcode ein wenig formatieren. Vorallem die Einrückung macht das ganze wesentlich übersichtlicher. Sonst blickst du vorallem bei größeren Mengen an Quellcode schnell überhaupt nicht mehr durch.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat