Fórum Procedure só ser executada mediante uma situação. #319238

16/04/2006

0

tipo eu tenho uma procedure ake....


mas eu queria que ela só fosse executada caso uma determinada condição seja satisfeita. Exemplo:

if A = B then
procedure

end;

tem como fazer isso?? eu incluo ela no ´Type´ do código?


Anovat

Anovat

Responder

Posts

16/04/2006

Kroki

Poderia explcar melhor,me parece que vc mesmo se respondeu...


Responder

Gostei + 0

16/04/2006

Anovat

essa procedure aki:
uses JPEG;

procedure TForm1.Button1Click(Sender: TObject);
var nomeArq:string;
   ano, mes, dia, hor, min, seg, Mseg:word;
begin
   try
   Image1.picture.Assign(CaptureScreenRect(Rect(0,0,Screen.Width,Screen.Height)));
   DecodeDateTime(Now,ano,mes,dia,hor,min,seg,mseg);
   nomeArq := IntToStr(ano)+FormatFloat(´00´,mes)+IntToStr(dia)+´-´+IntToStr(hor)+IntToStr(min)+IntToStr(seg);
   nomeArq := ´C:\Teste\´+nomeArq;
   BmpToJpg(image1.picture.Bitmap, nomeArq);
   except
   end;
end;

function CaptureScreenRect( ARect: TRect ): TBitmap;
var ScreenDC: HDC;
begin
   Result := TBitmap.Create;
   with Result, ARect do
      begin
      Width := Right - Left;
      Height := Bottom - Top;
      ScreenDC := GetDC( 0 );
      try
      BitBlt( Canvas.Handle, 0, 0, Width, Height, ScreenDC, Left, Top, SRCCOPY );
      finally
      ReleaseDC( 0, ScreenDC );
      end;
      end;
end;

function BmpToJpg(cImage: tbitmap; nomeJpg:string): Boolean;
var jp: TJpegImage;
begin
   jp := TJpegImage.Create;
   try
   with jp do
      begin
      Assign(cImage);
      SaveToFile(nomeJpg+´.jpg´)
      end;
   finally
   jp.Free;
   end;
end;


ela gera uma foto .JPG ...
mas eu queria que essa procedure só fosse executada caso acontecesse uma situação...

eu pensei em fazer:

if A = B then
procedure
end;

mas eu nao sei se isso seria um comando válido...

e nao sei tb se eu devo ou nao declarar ela la no ´Types´.


Responder

Gostei + 0

16/04/2006

Kroki

Se eu entendí é só vc eliminar o conteudo do ButtonClick e cria a procedure;
procedure TForm1.Captura;//TForm1 se for esse o nome do seu Form
var nomeArq:string;
ano, mes, dia, hor, min, seg, Mseg:word;
begin
try
Image1.picture.Assign(CaptureScreenRect(Rect(0,0,Screen.Width,Screen.Height)));
DecodeDateTime(Now,ano,mes,dia,hor,min,seg,mseg);
nomeArq := IntToStr(ano)+FormatFloat(´00´,mes)+IntToStr(dia)+´-´+IntToStr(hor)+IntToStr(min)+IntToStr(seg);
nomeArq := ´C:\Teste\´+nomeArq;
BmpToJpg(image1.picture.Bitmap, nomeArq);
except
end;
end;

If a=b then Capture;
Declara em Type;
procedure Capture;


Responder

Gostei + 0

16/04/2006

Kroki

Errei o nome.
Em ´If a=b then Captura´.//poe o nome na procedure que quiser.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar