Autor Beitrag
r@cer
Hält's aus hier
Beiträge: 13

Win 7, Ubuntu 10.10
Delphi 5 Prof., Lazarus
BeitragVerfasst: So 17.04.11 14:19 
Hallo ...

wie ein paar einzelne vielleicht schon unter "Problem mit ImageClick-procedure" gelesen haben, bin ich gerade mit Minesweeper beschäftigt. Mit dem eigentlichen Programmablauf des Spiels bin ich soweit ganz zufrieden. Ich habe jetzt aber noch ein Hauptmenü hinzugefügt mit Menu-Items wie z.B. "Spiel starten" oder "Optionen" usw.
Bei einem Klick auf Optionen öffnet sich, mit Hilfe eines zweiten Formulares, ein neues Fenster in dem man früher oder später den Schwierigkeitsgrad auswählen können soll oder auch eine Sound-Einstellung. Da ich die Sound-Einstellung zuerst in die Tat umsetzten möchte, hier eine kurze Erklärung:
In Unit1 habe ich eine Image.Click-Prozedur (da ich meine Spielfelder Bilder sind). Bei einem Klick auf ein Feld möchte ich mit windows.beep einen Ton erzeugen und mit einer Checkbox "Sound" soll man das ganze ein oder ausschalten können.
In die Tat umsetzen könnte man das folgendermaßen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
if sound.Checked=true then begin
  if bombe_getroffen=false then begin windows.beep(500,400); end
  else if bombe_getroffen=true then begin windows.beep(400,800); end;
end;


Vom Prinzip her ist es selbst für einen Anfänger wie mich, ziemlich einfach. Jedoch hab ich das Problem, dass sich die Image.Click-Prozedur in der Unit1 und die Checkbox auf dem zweiten Formular befindet. Das heißt die Checkbox müsste man ja eigentlich mit der Unit2 programmieren.
Jetzt weiß ich eben nicht wie ich das ganze "unit-übergreifend" schreiben soll.
Ich habe zuvor, damit das Fenster "Optionen" überhaupt erscheint, mit dem Befehl Form2.Show; oder Optionen.Show; etwas ähnliches gemacht. Da wurde ja auch in unit1 das Fenster von unit2 aufgerufen (ich musste dafür oben "uses Unit2" eintragen).
Aber anscheinend geht es diesmal etwas anders.

ich würde mich über ein paar Tipps zu diesem Problem freuen :)

Gruß r@er
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: So 17.04.11 14:30 
Wenn du schon "uses unit2" hast, dann bist du im Prinzip am Ziel. Mit Form2.Checkbox1.checked müsstest du auf die Checkbox in Form2 aus Form1 heraus zugreifen können.

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
HenryHux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: So 17.04.11 14:40 
Und btw :
Nicht auf True prüfen!
-> www.delphipraxis.net...efen.html#post529920