function Get_Word_From_String( Sx : String; NumWord : integer; UnChar: String=' '; YesAllTrim_Before: boolean=true ) : String; //Получить слово из строки Sx по номеру NumWord. UnChar - множество разделителей //YesAllTrim_Before - если TRUE, то перед анализом удалить из строки левые и правые пробелы Var InWord : byte; NumWordCur, i : integer; begin Result:=''; if YesAllTrim_Before then Sx:=trim(Sx); if length(Sx)>0 then begin if NumWord>0 then begin InWord := 0; NumWordCur:=0; i:=0; while i<length(Sx) do begin i:=i+1; if POS(Sx[i],UnChar)<=0 then begin //этот символ - НЕ разделитель if InWord<=0 then NumWordCur:=NumWordCur+1; //мы - на начале слова InWord:=1; //Мы внутри слова if NumWordCur=NumWord then begin //Это - наше слово Result:=Result+Sx[i]; //и мы его выдираем из строки end; end else begin //этот символ - разделитель InWord:=0; //Мы снаружи слова if NumWordCur=NumWord then begin //Это было - наше слово i:=length(Sx)+1; //поэтому, выходим из цикла и функции end; end; end; end; end; end;