Загрузка данных


unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    RadioGroup1: TRadioGroup;
    Memo1: TMemo;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Memo2: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;

    procedure FormShow(Sender: TObject);

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormShow(Sender: TObject);
var
  F: TextFile;
  S: string;
begin
  ComboBox1.Items.Clear;

  if not FileExists('Sport.txt') then Exit;

  AssignFile(F, 'Sport.txt');
  Reset(F);

  while not Eof(F) do
  begin
    ReadLn(F, S);

    S := Trim(S);

    { Добавляем только уникальные виды спорта }
    if (S <> '') and (ComboBox1.Items.IndexOf(S) = -1) then
      ComboBox1.Items.Add(S);
  end;

  CloseFile(F);
end;

procedure TForm2.Button1Click(Sender: TObject);
var
  F: TextFile;
  S: string;
begin
  Memo1.Clear;
  Memo2.Clear;

  if not FileExists('Sport.txt') then Exit;

  AssignFile(F, 'Sport.txt');
  Reset(F);

  while not Eof(F) do
  begin
    ReadLn(F, S);

    Memo1.Lines.Add(S);

    if S = ComboBox1.Text then
      Memo2.Lines.Add(S);
  end;

  CloseFile(F);
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  Memo1.Lines.SaveToFile('otbor.txt');
  ShowMessage('Сохранено');
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
  ShowMessage('Функция больше не используется');
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
  Close;
end;

procedure TForm2.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then
      ComboBox1.Items.Add(ComboBox1.Text);

    Key := #0;
  end;
end;

end.