AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Quiz erstellen

Ein Thema von 01Detlef · begonnen am 21. Dez 2002 · letzter Beitrag vom 23. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#11
  Alt 23. Dez 2002, 14:07
Moin Detlef,

Du wirst in jedem Falle eine Schleife über die 15 Positionen benötigen, ausser Du möchtest das Einlesen für alle 15 von in einzelnen Zeilen Codieren. Das ginge natürlich auch, würde aber wohl kaum jemand machen.

Delphi-Quellcode:
var
 aqQuiz : array [1..15] of TcsQuiz;
 i : integer;
 j : integer;
 sSection : string;

begin
  for i := 1 to 15 do
  begin
    sSection := 'Frage'+IntToStr(i);
    aqQuiz[i].sQuestion := iniQuiz.ReadString(sSection,'Frage','');
    for j := 1 to 4 do
    begin
      aqQuiz[i].sAnswer[j] := iniQuiz.ReadString(sSection,'Antwort'+IntToStr(j),'');
    end;
    aqQuiz[i].iCorrect := iniQuiz.ReadInteger(sSection,'Korrekt',0);
  end;
end;
Das ist jetzt nur ein Codefragment, wie man dann die Daten einlesen kann. Da für jede Position die gleiche Section benötigt wird, habe ich die mal in einer Variable zusammengefasst.

Sollten da noch Fehler drin sein:
Ich hab's hier direkt reingetippt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
01Detlef

Registriert seit: 21. Dez 2002
10 Beiträge
 
#12
  Alt 8. Jan 2003, 18:24
hallo, ich war im urlaub, deshalb jetzt noch ein frohes neues jahr!!

ich habe jetzt mal ein wenig herumgeproggt(mit ein wenig hilfe) und:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Versuche:=0;
  // hier muss jetzt noch das array hinein, welches aus einer datei eingelesen werden soll
  nummer:=0;
  Label_Frage.Caption:=Frage[nummer].Frage;
end;

procedure TForm1.Button1Click(Sender: TObject);
var antwort: STRING;
begin
  Antwort:=edit1.text[1];
  IF Antwort = Frage[nummer].Antwort THEN
  begin
    Versuche := 0;
     inc(nummer);
     Label_Frage.Caption:=Frage[nummer].Frage;
  end ELSE
  begin
    IF Versuche <1 THEN
    begin
      showmessage('leider Falsch....');
      Versuche := Versuche +1 ; //bzw. INC(Versuche)
    end ELSE

      IF Versuche >= 1 THEN
      BEGIN
      showmessage('Game Over.....');
      form1.close;
    end;
  end;
end;
also ich habe jetzt zwei versuche für jede Frage!

Mein Problem besteht darin, das array zu füllen, die Schleife ist ja der button, der die nummer von mal zu mal um eins erhöht! Zu der erhöhung müssen sich die zuweisungen ändern!Also so:
Nummer=1 Frage= hauptstadt von Deutschland?
1)Bonn
2)Berlin
3)Hamburg
4)..
und außerdem muss noch in einem array die richtigen zahlen oder buchstaben geseichert seien, damit die nächste frage erscheint!
Code:
IF Antwort = Frage[nummer].Antwort THEN
Ich weiss nur nicht, wie ich das jetzt alles zusammenpacken muss!

Danke detlef
  Mit Zitat antworten Zitat
01Detlef

Registriert seit: 21. Dez 2002
10 Beiträge
 
#13
  Alt 10. Jan 2003, 16:14
hallo,
könnt ihr mir nicht helfen, es ist wirklich wichtig!
Ich weiss wirklich nicht, wie ich das array fülle und die labelzuweisungen mache??

Bitte detlef
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#14
  Alt 10. Jan 2003, 16:43
Moin Detlef,

wie das Array gefüllt wird steht doch in meinem letzen Posting?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
01Detlef

Registriert seit: 21. Dez 2002
10 Beiträge
 
#15
  Alt 10. Jan 2003, 18:45
ja, aber wie macht man die ganzen label-Zuweisungen, in die ich meine fragen schreiben kann?

Danke detlef
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#16
  Alt 10. Jan 2003, 19:02
Moin Detlef,

ich hab' Dir hier mal ein kleines Muster angehängt wie man's machen könnte. (funktioniert sogar )
Angehängte Dateien
Dateityp: zip Quiz.zip (3,5 KB, 150x aufgerufen)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Quiz erstellen

  Alt 18. Mär 2009, 21:06
Hallo Zusammen,

da ich nach eine Dokumentation zu dem Programm gefragt wurde, möchte ich diese hiermit nachholen:
Die Daten werden in einer INI-Datei (Quiz.ini) im Programmverzeichnis gespeichert.

Die Datei hat folgenden Aufbau:

[FrageX]
Frage=<Text Frage>
Antwort1=<1. Antwortmöglichkeit>
Antwort2=<2. Antwortmöglichkeit>
Antwort3=<3. Antwortmöglichkeit>
Antwort4=<4. Antwortmöglichkeit>
Korrekt=<Angabe, welche Antwort die richtige ist (1-4)>

wobei X für einen Wert von 1-15 steht, da das Programm für 15 Fragen ausgelegt ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Roxana

Registriert seit: 23. Mär 2009
1 Beiträge
 
#18

Re: Quiz erstellen

  Alt 23. Mär 2009, 19:39
ich versuche gerade mit dieser vorlage ein eigenes quiz zu erstellen...aus spaß
jedoch finde ich die stelle im quelltext nicht, wo ich meine fragen und antworten einfügen kann.ich hoff ich bekomme hilfe

lieben Gruß Roxi
ich danke schon mal
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Quiz erstellen

  Alt 23. Mär 2009, 21:55
Moin Roxi,

für die Anzahl der Fragen sind folgende Zeilen wichtig:

Delphi-Quellcode:
  aqQuiz : array [1..15] of TcsQuiz; // Im Interface-Abschnitt

  if FiCountQuestion = 15 then // In NextQuestion

  for i := 1 to 15 do // In FormCreate
Als Vereinfachung (Verbesserung) könnte man auch einfach eine Konstante mit der Anzahl belegen, und diese an diesen drei Stellen einbauen.

Wie in meinem letzten Post schon geschrieben kommen die Fragen und Antworten in eine Ini-Datei.

Mal ein Konkretes Beispiel für einen Eintrag:

Code:
[Frage1]
Frage=Wieviel ist 3 mal 3
Antwort1=9
Antwort2=12
Antwort3=15
Antwort4=18
Korrekt=1
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:53 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