Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Ini-Verschlüsselung mit Class Helper

  Alt 24. Sep 2009, 09: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
$2B or not $2B
  Mit Zitat antworten Zitat