Ну у тебя там есть серьёзные ошибки, симантические то есть логика работы нарушена.
Во-первых
string это и есть массив из символов
Во-вторых ты там присваеваешь Edit1.Text:=s; хотя должно быть наоборот.
Вот тебе верный вариант.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s: string; i: integer;
begin
s:=Edit1.Text;
For i:=1 to Length(s) do
if StrToInt(s[i]) mod 2 = 0 then Memo1.Lines.Add(s[i])
else Memo2.Lines.Add(s[i]);
end;