function TEtc.CommandSet(var s:string):TStringList; stdcall;
var
i,v:integer;
buf,com,files,proct :string;
Res:tstringlist;
spn,check:array[0..1] of integer;
begin
i:=0;
buf := '';
spn[0] := 0;
spn[1] := 0;
check[0] := 0;
check[1] := 0;
v:=0;

if (s = '') then
begin
s := 'NoCommand Cracking?';
end;

for i := 0 to length(s) do
begin
if (s[i] = ' ') and (v < 2) then
begin
spn[v] := i;
inc(v);
end;

end;


if v = 1 then
begin
com := copy(s,1,spn[0]-1);
files := copy(s,spn[0]+1,length(s)-spn[1]);
proct := '';
end;

if v = 2 then
begin
com := copy(s,1,spn[0]-1);
files := copy(s,spn[0]+1,spn[1]-(spn[0]+1));
proct := copy(s,spn[1]+1,length(s)-spn[1]);
end;

Res := TStringList.Create;
Res[0] := com;
Res[1] := files;
Res[2] := proct;

result := Res;

end;