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