try
{ tworzenie zmiennej }
Can := TCanvas.Create;
{ przechwycenie uchwytu ekrnau }
Can.Handle := GetWindowDC(GetDesktopWindow);
{ tworzenie bitmapy }
B := TBitmap.Create;
B.Width := Screen.Width;
B.Height := Screen.Height;
B.Canvas.CopyRect(Rect(0, 0, Screen.Width, Screen.Height),
Can,
Rect (0, 0, Screen.Width, Screen.Height));
i := i+1; // dodawanie kolejnego numeru
try
{zapisujemy zrzut ekranu na razie do pliku BMP}
B.SaveToFile(Driver.Text + Edit1.Text + inttostr(i) + '.bmp');
{nazwa dysku + nazwa pliku + dodaj kolejny nr pliku + rozszerzenie BMP}
except // w wyniku bledu...
raise Exception.Create('Nieznany błąd w zapisie pliku...');
end;
finally
Can.Free;
B.Free;
end;
begin
try
{teraz konwersja z BMP do JPG, czyli 3300 kb do 180 kb}
B := TBitmap.Create;
B.LoadFromFile(Driver.Text + Edit1.Text + inttostr(i) + '.bmp');
JPG := TJPEGImage.Create;
JPG.Assign(B);
JPG.SaveToFile(Driver.Text + Edit1.Text + inttostr(i) + '.jpg');
finally
B.Free;
JPG.Free;
begin
try
{teraz trzeba plik BMP usunąć pozostawiony po konwersji}
DeleteFile(Driver.Text + Edit1.Text + inttostr(i) + '.bmp');
licznik.Increase;
except
raise Exception.Create('Błąd przy tworzeniu zrzutu...');
end;
end;
end;
end;
Mamy tak procedure w jaki sposob dodac do niej Progresbar???
Zeby podczas robienia zrzut byl pasek postepu.