AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi [D6E] Logikfrage- 6 Buttons 1 externe Prozedur
Thema durchsuchen
Ansicht
Themen-Optionen

[D6E] Logikfrage- 6 Buttons 1 externe Prozedur

Offene Frage von "SeriousToni"
Ein Thema von SeriousToni · begonnen am 12. Jan 2007 · letzter Beitrag vom 13. Jan 2007
Antwort Antwort
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#1

[D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 17:24
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 17:30
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
Klaus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 17:32
Zitat:
Wo muss ich dann reinschreiben "if variable = 4 then do...."?
In der Eventmethode für den Button-Klick.
Markus Kinzler
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#4

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 17:35
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.
Gruß
Norman
  Mit Zitat antworten Zitat
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#5

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 17:50
Ah - sehr gute Antworten. 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! Das sollte funktionieren! Danke ihr drei!! Danke!
  Mit Zitat antworten Zitat
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#6

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 18:21
Also ich hab jetzt über dem "end."

Code:
procedure Spezial(spez:integer);
...
geschrieben.

Wenn ich die Prozedur aber bei dem Buttonclick aufrufen möchte (
Code:
Spezial;
) bricht er beim compilieren mit "undefinierter Bezeichner" ab!
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
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#7

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 18:29
entweder die prozedure nach VOR setzen (also vor deinem aufruf)

oder besser die prozedure in die Klasse der Form einbauen also :

Delphi-Quellcode:
procedure TForm1.Spezial(spez:integer);
begin
...
end;
und auch oben in die public oder protected sektion der klassendefinition rein
Delphi-Quellcode:
protected
   procedure Spezial(spez:integer);
   ....
public
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#8

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 12. Jan 2007, 18:43
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!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: [D6E] Logikfrage- 6 Buttons 1 externe Prozedur

  Alt 13. Jan 2007, 10:43
Guten Morgen,

recht gute Tutorials findest Du hier -> http://www.dsdt.info/tutorials/

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
Klaus
  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 04:36 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