Einzelnen Beitrag anzeigen

Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#1

"Sanduhr" Funktion / "Programm arbeitet"

  Alt 10. Sep 2018, 12:38
Hallo,

in einer meiner Programme wollte ich Wissen, ob mein Programm noch arbeitet oder ob es irgendwo "hängt". Um einfach eine Bewegung anzuzeigen, wie die gute alte Sanduhr die sich bewegte wenn die Anwendung etwas machte, habe ich eine kleine Funktion geschrieben.

Vielleicht kann auch jemand anders gebrauchen:


Delphi-Quellcode:
procedure working(labela: TLabel);
var
    //zeichen1: array[1..4] of string = ('1','2','3','4');
    //zeichen1: array[1..4] of string = ('←','↑','→','↓');
    //zeichen1: array[1..4] of string = ('░','▒','▓','█');
    zeichen1: array[1..2] of string = ('','');
    //zeichen1: array[1..5] of string = ('ᚋ','ᚌ','ᚍ','ᚎ','ᚏ');
    i,a,nicht_vorhanden,stop: integer;
begin

  labela.Font.Name := 'Times New Roman';
  labela.Font.Style := [fsBold] ;
  labela.Font.Size := 15;

  nicht_vorhanden := 0;
  stop := 0;
   for i := 1 to length(zeichen1) do begin
      Application.ProcessMessages;
      if labela.caption = zeichen1[i] then begin
       if i = length(zeichen1) then begin
         labela.Caption := zeichen1[1];
       end else begin
          labela.Caption := zeichen1[i+1];
       end;
       nicht_vorhanden := 1;
       break;
      end;
   end;

  if nicht_vorhanden = 0 then begin
    labela.Caption := zeichen1[1];
  end;
end;

Die Anwendung ist ganz einfach:

Ein Label auf die Form setzen. Und die Funktion einfach in die zu arbeitende Stellen setzen.

Delphi-Quellcode:
// ... hier wird was berechnet, va. in einer Schleife?
     working(Label1);
// ... hier wird was berechnet
Bei den Zeichen kann man eigene auswählen, ich habe ein paar Beispiele auskommentiert dazu geschrieben (evtl. können nicht alle Zeichen verwendet werden, dann einfach andere auswählen).

LG
Monday

Geändert von Monday (10. Sep 2018 um 12:41 Uhr)
  Mit Zitat antworten Zitat