![]() |
[D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Hallo - tolles Forum!!
Ich habe eine kleine Logikfrage, da ich noch nicht lange VCL-Anwendungen mache, schaff ich das nicht ganz alleine. Hier das Problem: Ich habe 6 Buttons im Fenster. 3 oben 3 unten Es sind aber immer nur entweder die 3 oberen oder die 3 unteren sichtbar. Welche zuerst sichtbar sind, legt am Start ein Random Zufallsgenerator fest. Beispiel: die oberen werden ausgeblendet - man kann nur auf einen der 3 unteren klicken - geschieht dies, verschwinden die unteren und die oberen werden sichtbar - das gleiche Spiel immer so weiter.. Wie kann ich es machen, dass nach jeder zweiten Runde, etwas spezielles passiert (z.B. showmessage oder was weis ich ^^). Mit 2 Runden meine ich entweder (je nach Zufallsstart) oben,unten,oben,unten,SPEZIALAKTION,oben,unten,obe n,unten,.... oder halt das ganze beginnend mit unten (je nach Zufallsstart). Wie gesagt, das Programm funktioniert soweit, nur möchte ich diese SPEZIALAKTION einbauen, weis aber nicht wie ich diese auslösen kann. Ich habe mir schon überlegt dass nach jedem Buttonklick eine Variable +1 erhält und immer wenn diese Variable dann 4 ist, kommt die Spezialaktion und die Variable wird wieder 0, dann das gleiche immer wieder. Aber ich weis nicht wie ich damit z.B. eine showmessage aktivieren kann. Wo muss ich dann reinschreiben "if variable = 4 then do...."? Huch.. etwas sehr ausführlich, naja lasst euch nicht verwirren, ich wollte nur dass es auch keine Missverständnisse gibt - falls ihr etwas nicht nachvollziehen könnt, fragt einfach :) Ich hoffe jemadn kann mir weiterhelfen. :) Denkt dran, ich bin Anfänger :D |
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Du kannst ja einen Zähler mitlaufen lassen,
wenn Du die Buttons in ihrer Sichtbarkeit änderst (oben oder unten) wird der Zähler um eins erhöht. Ist der Zähler auf 4 angewachsen kannst Du deine Spezialaktion starten. Ups, wie peinlich - hätte ich doch etwas genauer lesen sollen. Grüße Klaus |
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Zitat:
|
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Hi,
Das Mitzählen und ggf. Reagieren auf den Inhalt von [Valiable] würde ich in eine eigene Prozedur schreiben und diese dann mit jedem Umschalten der Buttons aufrufen. |
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Ah - sehr gute Antworten. :thumb: Und das so schnell! Ihr freut euch auch mal, wenn jemand was einfaches hier fragt, stimmts? :)
Also ich werde eine extra Prozedur machen, die den Wert der Variablen bei jedem Knopfdruck prüft. Gute Idee! :spin2: Das sollte funktionieren! Danke ihr drei!! Danke! |
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Also ich hab jetzt über dem "end."
Code:
geschrieben.
procedure Spezial(spez:integer);
... Wenn ich die Prozedur aber bei dem Buttonclick aufrufen möchte (
Code:
) bricht er beim compilieren mit "undefinierter Bezeichner" ab!
Spezial;
In der Delphi-Hilfe habe ich nichts brauchbares finden können.. außer das man Prozeduren mit deren Namen aufrufen kann. Tja, zu früh gefreut :mrgreen: |
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
entweder die prozedure nach VOR setzen (also vor deinem aufruf)
oder besser die prozedure in die Klasse der Form einbauen also :
Delphi-Quellcode:
und auch oben in die public oder protected sektion der klassendefinition rein
procedure TForm1.Spezial(spez:integer);
begin ... end;
Delphi-Quellcode:
protected
procedure Spezial(spez:integer); .... public |
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Hm danke für deinen Tipp - aber das haut bei mir nicht so richtig hin - der kommt mit den Variablen nicht so richtig klar (undefinierter Bezeichner).
Gibt es vielleicht ein Tutorial zu Prozeduren und deren Variablen in VCL Anwendungen? Ich blicke da grade selber nicht mehr so richtig durch - tut mir leid! :cry: |
Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Guten Morgen,
recht gute Tutorials findest Du hier -> ![]() Vielleicht zeigst Du uns einmal den Interface Teil Deiner Unit und auch wie Du die Prozedur/Methode im Implemantation Teil der Unit erstellt hast. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz