AGB  ·  Datenschutz  ·  Impressum  







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

Records/Vokabeltrainer

Ein Thema von moprotz · begonnen am 11. Mär 2007 · letzter Beitrag vom 18. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
moprotz

Registriert seit: 19. Sep 2006
13 Beiträge
 
#1

Records/Vokabeltrainer

  Alt 11. Mär 2007, 12:07
Hi.
Wir machen gerade im Informatikunterricht das Thema Records, und da ich das ein bischen Üben wollte mit Hilfe eines Programmes, meinte mein Info Lehrer zu mir, dass man es am besten mit nem Vokabeltrainer machen kann.
Also, deshalb habe ich mal angefangen so einen Vokabeltrainer zu programmieren mit meinen geringen Delphikentnissen. Inzwischen kann der schon versch. Vokabeln Deutsch-Englisch speichern und laden, und man kann die mit hilfe von nem Index aufrufen, aber ich möchte das jetzt noch ein bischen verbessern mit folgenden Sachen:
-die versch. Vokabeln in Lektionen Glidern
Dafür müsste ich eig. den jetzigen Record den ich hab, einem Record Lektion unterordnen, oder? Aber wie macht man denn sowas?

-zufällige Auswahl von Vokabeln, entweder einer Lektion oder mehrerer Lektionen, die man dann auswählen könnte und am besten wärs noch, wenn man Einstellen kann wie viele Vokabeln der abfragen soll.
Muss man dann alles nem Array zuweisen, und die zahlen dann rdm auswählen, die man dann letzendlich wieder dann ausgibt? Ich hätte da vielleicht an Checkboxen gedacht, aber ganz genau wie das gehn soll, weiß ich auch nicht.

-Prüfungsfunktion mit Statistik
D.h., dass man sehen kann, welche Vokabeln man richtig und falsch beantwortet hat, und wie oft. Da habe ich aber irgendwie keine Ahnung wie ich das machen soll, bräuchte da dringend Inspiration

-Abfrage des "Nicht-gekonnten", also wenn man nach der Statistik geht, soll er dann alles oder die Vokabeln einer bestimmten Lektion abfragen, die man letztes mal falsch beantwortet hat

Also ich wär euch echt dankbar, wenn ihr mir helfen könnten, bzw. mir ein paar Tipps gebt wie ich das machen kann, denn ich hab noch nicht besonders lang Informatik und kenn mich da mit vielem noch nicht aus
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Records/Vokabeltrainer

  Alt 11. Mär 2007, 16:39
Zitat:
-die versch. Vokabeln in Lektionen Glidern
Dafür müsste ich eig. den jetzigen Record den ich hab, einem Record Lektion unterordnen, oder? Aber wie macht man denn sowas?
Da gibt es mehrere Möglichkeiten das zu verwirklichen.

- Du speicherst die Records die zu einer Lektion gehören in jeweils eine Datei.
- Du erweiterst den Record um ein Item mit Namen "Lektion"
Delphi-Quellcode:
vokabel =record
  lektionID : Byte;
  deutsch : String[50];
  english : String[50];
end;
- Du erstellst eine Datei mit dem Record Lektionen und diesen
Lektionen werden die Vokabeldatensätze zugeordnet.
Delphi-Quellcode:
lekt = record
  Name : String[50];
  id : Byte;
  vokabelIDs : Array [0..512] of Integer;
end;


Grüße
Klaus

[edit] einiges ausgebessert [/edit]
Klaus
  Mit Zitat antworten Zitat
moprotz

Registriert seit: 19. Sep 2006
13 Beiträge
 
#3

Re: Records/Vokabeltrainer

  Alt 11. Mär 2007, 17:40
[quote="Klaus01"]
Zitat:
-die versch. Vokabeln in Lektionen Glidern
- Du hälst Die eine Datei mit den Record Lektionen und diesen Lektionen werden die Vokabeldatensätze zugeordnet.

Grüße
Klaus
Naja, wie kann man das denn genau übersetzen in delphi, zur zeit hab ich das in etwa so:

Delphi-Quellcode:
type
//muss ich dann hier noch nen record eingeben mit lektion
  tVokabel = Record
           deutsch: string[50];
           englisch: string[50];
//oder muss der hier rein?
           end;
Aber lektion sollte eig. oben sein, also das müsste dann doch so aussehen, dass ich lektion über vokabel packe?
  Mit Zitat antworten Zitat
Benutzerbild von p0w3r5tr34m3r
p0w3r5tr34m3r

Registriert seit: 18. Aug 2003
Ort: Monheim am Rhein
153 Beiträge
 
RAD-Studio 2009 Pro
 
#4

Re: Records/Vokabeltrainer

  Alt 11. Mär 2007, 18:17
wahrscheinlich meinte Klaus es so:
Delphi-Quellcode:
type TVokabel = record
  Lektion: integer;
  Deutsch: string[50];
  English: string[50];
end;
dann könntest du halt alle vokabeln die zum Beispiel als Lektion den Wert 1 haben abfragen lassen.


Mit freundlichen Grüßen
powerstreamer
Florian Cülter
ich bin ein notorischer alles-klein-schreiber!

der 100. Beitrag nach 3 Jahren 25 Wochen und einem Tag
  Mit Zitat antworten Zitat
moprotz

Registriert seit: 19. Sep 2006
13 Beiträge
 
#5

Re: Records/Vokabeltrainer

  Alt 11. Mär 2007, 20:03
Wie mach ich das denn dann mit der Abfrage?
  Mit Zitat antworten Zitat
Benutzerbild von p0w3r5tr34m3r
p0w3r5tr34m3r

Registriert seit: 18. Aug 2003
Ort: Monheim am Rhein
153 Beiträge
 
RAD-Studio 2009 Pro
 
#6

Re: Records/Vokabeltrainer

  Alt 11. Mär 2007, 23:19
ich würde es so machen...
ich weise alle datensätze, unabhängig von der lektion, in ein array des types TVokabeln (array of TVokabeln) und frage dann nach und nach ab..
Delphi-Quellcode:
var
  vokabel: array of TVokabel;
  f: file of TVokabel;
  idx: integer;
begin
  idx := 1;
  setlength(vokabel, idx);
  assignfile(f, './vokabeln.dat');
  reset(f);
  while not eof(f) do begin
    seek(f, idx);
    read(f, vokabel[idx]);
    inc(idx);
  end;
end;
der aufruf sieht dann ungefähr so aus
if vokabel.lektion = aktuelleLektion then ... der code ist ungetestet von daher garantiere ich für gar nichts
als denkanstoß sollte es reichen


Mit freundlichen Grüßen,
powerstreamer
Florian Cülter
ich bin ein notorischer alles-klein-schreiber!

der 100. Beitrag nach 3 Jahren 25 Wochen und einem Tag
  Mit Zitat antworten Zitat
moprotz

Registriert seit: 19. Sep 2006
13 Beiträge
 
#7

Re: Records/Vokabeltrainer

  Alt 15. Mär 2007, 21:29
#Dank euch für die ganzen Antworte, haben mir sehr weiter geholfen, aber ich hab jetzt ein neues Problem, ich hab jetzt noch eine Checkbox mit zufälliger Vokabelabfrage gemacht, aber wie kann ich das vermeiden, dass er immer wieder die selben Vokabeln zufällig nimmt.
Immo siehts bei mir so aus:

Delphi-Quellcode:
If checkbox1.Checked
  then
    begin
      nr:=random (filesize(datei));
      seek(datei,nr);
      read(datei,vok);
end
end;
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Records/Vokabeltrainer

  Alt 15. Mär 2007, 23:02
Ich hab auch mal so ein Ding programmiert und da hab ich für jede Vokabel auch eine Punkte-Statistik mit angelegt... ich hatte das zwar nicht so, aber man könnte es gleich mit in den Record aufnehmen!!!
Und zwar könnte man bei einer Falsch-Beantwortung die Punkte um 1 verringern und bei richtiger Beantwortung um eins erhöhen, und dann nimmt man immer mit dem niedrigsten Index als nächstes bzw. wählt per Zufall eine Vokabel aus, die aus dem Feld der Vokabeln ist, die den niedrigsten Index haben!

Falls...
...du nicht verstanden hast wie ich das meine...
...du es verstanden hast, aber noch ein Code-Bsp. brauchst...
... du irgendein anderes Problem hast, oder ich die falsche Antwort gegeben habe, weil du es ganz anders machen wolltest, dann...

einfach nochmal Posten; Ich helfe gern

MfG
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
moprotz

Registriert seit: 19. Sep 2006
13 Beiträge
 
#9

Re: Records/Vokabeltrainer

  Alt 18. Mär 2007, 11:52
Also das mit der Statistik hat ich kapiert, das immer um einen Punkt zu verringern und so, aber wie meinste das dann mit den niedrigsten Indes nehmen und so, da blick ich grad nicht durch.
Und wie kann ich das denn machn, dass der mir nie immer die selben Vokabeln inner Rdm abfrage macht, soll ich dann irgendwie mit ner Abfrage arbeiten, also:
If index ... schon aufgeschrieben, dann gehe zu index ...+1

Naja, wär nett wenn ihr mir so n bischen auf die Sprünge helft wie ich das in Delphi-Sprache übertragen könnte.
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#10

Re: Records/Vokabeltrainer

  Alt 18. Mär 2007, 13:33
erweitere doch einfach deinen record um ein feld, welches dir anzeigt ob dieser schon bearbeitet wurde. falls ja, zeigst du diesen nicht mehr an... das ganze brauchst nicht abzuspeichern, sondern nur im speicher behalten. <HTH>
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:36 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