---

Für Fragen von Einsteigern und Programmieranfängern...
derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

---

Beitrag von derg »

---
Zuletzt geändert von derg am Di 30. Mai 2017, 21:26, insgesamt 1-mal geändert.

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Quiz mit zufälligen Fragen

Beitrag von Marsmännchen »

Ich bin mir nicht ganz sicher, ob ich dein Problem verstanden habe, aber ist es sowas wie ich es im Anhang mal schnell zusammengeschuppt habe? Oder sollen alle 10 ausgewählten Fragen gemeinsam auf eine Form?
Bezüglich des Imports und der Auswertung deiner Fragen: wie verwaltest du die? Also ich meine, sind Fragen und Antworten in einem Objekt zusammengefasst oder hast du da einzelne Strings in dein Programm gecodet oder wie? Also ich würde das ja zusammenfassen in einem Record und dann ein Array dieser Records nehmen, um meine Fragen weiterzuverwenden:

Code: Alles auswählen

type
 
  TFrage = Record
    Fragetext : String;
    Antwort1 : String;
    Antwort2 : String;
    Antwort3 : String;
    RichtigeAntwort : Integer; (* Richtige Antwort ist 1, 2 oder 3 *)
  end;           
Dateianhänge
DemoProjekt5.zip
(2.65 KiB) 65-mal heruntergeladen
Ich mag Pascal...

Mathias
Beiträge: 6165
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Quiz mit zufälligen Fragen

Beitrag von Mathias »

Desweiteren weiß ich auch nicht, wie ich die einzelnen Fragen importiere,

Wo sind deine Fragen ?
Textdatei, Excel, Konstante ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

Re: Quiz mit zufälligen Fragen

Beitrag von derg »

Mathias hat geschrieben:
Desweiteren weiß ich auch nicht, wie ich die einzelnen Fragen importiere,

Wo sind deine Fragen ?
Textdatei, Excel, Konstante ?


Wie gesagt, ich bin ein absoluter Anfänger und meine Frage war ja, wie ich die Fragen importieren soll, weil ich absolut keine Ahnung habe.
Wäre nett, wenn wir jemand ein Beispiel senden könnte (als Projekt), worauf ich aufbauen kann.

derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

Re: Quiz mit zufälligen Fragen

Beitrag von derg »

Marsmännchen hat geschrieben:Ich bin mir nicht ganz sicher, ob ich dein Problem verstanden habe, aber ist es sowas wie ich es im Anhang mal schnell zusammengeschuppt habe? Oder sollen alle 10 ausgewählten Fragen gemeinsam auf eine Form?
Bezüglich des Imports und der Auswertung deiner Fragen: wie verwaltest du die? Also ich meine, sind Fragen und Antworten in einem Objekt zusammengefasst oder hast du da einzelne Strings in dein Programm gecodet oder wie? Also ich würde das ja zusammenfassen in einem Record und dann ein Array dieser Records nehmen, um meine Fragen weiterzuverwenden:

Code: Alles auswählen

type
 
  TFrage = Record
    Fragetext : String;
    Antwort1 : String;
    Antwort2 : String;
    Antwort3 : String;
    RichtigeAntwort : Integer; (* Richtige Antwort ist 1, 2 oder 3 *)
  end;           


Aufgrund meiner nicht vorhandenen Erfahrung weiß ich leider nicht, wie ich das in Form eines Records und eines Arrays mache, sonst denke ich auch, dass es die sauberste Variante wäre, ich weiß nur nicht, wie man das umsetzt.

Mathias
Beiträge: 6165
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Quiz mit zufälligen Fragen

Beitrag von Mathias »

Eine einfache Variante ist, die Fragen und Antworten in eine Excel-Tabelle zu schreiben und anschliessend als *.csv zu speichern.
Notfalls kann man diese Datei auch sehr einfach mit einem Text-Editor schreiben, ZB. in Lazarus.

Die kann man sehr einfach in einer StringList öffnen und zerlegen.
Die Zerlegten Elemente kann man dann sehr einfach in die RadioButtons schreiben.

Siehe Anhang.
Dateianhänge
Fragespiel.zip
(127.21 KiB) 63-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

Re: Quiz mit zufälligen Fragen

Beitrag von derg »

Mathias hat geschrieben:Eine einfache Variante ist, die Fragen und Antworten in eine Excel-Tabelle zu schreiben und anschliessend als *.csv zu speichern.
Notfalls kann man diese Datei auch sehr einfach mit einem Text-Editor schreiben, ZB. in Lazarus.

Die kann man sehr einfach in einer StringList öffnen und zerlegen.
Die Zerlegten Elemente kann man dann sehr einfach in die RadioButtons schreiben.

Siehe Anhang.


Und wie lässt man die nacheinander abfragen und das zufällig?
Beziehungsweise, wie kann man dann die Antwort abfragen und den Wert zwischenspeichern, ob die Frage richtig oder falsch beantwortet wurde?

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Quiz mit zufälligen Fragen

Beitrag von theo »

derg hat geschrieben:Aufgrund meiner nicht vorhandenen Erfahrung weiß ich leider nicht, wie ich das in Form eines Records und eines Arrays mache, sonst denke ich auch, dass es die sauberste Variante wäre, ich weiß nur nicht, wie man das umsetzt.


