Olá, no código abaixo ao clicar no botão ele captura a tela e grava como Imagem.jpg, mas se eu clicar novamento no botão ele ira gravar novamente sobre o arquivo que foi gravado.
Pergunto então, como devo fazer para que o programa reconheça que o arquivo já existe e acrescente úm número no nome do novo arquivo para evitar que ele sobrescreva o arquivo existente?
procedure TForm1.Button1Click(Sender: TObject);
var bitmap : tbitmap;
jpg : tjpegimage;
dc : hdc;
desktoprect : trect;
desktopcanvas : tcanvas;
x, y : integer;
yy, xx: integer;
begin
dc:=getdc(getdesktopwindow);
try
desktopcanvas:=tcanvas.create;
bitmap:=tbitmap.create;
jpg:=tjpegimage.create;
try
bitmap.Width:=300;
bitmap.Height:=300;
desktopcanvas.handle:=dc;
desktoprect:=rect(0,0,300,300);
bitmap.canvas.CopyRect(desktoprect,desktopcanvas,desktoprect);
image1.Picture.Bitmap:=bitmap;
for y:=yy to yy+10 do
for x:=xx to xx+10 do
image1.canvas.pixels[x,y]:=clwhite;
with jpg do
begin
compressionquality:=50;
assign(bitmap);
compress;
savetofile('C:\Imagem.jpg'); <------------ eis a questão :blink:
end;
finally
bitmap.free;
desktopcanvas.free;
end;
finally
releasedc(getdesktopwindow,dc);
end;
end;
Editado por Micheus Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Pergunta
Aleksander
Olá, no código abaixo ao clicar no botão ele captura a tela e grava como Imagem.jpg, mas se eu clicar novamento no botão ele ira gravar novamente sobre o arquivo que foi gravado.
Pergunto então, como devo fazer para que o programa reconheça que o arquivo já existe e acrescente úm número no nome do novo arquivo para evitar que ele sobrescreva o arquivo existente?
Um abraço a todos. :)
---------------------------------------------------------
Editado por MicheusIncluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.