Aplikacja typu test, quiz, ankieta - długie

0

Witam wszystkich.

Mam bardzo długie pytanie. Trochę już programuje w Delphi, przegooglałem nieco grup dyskusyjnych i nie znalazłem pomocy. A więc zaczynamy....

Chcę napisać program. Taka aplikacja typu test, quiz, czy też ankieta.

Założenia:

  • Aplikacja typu test serwuje pytania losowo z danej kategorii
  • Pytania są podzielone na: Kategorie, poziom trudności, podkategorie
  • Pytania mogą być typu: wybierz jedną z odpowiedzi, wybierz kilka, posegreguj, wpisz odpowiednie ... i t p .
  • Program nie może wykorzystywać zadnej bazy danych, plików xml i t p.
  • Program powinien korzystać z komponentów znajdujących się tylko na zakładkach standard i adv...

Mój pomysł to:
Mamy główną aplikację ? MainAPP. Jako że z góry zakładam, iż pytania mogą być bardzo złożone ? tzn. nie takie proste jak wybierz jedną z trzech odp. [radiogroup] ? to chciałbym aby każde pytanie było na oddzielnym formularzu, lub jakimś innym komponencie (jakim?). Tak więc, pytanie 1 jest na formie , pytanie 2 na formie 2 ...... Jako że można każdą formę zapisać do biblioteki dll, tak też bym chciał zrobić. czyli jedno pytanie = jeden plik dll [biblioteka]. Taka biblioteka składająca się z formularza, komponentów, procedur sprawdzających poprawność odpowiedzi, udzielająca odpowiedzi itp ? czyli jedna biblioteka kompletnie obsługująca dane pytanie. Taką bibliotekę ładowałoby się dynamicznie do aplikacji głównej ? innymi słowy każde pytanie ładowane byłoby dynamicznie. Zadaniem aplikacji głównej jest odpowiednie ładowanie bibliotek [kolejność, kategoria, poziom trudności], liczenie poprawnych odpowiedzi, mierzenie czasu i t p. Każde pytanie [biblioteka] po udzieleniu odpowiedzi zwracałoby do aplikacji głównej odp. czy udzielono prawidlowej odpowiedzi.

Taki jest mój pomysł. Jeśli ktokolwiek chciałby napisać pytanie do Aplikacji głównej ? tobi to w Delphi w bardzo prosty sposób [?dla programisty?] a nastepnie wrzuca taka bibliotekę do katalogu z pytaniami.

Dlaczego nie chce korzystać z bazy danych, xml, plików tekstowych w celu przechowywania i ładowania pytań i odpowiedzi ?
ODP. 1. Komponenty te są już w droższych wersjach delphi, chcę skorzystać tylko ze standardowych.
ODP. 2. Pytania są i będą bardzo skomplikowane, gdzie wymagana jest obsługa wyjątków, zdarzeń on click na rysunkach regionach i t p.
ODP. 3. Forma bibliotek ładowanych dynamicznie, sprawia ze w danym momencie w pamięci jest zawsze jedno tylko pytanie, niezależnie czy test ma pytań 10 czy 10000.
ODP. 4. inne względy :)

Teraz moje pytania.

  1. Czy ma ktoś może lepsze pomysły ? Chętnie wysłucham.
  2. Pokażcie największe problemy w mojej propozycji
  3. Jeśli to dobry pomysł, to teraz pomóżcie :)
    a. jak zorganizować nazwy bibliotek aby można było je ładować dynamicznie określając kategorie , poziom trudności, itp
    b. Jak ładować takie biblioteki [kawałek procedurki mile widziany]
    c. Czy aplikacja główna powinna być typu Parent a pytania na formach typu child i ładowane do wnętrzna głównej aplikacji czy może po prostu Formy z pytaniami powiny sie po kolei pokazywać po sobie [jesli tak to jak show modal czy samo show ?]

Wszystkim cierpliwym dziekuje za ewentualną pomoc.
Dajcie upust swojej wyobraźni i może coś mi się uda tu naprodukować.

Tymczasem pozdrawiam.

PS Pewnie o czymś zapomniałem ... najwyżej dopisze niżej :)

0
  1.    Jeśli to dobry pomysł, to teraz pomóżcie
    

Zmuszasz nas do czegoś?:)

Umiesz robić dynamicznie formy itd? :)
Kurs bibliotek dll (ładowanie, tworzenie) widziałem chyba w artykułach 4P.
Czy liczba pytań jest ustalona?
Wyświetlanie okien z pytaniami poprzez ShowModal blokuje Ci dostęp do okna głównego, gdy masz otwarte okno z pytaniami (jak dobrze pamiętam):)
Dzięki Show masz jednocześnie dostęp do głównego okna i childa :)

Spoko masz pomysł na aplikację. Najlepiej to rozrysować sobie przed pisaniem kodu schemat blokowy co i jak i po co, na co i dlaczego tak, a nie tak, bo teraz jak widzę to się bardzo kręcisz z tym wszystkim :)

Jak znajdę czas wieczorem to coś pomogę. Pozdro.

1 użytkowników online, w tym zalogowanych: 0, gości: 1