Ich denke du solltest dich erst einmal mit den Grundlagen beschäftigen, bevor du so ein doch relativ anspruchsvolles Projekt in Angriff nimmst.
viewtopic.php?f=21&t=79

derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

Re: Quiz mit zufälligen Fragen

Beitrag von derg »

theo hat geschrieben:
derg hat geschrieben:Aufgrund meiner nicht vorhandenen Erfahrung weiß ich leider nicht, wie ich das in Form eines Records und eines Arrays mache, sonst denke ich auch, dass es die sauberste Variante wäre, ich weiß nur nicht, wie man das umsetzt.


Ich denke du solltest dich erst einmal mit den Grundlagen beschäftigen, bevor du so ein doch relativ anspruchsvolles Projekt in Angriff nimmst.
http://lazarusforum.de/viewtopic.php?f=21&t=79


Ich mache das ganze ja nicht freiwillig, deshalb benötige ich die Hilfe der hier ansässigen User.

Mathias
Beiträge: 6165
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Quiz mit zufälligen Fragen

Beitrag von Mathias »

Ich mache das ganze ja nicht freiwillig,

Ist dies eine Hausaufgabe, dann macht es keinen Sinn dir ein fertiges Programm zu geben, sonst wirst du Lazarus nicht lernen. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

Re: Quiz mit zufälligen Fragen

Beitrag von derg »

Mathias hat geschrieben:Eine einfache Variante ist, die Fragen und Antworten in eine Excel-Tabelle zu schreiben und anschliessend als *.csv zu speichern.
Notfalls kann man diese Datei auch sehr einfach mit einem Text-Editor schreiben, ZB. in Lazarus.

Die kann man sehr einfach in einer StringList öffnen und zerlegen.
Die Zerlegten Elemente kann man dann sehr einfach in die RadioButtons schreiben.

Siehe Anhang.


Danke Mathias für deine Hilfe, das hilft mir wirklich weiter.
Nun ist das so an sich ziemlich gut, jedoch weiß ich gerade nicht, wie ich das ganze auf 10 Fragen begrenze, von 20 Möglichen und wie ist das auswerten lasse.
Wenn unten bereits die richtige Antwort steht, dann ist es ja nicht der Sinn des Ganzen.

Grüße

Mathias
Beiträge: 6165
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Quiz mit zufälligen Fragen

Beitrag von Mathias »

Nun ist das so an sich ziemlich gut, jedoch weiß ich gerade nicht, wie ich das ganze auf 10 Fragen begrenze,

Die Begrenzung ist durch die Zeilen-Zahl der csv-Datei gegeben. Wen du aber nur 10 Fragen willst, musst du halt eine Zähl variable nehmen.

Wenn unten bereits die richtige Antwort steht, dann ist es ja nicht der Sinn des Ganzen.

Dies habe ich nur zu Demo eingebaut, vergleichen muss du schon noch mit einer IF-Anweisung.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

Re: Quiz mit zufälligen Fragen

Beitrag von derg »

Mathias hat geschrieben:
Ich mache das ganze ja nicht freiwillig,

Ist dies eine Hausaufgabe, dann macht es keinen Sinn dir ein fertiges Programm zu geben, sonst wirst du Lazarus nicht lernen. :wink:


Eher auf freiwilliger Basis, ich möchte mich damit anfreunden und einfache Möglichkeiten lernen etwas zu lösen, jedoch hat Lazarus viele Möglichkeiten und deren Lösung im Internet zu finden ist schwer, außer man findet Leute, die bereits wissen, wie das Ganze funktioniert.

Ich hab das von dir gesendete Programm verstanden, bloß stehe ich immer noch auf dem Schlauch, weil ich mit der Auswertung nicht klar komme. Es sollte immerhin angezeigt werden, was die Antwort des Vorherigen war, aber nicht die Antwort der aktuellen Frage. :D
Zuletzt geändert von derg am So 28. Mai 2017, 18:29, insgesamt 1-mal geändert.

Mathias
Beiträge: 6165
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Quiz mit zufälligen Fragen

Beitrag von Mathias »

weil das mit der Auswertung nicht klar komme.

Am besten machst du einen Antworte-Button, und in diesem Ereigniss vergleichst du die RadioButtons mit der Antwort.
Anschliessend holst du die nächste Frage.

Das eine Frage nicht doppelt kommt, machst du am besten eine Array of Boolean welche gleich gross ist, wie die SL.Count.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

derg
Beiträge: 10
Registriert: Sa 27. Mai 2017, 09:04

Re: Quiz mit zufälligen Fragen

Beitrag von derg »

Mathias hat geschrieben:
weil das mit der Auswertung nicht klar komme.

Am besten machst du einen Antworte-Button, und in diesem Ereigniss vergleichst du die RadioButtons mit der Antwort.
Anschliessend holst du die nächste Frage.

Das eine Frage nicht doppelt kommt, machst du am besten eine Array of Boolean welche gleich gross ist, wie die SL.Count.


Kannst du das mit dem Array of Boolean aufschreiben, ich bin mit Arrays wirklich noch nicht so bewandt.
Wie kann man auslesen, welcher RadioButton gecheckt ist?

Antworten