// Funktion fuers Memo
function CensorMemo(Memo: TMemo): Boolean;
var
S: string;
i: integer;
begin
try
Assert(Assigned(Memo));
for i := 0 to Memo.Lines.Count-1 do
begin
S := UpperCase(Memo.Lines.Strings[i]);
//English Words
S := StringReplace(S, 'FUCK', 'F**K', [rfReplaceAll]);
S := StringReplace(S, 'BITCH', 'B***H', [rfReplaceAll]);
S := StringReplace(S, 'FUCKER', 'F***ER', [rfReplaceAll]);
S := StringReplace(S, 'ASSHOLE', 'A**HOLE', [rfReplaceAll]);
S := StringReplace(S, 'SHIT', 'S**T', [rfReplaceAll]);
S := StringReplace(S, 'NIGER', 'AFRICAN', [rfReplaceAll]);
S := StringReplace(S, 'NIGGER', 'AFRICAN', [rfReplaceAll]);
S := StringReplace(S, 'FUCKING', 'F***ING', [rfReplaceAll]);
//German Words
S := StringReplace(S, 'ARSCHLOCH', 'A****loch', [rfReplaceAll]);
S := StringReplace(S, 'WIXER', '<PIEP>', [rfReplaceAll]);
S := StringReplace(S, 'SCHLAMPE', 'PROMISKE PERSON', [rfReplaceAll]);
S := StringReplace(S, 'PENNER', 'OBDACHLOSER', [rfReplaceAll]);
S := StringReplace(S, 'KANAKE', 'UNSOZIALE PERSON', [rfReplaceAll]);
S := StringReplace(S, 'PARASIT', 'UNSOZIALE PERSON', [rfReplaceAll]);
S := StringReplace(S, 'HURRE', 'Prostituierte', [rfReplaceAll]);
S := StringReplace(S, 'HURE', 'Prostituierte', [rfReplaceAll]);
S := StringReplace(S, 'HURRENSOHN', 'SOHN EINER Prostituierten', [rfReplaceAll]);
S := StringReplace(S, 'HURRENTOCHTER','TOCHTER EINER Prostituierten', [rfReplaceAll]);
S := StringReplace(S, 'HURENSOHN', 'SOHN EINER Prostituierten', [rfReplaceAll]);
S := StringReplace(S, 'HURENTOCHTER','TOCHTER EINER Prostituierten', [rfReplaceAll]);
S := StringReplace(S, 'KAKKE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'KAKE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'KAGE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'WIXE', 'EJAKULAT', [rfReplaceAll]);
S := StringReplace(S, 'WIX', 'EJAKULAT', [rfReplaceAll]);
S := StringReplace(S, 'SCHEISSE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'SCHEISS', 'SCH***S', [rfReplaceAll]);
S := StringReplace(S, 'ARSCH', 'A***H', [rfReplaceAll]);
Memo.Lines.Strings[i] := LowerCase(S);
end;
Result := True;
except
Result := False;
end;
end;
//Funktion fuers TRichEdit
function CensorRichText(RTF: TRichEdit): Boolean;
var
S: string;
i: integer;
begin
try
Assert(Assigned(RTF));
for i := 0 to RTF.Lines.Count-1 do
begin
S := UpperCase(RTF.Lines.Strings[i]);
//English Words
S := StringReplace(S, 'FUCK', 'F**K', [rfReplaceAll]);
S := StringReplace(S, 'BITCH', 'B***H', [rfReplaceAll]);
S := StringReplace(S, 'FUCKER', 'F***ER', [rfReplaceAll]);
S := StringReplace(S, 'ASSHOLE', 'A**HOLE', [rfReplaceAll]);
S := StringReplace(S, 'SHIT', 'S**T', [rfReplaceAll]);
S := StringReplace(S, 'NIGER', 'AFRICAN', [rfReplaceAll]);
S := StringReplace(S, 'NIGGER', 'AFRICAN', [rfReplaceAll]);
S := StringReplace(S, 'FUCKING', 'F***ING', [rfReplaceAll]);
//German Words
S := StringReplace(S, 'ARSCHLOCH', 'A****loch', [rfReplaceAll]);
S := StringReplace(S, 'WIXER', '<PIEP>', [rfReplaceAll]);
S := StringReplace(S, 'SCHLAMPE', 'PROMISKE PERSON', [rfReplaceAll]);
S := StringReplace(S, 'PENNER', 'OBDACHLOSER', [rfReplaceAll]);
S := StringReplace(S, 'KANAKE', 'UNSOZIALE PERSON', [rfReplaceAll]);
S := StringReplace(S, 'PARASIT', 'UNSOZIALE PERSON', [rfReplaceAll]);
S := StringReplace(S, 'HURRE', 'Prostituierte', [rfReplaceAll]);
S := StringReplace(S, 'HURE', 'Prostituierte', [rfReplaceAll]);
S := StringReplace(S, 'HURRENSOHN', 'SOHN EINER Prostituierten', [rfReplaceAll]);
S := StringReplace(S, 'HURRENTOCHTER','TOCHTER EINER Prostituierten', [rfReplaceAll]);
S := StringReplace(S, 'KAKKE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'KAKE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'KAGE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'WIXE', 'EJAKULAT', [rfReplaceAll]);
S := StringReplace(S, 'WIX', 'EJAKULAT', [rfReplaceAll]);
S := StringReplace(S, 'SCHEISSE', 'FÄKALIEN', [rfReplaceAll]);
S := StringReplace(S, 'SCHEISS', 'SCH***S', [rfReplaceAll]);
S := StringReplace(S, 'ARSCH', 'A***H', [rfReplaceAll]);
RTF.Lines.Strings[i] := LowerCase(S);
end;
Result := True;
except
Result := False;
end;
end;