AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank- Quiz programmieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank- Quiz programmieren

Offene Frage von "p80286"
Ein Thema von Reedx · begonnen am 8. Mär 2020 · letzter Beitrag vom 16. Mär 2020
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

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

AW: Datenbank- Quiz programmieren

  Alt 9. Mär 2020, 18:19
Bin ich irgendwie unsichtbar oder sowas? Wozu ist die Schleife gut?
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
Reedx

Registriert seit: 19. Feb 2020
26 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Datenbank- Quiz programmieren

  Alt 9. Mär 2020, 19:00
Bin ich irgendwie unsichtbar oder sowas? Wozu ist die Schleife gut?
welche denn? die repeat?
  Mit Zitat antworten Zitat
Reedx

Registriert seit: 19. Feb 2020
26 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Datenbank- Quiz programmieren

  Alt 9. Mär 2020, 19:03
okay, hier die Zip datei..
die Unit um die es hier geht, nennt sich "Uleicht".
beim Anschauen/Testen bitte folgendes machen:

Als User einloggen --> Daten aus Datenbank entnehmen
Dann auf User Button klicken, auf quiz starten (button) gehen, dann "Leicht" auswählen und dann dort am besten "Deutsch" auswählen (bitte Datenbank zur Hilfe nehmen (beim anschauen)). Dann auf "Nächste Frage" klicken.. hoffe das ist halbwegs verständlich ....
Angehängte Dateien
Dateityp: zip Projekt.zip (514,7 KB, 10x aufgerufen)

Geändert von Reedx ( 9. Mär 2020 um 19:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Datenbank- Quiz programmieren

  Alt 9. Mär 2020, 21:49
Bin ich irgendwie unsichtbar oder sowas? Wozu ist die Schleife gut?
Zitat:
hab es so programmiert, aber stehe immer noch vor dem gleichen Problem, beim click auf dem button bleibt die frage + Antworten immer die gleichen und zeigt nicht die nächsten an..
Ich vermute das der Buttonclick in die Schleife gehören soll
Code:
repeat
  hole Frage
until button=Abbruch
Hat da nicht jemand etwas von Struktogramm geschrieben??

Es gibt zwei Möglichkeiten.
a) Alle Fragen/Antworten aus der DB in eine Liste/Array... laden und die Fragen dann nacheinander aus der Liste laden.
b) Jeweils eine Frage aus der DB laden, wobei es dann eine Numerierung oder ähnliches der Fragen geben mßte.
(select irgendwas where Fragenr=x and .....)

So mal ganz grob skizziert.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
mmw
(Gast)

n/a Beiträge
 
#5

AW: Datenbank- Quiz programmieren

  Alt 9. Mär 2020, 22:19
ich habs mal so versucht, im prinzip habe ich nicht viel verändert


procedure TFormle.ButtonnextClick(Sender: TObject);

function ist_leer: boolean;

begin
result := datamodule1.ADOQuery6.IsEmpty;
end;

function open_query: boolean;

begin
try
if datamodule1.ADOQuery6.Active = true then
result := true
else

begin
datamodule1.ADOQuery6.SQL.Clear;
datamodule1.ADOQuery6.SQL.Text :='SELECT Frage, L1, L2, L3 FROM Fragen WHERE Fach = ' + #39 + Lb.Items.Strings[Lb.ItemIndex] + #39 + ' AND Schwierigkeit="1";';
datamodule1.ADOQuery6.Active := true;
datamodule1.ADOQuery6.First;

first_open := true;//TFormle private deklariert

result := true;
end;

except
result := false;
end;
end;

procedure set_caption;

begin
rg.caption := '';
rg.caption := datamodule1.ADOQuery6.Fields[0].AsString;
// Antworten in Radiobuttons
rg.Items.Clear;
rg.Items.Add(datamodule1.ADOQuery6.Fields[1].AsString);
rg.Items.Add(datamodule1.ADOQuery6.Fields[2].AsString);
rg.Items.Add(datamodule1.ADOQuery6.Fields[3].AsString);
end;


begin

if Lb.ItemIndex >= 0 then

begin

if open_query = false then exit

else

if ist_leer = true then begin
showmessage('Keine Daten');
exit
end

else

begin

rg.Visible := true;
if first_open = true then

begin
set_caption;
first_open := false;
end

else

begin
datamodule1.ADOQuery6.Next;
set_caption;
end;
end;
end

else

application.MessageBox('Auswahlfehler!', 'Fehler');

end;

keine Garantie

Gruß
  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 02:06 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