Como posso calcular uma diferença entre duas strings?

Eu quero criar uma função no Delphi que calcula diferentes níveis de duas seqüências de caracteres. Se duas strings forem iguais (ignorando maiúsculas e minúsculas), deverá retornar 0, mas se elas não forem iguais, deverá retornar o número de caracteres diferentes. Essa função pode ser muito útil para verificar a ortografia.

<code>function GetDiffStringLevel(S1,S2:string):Integer;
begin
  if SameText(S1,S2) then Exit(0);
  // i want get different chars count
end
</code>

código de amostras:

<code>Diff:=GetDiffStringLevel('Hello','Hello');// Diff:=0;
Diff:=GetDiffStringLevel('Hello','2Hello');// Diff:=1;
Diff:=GetDiffStringLevel('Hello','H2ello');// Diff:=1;
Diff:=GetDiffStringLevel('Hello','Hello W');// Diff:=2;
Diff:=GetDiffStringLevel('Hello','World');// Diff:=6; or 5
</code>

questionAnswers(2)

yourAnswerToTheQuestion