AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Button soll sich merken, wie oft er gedrückt wurde
Thema durchsuchen
Ansicht
Themen-Optionen

Button soll sich merken, wie oft er gedrückt wurde

Ein Thema von Dilip · begonnen am 10. Mär 2016 · letzter Beitrag vom 13. Mär 2016
Antwort Antwort
Dilip

Registriert seit: 3. Mär 2016
10 Beiträge
 
#1

AW: Button soll sich merken, wie oft er gedrückt wurde

  Alt 13. Mär 2016, 14:12
Ja, das begin und end hab ich noch reingemacht, ist mir dann auch aufgefallen..
Ich hab es jetzt in die Klickprocedure geschrieben aber es geht immernoch nicht

Es sieht aber so aus als ob sich die Antwortmöglichkeiten für gefühlt 0,0001Sekunde ändern, aber dann sind sie wieder bei Falsch Falsch Richtig Falsch
Ich hab es mal mit Label statt buttons versucht, ging aber auch nicht
  Mit Zitat antworten Zitat
Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Button soll sich merken, wie oft er gedrückt wurde

  Alt 13. Mär 2016, 14:32
Hast du auch überall Begin und End vervollständigt? Falls nicht, rattert er sonst durch und nimmt dann eben die letzten Antworten.

(Wenn du das begin/end bei if weglässt, berücksichtigt er genau nur den nächsten Befehl für die Abfrage. Den rest sieht er wieder als normalen Ablauf an, was hier nicht sein sollte)

Delphi-Quellcode:

procedure Frage1(i:longint);
begin

if i = 1 then begin
Form1.Label2.Caption := '"Andere Länder, andere ...?"'; //1. Frage
Form1.Button1.Caption := 'Fritten';
Form1.Button2.Caption := 'Schlitten';
Form1.Button3.Caption := 'Sitten';
Form1.Button4.Caption := 'Oberweiten';end;

if i = 2 then begin
Form1.Label2.Caption := '"Was ist 2+2?"'; //1. Frage
Form1.Button1.Caption := '2';
Form1.Button2.Caption := '3';
Form1.Button3.Caption := '4';
Form1.Button4.Caption := '5'; end;

if i = 3 then begin
Form1.Label2.Caption := '"Blablabla'; //1. Frage
Form1.Button1.Caption := 'Falsch';
Form1.Button2.Caption := 'Falsch';
Form1.Button3.Caption := 'Richtig';
Form1.Button4.Caption := 'Falsch';end;
end;

procedure TForm1.Button5Click(Sender: TObject);
var i:longint;
begin
randomize;
i := random(3)+1;

Button1.Tag := 0;
Button2.Tag := 0;
Button3.Tag := 0;
Button4.Tag := 0;
Frage1(i);
end;

Geändert von Monday (13. Mär 2016 um 14:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Button soll sich merken, wie oft er gedrückt wurde

  Alt 13. Mär 2016, 14:51
Hallo Dilip,

ich glaube, dass Du Grundlegend das Problem anders angehen solltest. "Sieh die nochmal die antwort von Stahli an".

Ich würde folgendes Vorschlagen.

Erstell Dir eine Art Fragenkatalog. Das könntest Du z.B. als Textdatei, DB oder ähnliches machen. Beim Programmstart, könntest Du verschiedenen Abfragen machen um festzulegen, welche Variante der Spieler spielen möchte (Zusatz Jocker etc.) Dann kannst Du per Zufall 16 aus den vorhanden Fragen auslesen und diese in z.B. ein Record schreiben...

Delphi-Quellcode:
type
  TFragen = record
    Frage : string;
    Antwort_1: string;
    Antwort_2: string;
    Antwort_3: string;
    Antwort_4: string;
    Richtig : integer;
  end;
Da Du ja 16 Fragen brauchst, kannst Du das ganze Record in ein array packen...

so z.B.

  Fragenkatalog : array[1..16] of TFragen; Jetzt kannst Du aus dem Array Deine Fragen etc. auslesen.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Dilip

Registriert seit: 3. Mär 2016
10 Beiträge
 
#4

AW: Button soll sich merken, wie oft er gedrückt wurde

  Alt 13. Mär 2016, 14:58
@ Monday, ja hab begin und end überall, hab es genau so, wie du es geschrieben hast und trotzdem nimmt er immer die letzten A-möglichkeiten

@Jens, ja könnte ich machen
Dennoch würde ich das Problem gern gelöst haben, das interessiert mich jetzt, warum der das nicht macht..
  Mit Zitat antworten Zitat
Dilip

Registriert seit: 3. Mär 2016
10 Beiträge
 
#5

AW: Button soll sich merken, wie oft er gedrückt wurde

  Alt 13. Mär 2016, 15:11
Ok, ich hab es jetzt hinbekommen ( wie auch immer ) ich hab alle begins und ends nochmal weg gemacht und neu hingeschrieben, jetzt gehts komischerweise
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
989 Beiträge
 
Delphi 6 Professional
 
#6

AW: Button soll sich merken, wie oft er gedrückt wurde

  Alt 13. Mär 2016, 15:59
Hmm..


Hallo Dilip,

Delphi-Quellcode:
type
  TFragen = record
    Frage : string;
    Antwort_1: string;
    Antwort_2: string;
    Antwort_3: string;
    Antwort_4: string;
    Richtig : integer;
  end;
Da Du ja 16 Fragen brauchst, kannst Du das ganze Record in ein array packen...

so z.B.

Fragenkatalog : array[1..16] of TFragen;

Jetzt kannst Du aus dem Array Deine Fragen etc. auslesen.

Jetzt kannst Du aus dem Array Deine Fragen etc. auslesen.
Da die Fragen beim Original nach Fragenstufe immer schwieriger werden, sollte hier wohl besser eine Dynamische Liste mit TFragen genutzt werden.
z.B:

Delphi-Quellcode:

TFragenListe = array of TFragen;

Fragenkatalog : array[1..16] of TFragenListe;
Dann würde eine je Stufe eine zufällige Frage der entsprechenden Schwierigkeits-Stufe ausgewählt werden.
  Mit Zitat antworten Zitat
Dilip

Registriert seit: 3. Mär 2016
10 Beiträge
 
#7

AW: Button soll sich merken, wie oft er gedrückt wurde

  Alt 13. Mär 2016, 19:38
Habs bei meiner Eigenkreation jetzt auch hinbekommen, funktioniert alles so, wie ich es will.. Auch wenn es sehr viel Schreibarbeit war^^
Fragen werden bei mir auch mit steigender Stufe, schwerer.
Ich bedanke mich trotzdem für die ganzen Lösungsansätze, um es mir leichter zu machen, vlt werde ich es damit mal überarbeiten!
Danke
  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 21:44 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