Erst einmal: schön, dass Du jetzt
class nutzt
Ein paar Tipps, ich habe jetzt nicht den kompletten Source studiert
Definieren einen Datentyp für
array of array of string;
Delphi-Quellcode:
type
TDoubleStringArray = array of array of string;
// und
TStringArray = array of string;
Dadurch wird die Parameterübergabe u.U. einfachen
Ausserdem würde ich einen Record zu definieren. Aus
Delphi-Quellcode:
type
TDatenNeu = class
private
public
FDaten : array of array of string;
end;
würde dann
Delphi-Quellcode:
type
TDatenNeu = record
Daten : TDoubleStringArray;
end;
Wandle die
PUBLIC Daten in Properties um, das gibt Dir mehr Kontrolle. Ausserdem ist es unüblich direkten Zugriff auf Variablen einer Klasse zu geben - zumal diese dann mit
F beginnen. Aus
Delphi-Quellcode:
public
FSeparator : char;
FNullByte : char;
FFileName : string;
wird
Delphi-Quellcode:
private
FSeparator : char;
FNullByte : char;
FFileName : string;
public
property Separator: char read FSeparator write FSeparator;
property NullByte: char read FNullByte write FNullByte;
property FileName: string read FFileName write FFileName;
Dadurch kannst Du die Änderungen in diesen Variablen auf Wunsch auch abfangen, wenn Du Prozeduren an dieser Stelle nutzt (nicht gezeigt).
Nutze einen
destructor Destory; override;, um deine dynamischen Arrays ggf. wieder vollständig zu leeren. Dynamische Arrays mit Strings können Probleme bereiten.
Nutzte try...finally...end Statements, um Dateihandles und Objekte garantiert freizugeben.
Abschließend: Die
Unit ist schon um weites besser als das Original. Weiter so
...

...