AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bingo Karte

Ein Thema von jurkup · begonnen am 1. Jan 2017 · letzter Beitrag vom 1. Jan 2017
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#1

AW: Bingo Karte

  Alt 1. Jan 2017, 13:22
Das wäre dann in meinem Beispiel innerhalb von DoOnPanelClick, statt des ShowMessage dann halt auf Gleichheit prüfen und entsprechend reagieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
jurkup

Registriert seit: 31. Dez 2016
6 Beiträge
 
#2

AW: Bingo Karte

  Alt 1. Jan 2017, 13:45
Tut mir leid ich stehe auf dem Schlauch. habe das jetzt so versucht:
Delphi-Quellcode:
 var Pan : string;
begin

 if sender is TPanel then
    Begin
    Pan := Form1.TPanel(Sender).Caption;

    If Pan = Ziehung then
       begin
       sender(TPanel).Enabeld := false;
       sender(TPanel).Color := clRed;
       end;
    end;
Hab leider echt keinen Plan davon.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#3

AW: Bingo Karte

  Alt 1. Jan 2017, 13:49
Form1 hat da nichts zu suchen, und Du castest falsch herum. So sollte es klappen (ungetestet, da im Editor getippt):
Delphi-Quellcode:
var
  Pan : string;
  Panel: TPanel;
begin
  if Sender is TPanel then
    begin
      Panel := TPanel(Sender);
      Pan := Panel.Caption;

      If Pan = Ziehung then
        begin
          Panel.Enabled := false;
          Panel.Color := clRed;
        end;
    end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
jurkup

Registriert seit: 31. Dez 2016
6 Beiträge
 
#4

AW: Bingo Karte

  Alt 1. Jan 2017, 14:51
Super genau das habe ich gesucht. Vielen Dank.

Eine Frage hab ich noch. Wo muss ich die Allgemeine Procedur den schrieben, die ich dann in den Events der Panels benutze? hab die bis jetzt immer einfach direkt nach der Implementation geschrieben:
Delphi-Quellcode:
implementation

{$R *.lfm}

{ TForm1 }

procedure TestB;
var
  Pan : string;
  Panel : TPanel;
begin
if sender is TPanel then
   Begin
   Panel := TPanel(sender);
   Pan := 'B'+Panel.Caption;

   If Pan = Ziehung then
      begin
      Panel.Enabled := false;
      Panel.Color := clRed;
      end;
   end;
end;
Aber so bekomme ich eine Fehlermeldung wegen dem sender.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#5

AW: Bingo Karte

  Alt 1. Jan 2017, 15:01
Schau Dir doch mein Beispiel noch einmal genau an, da gibt es auch keine parameterlose reguläre Prozedur.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#6

AW: Bingo Karte

  Alt 1. Jan 2017, 13:47
Ich habe mal ein Beispiel geschrieben [...]

Jetzt die einzelnen Methoden: InitializePanels erzeugt die Panels zur Laufzeit, richtet sie aus und weist ihrer Tag-Eigenschaft eine zufällige Zahl zu. Diese wird auch gleich mit dargestellt.
Delphi-Quellcode:
procedure TForm1.InitializePanels;
[...]
[...]
Anmerkung zur Vollständigkeit: Der Aufruf dieser Funktion besorgt sich (im TPanel.Create(self) ) Speicher für die Panels. Diesen Speicher solltest du in deinem Destruktor (spätestens) wieder mit Panel.Free für jedes einzelne Panel aus dem Array freigeben. Ich weiß, dass das jetzt nicht zur Beantwortung der primären Frage dieses Threads beiträgt...

Ich habe damals beigebracht bekommen, dass man am Besten zeitnah für jedes Create, das man schreibt, ein Free spendiert. Vielleicht hilft dir dieser Tipp noch weiter...

Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bingo Karte

  Alt 1. Jan 2017, 17:19
Ich habe mal ein Beispiel geschrieben [...]

Jetzt die einzelnen Methoden: InitializePanels erzeugt die Panels zur Laufzeit, richtet sie aus und weist ihrer Tag-Eigenschaft eine zufällige Zahl zu. Diese wird auch gleich mit dargestellt.
Delphi-Quellcode:
procedure TForm1.InitializePanels;
[...]
[...]
Anmerkung zur Vollständigkeit: Der Aufruf dieser Funktion besorgt sich (im TPanel.Create(self) ) Speicher für die Panels. Diesen Speicher solltest du in deinem Destruktor (spätestens) wieder mit Panel.Free für jedes einzelne Panel aus dem Array freigeben. Ich weiß, dass das jetzt nicht zur Beantwortung der primären Frage dieses Threads beiträgt...

Ich habe damals beigebracht bekommen, dass man am Besten zeitnah für jedes Create, das man schreibt, ein Free spendiert. Vielleicht hilft dir dieser Tipp noch weiter...

Brighty
Ich habe diesen Post gerade erst gesehen und antworte darum jetzt erst darauf: die Panels müssen nicht explizit freigegeben werden, da beim Erzeugen das Formular als Owner angegeben wurde. Dieser Owner gibt alle ihm zugeordneten Komponenten automatisch frei, sobald er selbst zerstört wird.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz