Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Quiz: Frage zurückstellen (https://www.delphipraxis.net/51525-quiz-frage-zurueckstellen.html)

Kramig 14. Aug 2005 10:17


Quiz: Frage zurückstellen
 
Ich muss für einen Beleg ein umfangreiches Quiz programmieren, dessen Fragen durch einen Frageneditor eingelesen werden. Das klappt auch mit Hilfe von doppelt verketteten Listen.
Nun muss ich auch die Möglichkeit einräumen, eine Frage zurückstellen zu können. Alle Versuche brachten nichts. Muss ich eine Warteschlange (queue) programmieren. Muss die Warteschlange dann seperat angehängt werden. Oder klappt es mit "Einfügen nach" auch, wie klappt es aber, dass das Programm es erkennt, dass alles ans Ende angehängt werden muss?

Tschüss! und danke im Voraus!

DP-Maintenance 14. Aug 2005 11:16

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Programmieren allgemein" verschoben.
Nichts für die Code-Lib

malo 14. Aug 2005 11:38

Re: Quiz: Frage zurückstellen
 
Erstelle doch eine Liste (Array, TList, TObjectList... was auch immer), in die du immer die zurückgestellten Fragen reinschreibst. Wie du die Fragen speicherst, weiß ich nicht, aber ich denke, du speicherst sie in einem record oder einem Objekt... Dann einfach das Objekt zu einer TObjectList hinzufügen. Und wenn du die zurückgestellten Fragen abfragst, gehst du einfach die Liste durch.

Eventuell könntest du das auch einfach ganz hinten an deine normale Liste von Fragen anhängen. Hängt aber alles davon ab, wie du den Rest programmiert hast, bzw. wie das Quiz aufgebaut ist. Nähere Informationen wären praktisch ;)

Kramig 14. Aug 2005 12:04

Re: Quiz: Frage zurückstellen
 
Ich will alles auch einfach an meine normale liste anhängen. Da aus dem umfangreichen Quiz per Zufall 15 Fragen ausgewählt werden sollen. Also wird es bei diesen 15 Fragen bleiben, nur dass die zurückgestellte am Schluss wieder auftauchen soll. Ja, alles ist als record aufgebaut. :gruebel:

DGL-luke 14. Aug 2005 12:49

Re: Quiz: Frage zurückstellen
 
Delphi-Quellcode:
procedure zurückstellen(SL:TStrings;index:integer);
begin
if not assigned(sl) then raise EException.create('Stringlist nicht besetzt!');

sl.add('');
sl.move(index,sl.count);
end;
fertig... was war da jetzt schwierig(immer vorausgesetzt, du hast deine fragen in einer StringList)?

Kramig 14. Aug 2005 18:26

Re: Quiz: Frage zurückstellen
 
Danke, es kommt auf einen Versuch an. Klar, nicht schwer, aber für jemanden, der ganz am Anfang steht und alles nebenbei im Schnelldurchlauf machen muss! Klappt es nicht, melde ich mich wieder!

Hier meine Typen.pas

Delphi-Quellcode:
type T_Zeiger = ^T_Liste;

     T_quiz = record
       Frage     : string[250];
       Antwort_A : string[100];
       Antwort_B : string[100];
       Antwort_C : string[100];
       Antwort_D : string[100];
       Antwort   : string[100];
 
  end;       //von record T_Quiz

     T_Liste = record
       inhalt : T_quiz;
       prev  : T_Zeiger;
       next  : T_Zeiger;
       end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 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