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