AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi "MineSweeper" - Probleme mit Rundtime-Buttons
Thema durchsuchen
Ansicht
Themen-Optionen

"MineSweeper" - Probleme mit Rundtime-Buttons

Ein Thema von 64Jabor · begonnen am 2. Okt 2008 · letzter Beitrag vom 2. Okt 2008
 
64Jabor

Registriert seit: 9. Jan 2008
158 Beiträge
 
Delphi 7 Personal
 
#1

"MineSweeper" - Probleme mit Rundtime-Buttons

  Alt 2. Okt 2008, 17:40
Hallo DP,

ich stehe mal wieder kurz vorm Verzwefeln -.-

Ich sitze atm an einer MineSweeper-Version und habe für die Minenfelder Runtime-Buttons erstellt.
Die werden alle erstellt, sind sichtbar und funktionieren alle sehr gut.
Aber wenn ich dann anhand der Mausposition versuche herauszufinden, welcher der Buttons gedrückt worden ist, bekomme ich seltsame Ergebnisse!

Hier mal der Code:
Delphi-Quellcode:
procedure TFrmMS.MineBtnDadClick(Sender: TObject);
var x, y: integer;
    RealPosX, RealPosY: integer;
    Found: boolean;
begin
 RealPosX := Mouse.CursorPos.X - Left;
 RealPosY := Mouse.CursorPos.Y - Top ;
 ShowMessage(IntToStr(RealPosX)+', '+IntToStr(RealPosY));
 x:=0;
 repeat
  begin
   if ((MineBtn[x, 0].Left < RealPosX) and (MineBtn[x, 0].Left + MineBtn[0, 0].Width > RealPosX)) then
    begin
     y:=0;
     repeat
      begin
       if ((MineBtn[x, y].Top < RealPosY) and (MineBtn[x, y].Top + MineBtn[x, y].Height > RealPosY)) then Found := TRUE;
       y:=y+1;
      end;
     until ((y = RowsForLevel) or Found);
    end;
   x:=x+1;
  end;
 until ((x = ColsForLevel) or Found);
 Aufdecken(x, y);
end;
Das ist die Prozedur, die ausgelöst wird wenn IRGENDEINER meiner Runtime-Buttons gedrückt wird.
(MineBtn ist ein Array aus TSpeedButtons (groß genug!) und Rows/ColsForLevel sind integers, der Name erklärt den Rest)
Misteriöserweise bekomme ich immer ein "y" welches 2 zuviel ist als es eingentlich sein müsste und wenn ich das einfach korrigiere indem ich später sage y ist y-2, dann erhalte ich immer Fehler wenn ich Buttons der rechten unteren Ecke drücke.
Also iwas stimmt da nicht, aber ich kann den Fehler nicht finden...

Wer kann helfen?
Danke schonmal, greetZ DaSebi
Sebastian
Unsren Clan im volle Lauf, hält weder Ochs noch Esl auf ^^
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz