Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#15
  Alt 18. Feb 2003, 12:58
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

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat