1. s должно быть именно string
2. не вижу задание s значения.
3. Такой код лучше переписать на циклы типа:
Код:
var
i, n : Integer;
s : String;
begin
n := 0;
s := Edit1.Text; // начальное значение
For I := 1 To Length(s) Do
If s[i] = 'a' Then
Begin
s[i] := 'a';
Inc(n);
End;
If s[i] = ' ' Then
Begin
s[i] := '-';
Inc(n);
End;
end;
Условия по флажкам сам добавишь
