unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    Memo1: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    BitBtn1: TBitBtn;
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure FormActivate(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
ComboBox1.Items.Add(ComboBox1.Text);
ComboBox1.Text:='';
                end;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
ComboBox1.SetFocus;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
var st,chislo:string;//St содержит значение введенной строки символов
    i,v,j,nst,sch:integer;//nst - номер строки(ItemIndex) в ComboBox
    mas:array[1..20] of integer;//массив используемый для сортировки чисел
begin

 {Присвоение значения переменной St}
   nst:=ComboBox1.ItemIndex;
   st:=ComboBox1.Items[nst];

 {Присвоение начальных значений переменным}
   sch:=1;
   i:=1;
   chislo:='';
 {Заполнение массива}
While i<=Length(st) do begin   // i - вспомогательная переменная

if ((st[i]=' ') and (chislo<>'')) then begin //ввод числа в массив
  mas[sch]:=StrToInt(chislo);
  chislo:='';// подстрока цифр, отделенная пробелами
  sch:=sch+1;//sch - счетчик позиций в массиве
end
else
if ((st[i]=' ') and (chislo='')) then i:=i+1
 else
 if st[i]<>' ' then begin
 chislo:=chislo+st[i];
 i:=i+1;
 end;

   end;
if chislo<>'' then mas[sch]:=StrToInt(chislo);//вывод последней подстроки

{Вывод отсортированного массива в Memo1}
 Memo1.Clear;
  for i:=1 to sch do
   if (mas[i] mod 2)=0 then Memo1.Lines.Add(IntToStr(mas[i]));
end;

{Открытие формы}
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
end;

end.
