3
如何比較TRect類型的兩個變量?如何比較D7中的兩個TRect變量?
var
r1, r1: TRect;
begin
if (r1 = r2) then
...
end;
由於上述原因,我得到:不兼容的類型。
謝謝!
如何比較TRect類型的兩個變量?如何比較D7中的兩個TRect變量?
var
r1, r1: TRect;
begin
if (r1 = r2) then
...
end;
由於上述原因,我得到:不兼容的類型。
謝謝!
如果你有一個現代的Delphi,那麼這個代碼就可以編譯和工作。現代Delphi版本中的TRect
利用運算符重載來重載相等運算符。由於Delphi記錄中沒有內置的相等運算符,因此您無法在Delphi 7中使用該語法。
沒有編譯器的幫助,你需要一個輔助函數。你可以寫你自己:
function EqualRect(const r1, r2: TRect): Boolean;
begin
Result := (r1.Left=r2.Left) and (r1.Right=r2.Right) and
(r1.Top=r2.Top) and (r1.Bottom=r2.Bottom);
end;
雖然,作爲@Sertac指出,還有一點需要編寫自己的EqualRect
時,你可以使用Windows API function of the same name。
..或使用'windows.EqualRect'。 – 2012-08-03 13:53:51