Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa Screen Capture

[es] :: Pascal / Delphi / Kylix :: Problem sa Screen Capture

[ Pregleda: 1837 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

AlexK

Član broj: 132197
Poruke: 19
*.sbb.co.yu.



Profil

icon Problem sa Screen Capture15.05.2007. u 14:16 - pre 206 meseci
Pozdrav,
Napravio sam mali program koji radi screen capture.
Pritiskom na button on u lokalnom folderu naprvi fajl slika.jpg.Sve je to ok ali imam mali problem.
Kako da napravim da ponovnim pritiskom na button napravi slika2.jpg pa slika3.jpg i tako dalje a ne da
radi overwrite????

CODE:

//************ CaptureScreen ***********
procedure TForm1.CaptureScreen(name: string);
var
bmp:TBitmap ;
Dc:HDC;
jpg:TJPEGImage;

begin
jpg:=TJPEGImage.Create;
bmp:=TBitmap.Create ;
bmp.Height :=Screen.Height ;
bmp.Width:=Screen.Width ;
dc:=GetWindowDC(GetDesktopWindow );
BitBlt(bmp.Canvas.Handle ,0,0,Screen.Width,Screen.Height,Dc,0,0,SRCCOPY );
releaseDC(GetDesktopWindow,dc);
with jpg do begin
Assign(bmp);
SaveToFile(name);
end;
bmp.Free;
jpg.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CaptureScreen('slika.jpg')
end;
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem sa Screen Capture15.05.2007. u 15:08 - pre 206 meseci
> Kako da napravim da ponovnim pritiskom na button napravi slika2.jpg pa slika3.jpg
> i tako dalje a ne da radi overwrite????

Nađeš prvi slobodni fajl i proslediš funkciji za capture. Npr.

Code:

var
  b: Integer;
  FileName: string;
begin 
  b := 1;
  FileName := 'C:\tmp\Proba.jpg';
  while FileExists(FileName) do
  begin
     FileName := Format('C:\tmp\Proba%d.jpg', [b]);
     Inc(b);
  end;

  CaptureScreen(FileName);
end;

 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
77.46.249.*



+31 Profil

icon Re: Problem sa Screen Capture15.05.2007. u 17:10 - pre 206 meseci
Definisi jednu globalnu promenjivu
redniBrojSlike:Integer;
var
Form1: TForm1;
redniBrojSlike:Integer;

Zatim joj u proceduri za kreiranje forme dodelis vrednost

procedure TForm1.FormCreate(Sender: TObject);
begin
redniBrojSlike:=0;
end;

zatim prepravis
procedure TForm1.Button1Click(Sender: TObject);
begin
CaptureScreen('slika.jpg'+Inttostr(redniBrojSlike));
Inc(redniBrojSlike);
end;
 
Odgovor na temu

AlexK

Član broj: 132197
Poruke: 19
*.sbb.co.yu.



Profil

icon Re: Problem sa Screen Capture16.05.2007. u 14:56 - pre 206 meseci
hvala
 
Odgovor na temu

AlexK

Član broj: 132197
Poruke: 19
*.sbb.co.yu.



Profil

icon Re: Problem sa Screen Capture16.05.2007. u 14:57 - pre 206 meseci
hvala
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem sa Screen Capture

[ Pregleda: 1837 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.