Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

Re: Ini-Verschlüsselung mit Class Helper

  Alt 24. Sep 2009, 08:00
Wie gesagt, Class Helper können die Klassen nicht direkt ändern, sondern nur etwas NEUES dazuschmuggeln,

aber hier gibt es einen Trick

Die Unit muß als letzes (nach "IniFiles) dort eingebunden werden, wo die Ini-Klassen erstellt werden.
Dann wird TIniFile.Create ersetzt und es werden überall die neuen Funktionen verwendet,
da lokal (nachfolgend) immer die letzte Deklaration sichtbar ist und diese Funktionen praktischer Weise virtual sind.
Delphi-Quellcode:
unit EncyptedIniFiles;

interface
  uses IniFiles;

  type TIniFile = class(IniFiles.TIniFile)
    function ReadString(const Section, Ident, Default: string): string; override;
    procedure WriteString(const Section, Ident, Value: String); override;
  end;

implementation
  function TIniFile.ReadString(const Section, Ident, Default: string): string;
  begin
    Result := Decypted(inherited ReadString(Section, Ident, Default));
  end;

  procedure TIniFile.WriteString(const Section, Ident, Value: String);
  begin
    inherited WriteString(Section, Ident, Encypted(Value));
  end;

end.
Besser wäre es aber, wenn man DIESE TIniFile z.B. in TEncryptedIniFile umbenennt und dann überall TEncryptedIniFile.Create verwendet ... es geht aber auch wie oben, nur so wäre es "übersichtlicher".


Info: Die "angedeutete" Verschlüsselung muß aber noch "eingebaut" werden.

[edit]
och menno
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat