procedure TForm1.Button1Click(Sender: TObject);
var
s: TStringList;
k, i, m: integer;
begin
s := TStringList.Create;
s.Delimiter := ' ';
s.DelimitedText := Edit1.Text;
i := 0;
m := MAX_PATH;
while i <= (s.Count - 1) do
begin
if length(s[i]) < m then
begin
m := length(s[i]);
k := i;
end;
inc(i);
end;
s.Exchange(0, k);
Edit1.Text := s.DelimitedText;
s.Free;
end;