Du misst einfach die Zeit die dein Programm benötigt um eine kleine Anzahl von Wörtern benötigt, dann rechnest du die Zeit hoch auf die Gesamtzahl der Wörter die zusammen gesetzt werden sollen. Die Restzeit kannst du nach jedem Schleifendurchlauf aktualisieren. In etwa so:
Delphi-Quellcode:
Startzeit := GetTickCount();
Label.Caption := 'geschätzte Restzeit: unbekannt';
for i:=1 to GesAnzahl do
begin
... mach einen Schritt ...
zwischenZeit := GetTickCount();
benötigteZeit := zwischenZeit - Startzeit;
restZeit := (benötigteZeit div i) * (GesAnzahl - i);
Label.Caption := 'geschätzte Restzeit: ' + restZeit + ' Sekunden';
end;
Label.Caption := '';
So ungefähr sollte es Funktionieren. Den Pseudocode musst du halt ausformulieren, auch die Umrechnung von GetTickCount() in Sekunden. Oder wie auch immer du das anzeigen willst.
Ist es das was du meinst? Oder willst du die Zeit wissen bevor du überhaupt die Schleife startest? Letzteres dürfte schwierig sein, auch weil die Ausführungszeit von PC zu PC verschieden ist.