Einzelnen Beitrag anzeigen

CodeX

Registriert seit: 30. Okt 2004
471 Beiträge
 
Delphi 12 Athens
 
#1

Ini-Verschlüsselung mit Class Helper

  Alt 23. Sep 2009, 23:47
Vorab: Ich habe vor diesem Posting viel gesucht und nachgelesen. Und nein, ich habe keine passende Antwort gefunden.

Ich möchte ein gegebenes, größeres Projekt so erweitern, dass die geschriebenen Werte in eine Ini verschlüsselt abgelegt und gelesen werden können.
TIniFile ableiten und entsprechende Zusatzfunktionen einbauen würde Unmengen an Änderungen am bestehenden Code mit sich bringen. Das ist nicht gewünscht.

Das bedeutet, dass weiterhin ganz normal z.B. per
Delphi-Quellcode:
var ini: TIniFile;
begin
  ini := TIniFile.Create(IniName);
  try
    myString := ini.ReadString('Section','Ident','');
  finally
    ini.Free;
  end;
ein String ausgelesen werden können soll. Nur eben beim Lesen entschlüsselt.

Wie lässt sich das nun umsetzen?
Meinde Idee war einen Klassenhelfer zu verwenden. Da ich bislang noch nicht damit gearbeitet habe, stolpere ich damit durch die Gegend.

Ich dachte, das ginge jetzt so in der Art:

Delphi-Quellcode:
type
  TIniFileHelper = class helper for TIniFile
    function ReadString(const Section, Ident, Default: string): string;
  end;

implementation

function TIniFileHelper.ReadString(const Section, Ident, Default: string): string;
begin
  //hier später die Entschlüsselung

  inherited;
end;
Überschrieben wird das damit schonmal, aber das Erben der normalen Funktionalität klappt nicht. Ginge das, könnte ich an Stelle des Kommentars die Funktion erweitern.

Wie also statt des "inherited" Versuchs richtig?
  Mit Zitat antworten Zitat