AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Vokabel trainer?

Ein Thema von Fredmaster · begonnen am 25. Jun 2012 · letzter Beitrag vom 25. Jun 2012
Thema geschlossen
Fredmaster

Registriert seit: 25. Jun 2012
7 Beiträge
 
#1

Vokabel trainer?

  Alt 25. Jun 2012, 18:41
Ich habe hier einen Vokabel trainer zusammengebaut...Ich kapiere nur nicht wo hier genau die fehler meldung herkommt?
Wenn ich Versuche die Vokabel u üebrprüfen(submit) dann kommt die fegler meldung "EAccessViolation"
Überhaupt funktioniert das Program noch nicht perfekt, die vokabeln werden noch nicht aus der textdatei ausgelesen bzw nicht angezeigt?!
Danke für eure Hilfe

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TVokabeltrainer = class(TForm)
    l_frage: TLabel;
    l_checkup: TLabel;
    l_antwort: TLabel;
    b_submit: TButton;
    b_next: TButton;
    b_cheat: TButton;
    b_text: TButton;
    OpenDialog1: TOpenDialog;
    ListBox1: TListBox;
    l_loesung: TEdit;
    RadioGroup1: TRadioGroup;
    procedure FormCreate(Sender: TObject);
    procedure b_submitClick(Sender: TObject);
    procedure b_nextClick(Sender: TObject);
    procedure b_cheatClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

const
  max=8;
 
var
  Vokabeltrainer: TVokabeltrainer;
  datei: TextFile;
  DateiName: string;
   a_vok: Array of String;
   a_antwort: Array of String;
   a_richtig: Array of Integer;
   nr: Integer;
   voc: TStringList;



implementation

{$R *.DFM}


procedure TVokabeltrainer.FormCreate(Sender: TObject);
var max: integer;
begin

      If OpenDialog1.execute then
        Dateiname:=opendialog1.filename
     else
        Dateiname:='voc.txt';
        voc:=TStringlist.create;
        voc.LoadFromFile(Dateiname);
        max:=voc.count div(5);
        nr:=random(max-1);
        l_frage.caption:='Vokabel: ' + voc[nr*5];
        radiogroup1.items[0]:=voc[nr*5+1];
        radiogroup1.items[1]:=voc[nr*5+2];
        radiogroup1.items[2]:=voc[nr*5+3];

     nr:=random(max)+1;
     l_frage.caption:='Vokabel: ' + a_vok[nr*5];
     radiogroup1.items[0]:=a_antwort[nr*5+1];
     radiogroup1.items[1]:=a_antwort[nr*5+2];
     radiogroup1.items[2]:=a_antwort[nr*5+3];
     radiogroup1.itemindex:=-1;

end;


procedure TVokabeltrainer.b_cheatClick(Sender: TObject);
begin

     l_checkup.caption:='how about "' + a_antwort[nr, a_richtig[nr]] + '"?';
     l_checkup.font.color:=clblack;
     l_checkup.font.size:=10;
end;


procedure TVokabeltrainer.b_submitClick(Sender: TObject);
begin
     If (Radiogroup1.itemindex=-1) and (l_loesung.text='') then
     begin
           l_checkup.caption:='Bitte eine Auswahl treffen';
           l_checkup.font.color:=clblack;
     end
     else
           If (Radiogroup1.itemindex=a_richtig[nr]-1) or (l_loesung.text=a_antwort[nr, a_richtig[nr]] ) then
           begin
                l_checkup.caption:='Richtig!';
                l_checkup.font.color:=clgreen;
           end
     else
           begin
                l_checkup.caption:='Falsch!';
                l_checkup.font.color:=clred;
           end;

end;

procedure TVokabeltrainer.b_nextClick(Sender: TObject);
begin
     nr:=random(max)+1;
     l_frage.caption:='Vokabel: ' + a_vok[nr*5];
     radiogroup1.items[0]:=a_antwort[nr*5+1];
     radiogroup1.items[1]:=a_antwort[nr*5+2];
     radiogroup1.items[2]:=a_antwort[nr*5+3];
     radiogroup1.itemindex:=-1;
     l_checkup.caption:='';
     l_loesung.Text:='';

end;

end.
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Vokabel trainer?

  Alt 25. Jun 2012, 19:12
Ich würde dir empfehlen mal zwei andere aktuelle Themen durchzulesen.

http://www.delphipraxis.net/169023-f...owmessage.html (vorallem Antwort #3)

http://www.delphipraxis.net/169026-s...erletzung.html (hier hat jemand den selben Fehler gemacht)





Delphi-Referenz durchsuchenSetLength

Wenn du schon dynamische Arrays verwendest, dann solltest du da auch Speicher reservieren, bevor du da was reinmachst und beim Auslesen sollte man nur auf existierende Felder zugreifen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list
 
TBx
(Moderator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.807 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Vokabel trainer?

  Alt 25. Jun 2012, 19:34
einmal reicht hier gehts weiter...
Gruß Thomas
- Moderator Delphi-Praxis -
- Admin Delphi-Treff
- Embarcadero MVP
 
Thema geschlossen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf