Autor Beitrag
NetSpider
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 123

Windows XP Pro
Delphi 7 Enterprise
BeitragVerfasst: Do 19.07.07 19:07 
Hi,

hab ein Problem und weiss nicht weiter --> Delphi-Forum-Beitrag schreiben...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
function GetGrayed(aRec: TRect): TRect;
var m, n: TRect;
begin
Result := aRec;
if aRec = m then Result := n;
end;


Also, ich moechte diese Rects vergleichen, sind sie gleich wird er geaendert. Es geht darum verschiedene Images aus einem grossen Image zu laden (von jedem Objekt gibt es 2 Zustaende Normal und Grayed).
Mein Objekt ist jetzt Normal - sende ich dieses Rect an die Funktion, wuerde ich die Position des Grayed-Objekts erhalten. Leider funktioniert es nicht.

Folgende Compiler-Meldung:
[Pascal Error] GraphicConsts.pas(114): E2015 Operator not applicable to this operand type

Soll das heissen, dass ich keine Vergleiche von Rects machen kann?
Also, dann wird man wohl ne eigene Vergleichs-Routine schreiben muessen, oder?

Danke - lg, NetSpider

_________________
Wer in die Fußstapfen anderer tritt hinterlässt keine eigenen Spuren!
NetSpider Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 123

Windows XP Pro
Delphi 7 Enterprise
BeitragVerfasst: Do 19.07.07 19:12 
Also - Umwege fuehren auch nach ROM:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
function CompareRect(Rect1, Rect2: TRect): Boolean;
begin
Result := true;
if (Rect1.Left <> Rect2.Left) or
   (Rect1.Top <> Rect2.Top) or
   (Rect1.Right <> Rect2.Right) or
   (Rect1.Bottom <> Rect2.Bottom)
   then Result := false;
end;


So... Habs geaendert.

_________________
Wer in die Fußstapfen anderer tritt hinterlässt keine eigenen Spuren!


Zuletzt bearbeitet von NetSpider am Do 19.07.07 19:39, insgesamt 1-mal bearbeitet
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 19.07.07 19:21 

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Do 19.07.07 19:52 
Dann muss man also prüfen, ob die Schnittfläche gleich einem der Rechtecke ist...
Irgendwie ist man damit nicht weiter als davor. :wink:

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 19.07.07 20:30 
Eigentlich meinte ich speziell diese Zeile:
ausblenden Delphi-Quelltext
1:
IsCol := (A.Left <= B.Right) AND (A.Right >= B.Left) AND (A.Top <= B.Bottom) AND (A.Bottom >= B.Top);					

Wenn True, dann sind die 2 Rechtecke übereinander, ansonsten nicht.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)