AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Vokabel Trainer ! Hilfe

Ein Thema von Fredmaster · begonnen am 25. Jun 2012 · letzter Beitrag vom 28. Jun 2012
Antwort Antwort
Seite 1 von 2  1 2   
Fredmaster

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

Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 17:42
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.
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 17:46
Hi und willkommen. Warum machst du 3 Beiträge auf? Deine dynamischen Arrays sind nicht initialisiert.
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 18:03
Und dann auch noch Crosspost (auch dort 2 Mal). So macht man sich keine Freunde.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 18:17
Ich kapiere es nicht.
Wenn ich fragen stelle in der letzten zeit bekomme ich keine Antworten mehr.
Hier werden direkt 3 Themen erstellt aund alle posten fleißig drauf los.

Scheint doch was zu bewirken.

Spaming Postings.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 18:21
Vielleicht hast Du nur die falschen Probleme
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 18:36
Vielleicht hast Du nur die falschen Probleme
Das hat was für sich
Na ja es ist ja kein Zwang das jemand helfen muss
Aber ist schon verwunderlich wie die Leute dann auf solche mehr Postings reagieren .. Fast ein Zwang?

Gruss

Geändert von EWeiss (25. Jun 2012 um 18:41 Uhr)
  Mit Zitat antworten Zitat
Fredmaster

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

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 18:48
Danke für die schnellen Antworten! Das mit den 3 Threads tut mir wirklich leid...Ich muss das problem nur schnell gelöst haben! Tut mir leid, nächstes mal werde ich das nicht wieder machen!

Genau das ist mein Problem! Ich weis leider nicht wie ich diese arays initialisiere?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#8

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 18:54
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.
Damit nun alles zusammen ist.

Ich weis leider nicht wie ich diese arays initialisiere?
Natürlich wurde das noch von Keinem erwähnt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 18:56
In welchem Forum soll ich denn nun antworten?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Vokabel Trainer ! Hilfe

  Alt 25. Jun 2012, 19:04
Ich weis leider nicht wie ich diese arays initialisiere?
Wenn du zum Beispiel 3 Einträge in deinem Array haben willst, musst du zunächst im Speicher Platz dafür schaffen:

setlength(myarray,3);

anschließend kannst du auf die Einträge myarray[0], myarray[1] und myarray[2] zugreifen. myarray[3] gibt es nicht, weil es ja das 4. Element wäre. Also immer aufpassen: von 0 aus zählen.

mit length(myarray) kannst du abfragen, wie lang dein array ist.

Gruß, Michael
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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 00:01 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