ich hab mich jetzt doch mal im Forum registriert, weil ich bei dieser Frage einfach nicht weiterkomme und auch keinen Lösungsansatz gefunden habe, bis auf den obigen Betreff zu googlen und dabei nichts zu finden

In meinem Programm-Ordner befinden sich die sechs Textdateien depVAR.txt; dgVAR.txt; searchEP.txt; searchG.txt; KMKrokoQual1EP.txt und KMKrokoQual1G.txt. Die dep und dg -Dateien dienen dazu zwei Variablen zwischen zwei Units zu übergeben, die search-Dateien speichern die Namen aller anderen Dateien die von einer Unit des gleichen Programms erstellt wurden, damit ich sie später wieder aufrufen kann. Die KMKro...-Dateien sind zwei ebendsolche erstellten Dateien in denen mehrere single-Variablen untereinander gespeichert sind.
In der Unit mit der ich das Problem habe sollen die vorher erstellten Dateien mit den Werten ausgelesen werden und aus diesen der Durchschnitt in einer Listbox auf der gleichen Position wie der Name der Datei in der anderen Listbox abgebildet werden. Die Abbildung der Namen in einem Array habe ich hinbekommen, möchte allerdings in ein zweites array an die gleiche Position die Durchschnittswerte setzen. Das Problem ist, dass ich bei meinem jetzigen Stand des Programmes, beim kompilieren die Error-Meldung "Das Projekt 'EPGRechner hat Exception-Klasse >>RunError(2)<< ausgelöst." und verweist auf Zeile 83 mit dem Befehl "Reset(WertDatei);". Hoffe ihr könnt mir helfen und sagen woran es liegt. Auch über verbesserungsvorschläge freu ich mich natürlich

Hier der Quellcode der betroffenen Unit:
Code: Alles auswählen
unit d3eprcompare;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls;
type
{ TForm3 }
TForm3 = class(TForm)
ButtonCompare: TButton;
ListBoxCompareWCaption: TListBox;
ListBoxCompareCaption: TListBox;
RadioButtonEP: TRadioButton;
RadioButtonG: TRadioButton;
procedure ButtonCompareClick(Sender: TObject);
procedure ButtonSearchClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RadioButtonEPClick(Sender: TObject);
procedure RadioButtonGClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
var
gelesen, twert, dateiN, tgesamt, test: string;
schleife, wdh: integer;
wert, gesamt: single;
dateienListe: array of string;
werteListe: array of string;
end;
var
Form3: TForm3;
implementation
{$R *.lfm}
{ TForm3 }
var TextDatei, WertDatei: TextFile;
procedure TForm3.ButtonSearchClick(Sender: TObject);
begin
end;
procedure TForm3.ButtonCompareClick(Sender: TObject);
begin
//Abbilde Button
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
//prüft automatisch auf EP Dateien
AssignFile(TextDatei, 'searchEP.txt');
Reset(TextDatei);
readLn(TextDatei, test);
CloseFile(TextDatei);
if test<>''then begin
RadioButtonG.Checked:=false;
ListBoxCompareCaption.Clear;
gelesen:='KMKrokoQual1EP';
schleife:=0;
wdh:=0;
AssignFile(TextDatei, 'searchEP.txt');
Reset(TextDatei);
repeat
readLn(Textdatei, gelesen);
ListBoxCompareCaption.Items.Add(gelesen);
setLength(dateienListe, Length(dateienListe)+1);
dateienListe[High(dateienListe)]:= gelesen;
until EOF(TextDatei);
CloseFile(TextDatei);
repeat
AssignFile(WertDatei, gelesen+'.txt');
Reset(WertDatei);
repeat
readLn(WertDatei, twert);
wert:=StrToFloat(twert);
gesamt:=gesamt+wert;
wdh:=wdh+1;
until EOF(WertDatei);
CloseFile(WertDatei);
gesamt:=gesamt/wdh;
tgesamt:=FloatToStr(gesamt);
ListBoxCompareWCaption.Items.Add(tgesamt);
schleife:=schleife+1;
until schleife=Length(dateienListe);
end;
end;
procedure TForm3.RadioButtonEPClick(Sender: TObject);
begin
//EP Box Auswahl
RadioButtonG.Checked:=false;
ListBoxCompareCaption.Clear;
AssignFile(TextDatei, 'searchEP.txt');
Reset(TextDatei);
repeat
readLn(Textdatei, gelesen);
ListBoxCompareCaption.Items.Add(gelesen);
until EOF(TextDatei);
CloseFile(TextDatei);
end;
procedure TForm3.RadioButtonGClick(Sender: TObject);
begin
//Gold Box Auswahl
RadioButtonEP.Checked:=false;
ListBoxCompareCaption.Clear;
AssignFile(TextDatei, 'searchG.txt');
Reset(TextDatei);
repeat
readLn(TextDatei, gelesen);
ListBoxCompareCaption.Items.Add(gelesen);
until EOF(TextDatei);
CloseFile(TextDatei);
end;
end.