Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - array of file?


kat1 - Mo 02.06.03 11:19
Titel: array of file?
Hallo,

habe mal wieder eine für den Fachmann sicherlich einfache Frage, aber ich bin mir nun mal nicht sicher und die Hilfe sagt auch nix drüber aus.

Ich habe in einem ersten Programm auf verschiedenen Rechnern einige Millionen Koeffizienten berechnen lassen, die nun auf verschiedene und insgesamt 20 Files verteilt sind. In meinem neuen Programm will ich diese Files alle auslesen, aber ich möchte ungern 20 Variablen definieren.

Gibt es nicht so etwas wie

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
type
  Gaunt=packed record
    GC:extended;
  end;
var
  a:array[1..20of file of Gaunt;
begin
  for i:=1 to 20 do
    AssignFile(a[i],'GauntCoeff_20_'+IntToStr(i)+'.dat');
end;

Danke im voraus für Eure Hilfe.

Uwe


Tweafis - Mo 02.06.03 11:32

müsste eigentlich funzen, du musst halt alle operationen in ner for schleife durchführen. (Reset, Write, Read, Close)


Klabautermann - Mo 02.06.03 11:35

Hallo,

willst du die Dateien alle gleichzeitig auslesen oder nacheinander?
Wenn du sie nacheinander liest, würde nämlich eine File Variable ausreichen.

Wo ist bei dem von dir geposteten Code das Problem? Das müsste doch so gehen.

Gruß
Klabautermann


kat1 - Mo 02.06.03 11:42

Hallo nochmal,

habe nur nich gefunden, ob ein array auch mit einem file arbeitet. Kann aber im Moment noch nicht testen, mir fehlen noch ein paar Werte.

@Klabautermann, die Variablen werden nachher in einer Verschachtelung von sechs Schleifen an die Prozedur übergeben, die das Auslesen der einzelnen Koeffizienten übernimmt. Da also die einzelnen Elemente ständig geändert werden, dachte ich, dass es sinnvoller ist, alle Files zu öffnen. Lass mich aber gerne eines besseren belehren.

Ansonsten nochmal danke.

Uwe


Klabautermann - Mo 02.06.03 14:16

Hallo,

d.h. Es kann passieren, dass erst File1 Dann File3 und dann wieder File1 benötigt wird? Wenn ja dann solltest du tatsächlich mehrere Variablen verwenden.
Ansonsten sehe ich keinen Grund, warum es die Dateivariablen interessieren sollte ob sie bestandteil eines Arrays sind oder nicht.

Gruß
Klabautermann


Tweafis - Mo 02.06.03 14:20

kat1 hat folgendes geschrieben:
@Klabautermann, die Variablen werden nachher in einer Verschachtelung von sechs Schleifen an die Prozedur übergeben, die das Auslesen der einzelnen Koeffizienten übernimmt. Da also die einzelnen Elemente ständig geändert werden, dachte ich, dass es sinnvoller ist, alle Files zu öffnen. Lass mich aber gerne eines besseren belehren.


Ich glaube daraus kann man entnehmen dass er immer abwechselnd aus den Files liest, oder? (bin auch nicht ganz sicher)