Eigentlich wurde alles schon gesagt, aber vielleicht noch das Wesentliche: Edit1.Text enthält einen String, sl.Delimiter möchte einen Char. Du kannst einem Char nicht ein String zuweisen. Umgekehrt geht es, aber nicht so. String ist eine Zeichenkette, Char nur ein Zeichen.
Eine Möglichkeit ist so wie oben, wobei ich es so nicht machen würde, denn wenn Edit1.Text leer ist und du über Edit1.Text[1] liest, dann kracht es.
Besser ist so:
Delphi-Quellcode:
if Length(Edit1.Text) > 0 then
sl.Delimiter := Edit1.Text[1]
else
... was auch immer