unit Unit1;

interface

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

type
  inf=record
    name:string;
    tel:real;
  end;

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Memo2: TMemo;
    Memo1: TMemo;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    procedure novy(tel:real;men:string);
    procedure zmas(tel:real;men:string);
    procedure hladajmen(tel:real;var index:integer);
    procedure hladajtel(men:string;var index:integer);
    procedure vypis(index:integer);
    {procedure chyba;
    procedure chyba2;}
    procedure FormCreate(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  f:text;
  Form1: TForm1;
  zoznam:array[1..100] of inf;
  n,co,index:integer;
implementation

{$R *.DFM}
{procedure TForm1.chyba;
begin
  messagedlg('Nazadal sa priezvisko!',mtinformation,[mbok],0);
end;}

{procedure TForm1.chyba2;
begin

 messagedlg('Nezadal si tel. cislo!',mtinformation,[mbok],0);
end;}

procedure TForm1.novy(tel:real;men:string);
begin
  n:=n+1;
  zoznam[n].name:=men;
  zoznam[n].tel:=tel;
end;

procedure TForm1.zmas(tel:real;men:string);
var  i,j,k:integer;
begin
  if n>=1 then
  begin
     assignfile(f,'mojsubor');
     rewrite(f);
    for i:=1 to n do
     if (zoznam[i].name=men) and (zoznam[i].tel=tel) then
         begin
           for j:=i to n-1 do
            begin
              zoznam[j].name:=zoznam[j+1].name;
              zoznam[j].tel:=zoznam[j+1].tel;
            end;
           n:=n-1;
           for k:=1 to n do writeln(f,(zoznam[k].name+'     '+floattostr(zoznam[k].tel)));
         end;
       closefile(f);
       edit1.text:=inttostr(n);
   end
   else  messagedlg('Niet co mazat',mtinformation,[mbok],0);
end;


procedure TForm1.hladajmen(tel:real;var index:integer);
var i:integer;
begin
  if n>0 then
  begin
    i:=1;
    while zoznam[i].tel<>tel do i:=i+1;
    if i<=n then index:=i
            else  messagedlg('GRATULUJEME hladajmen',mtinformation,[mbok],0);
  end;
end;


procedure TForm1.hladajtel(men:string;var index:integer);
var i:integer;
begin
  if n>0 then
  begin
    i:=1;
    while zoznam[i].name<>men do i:=i+1;
    if i<=n then index:=i
            else  messagedlg('GRATU hladajtel',mtinformation,[mbok],0);
  end;
end;


procedure TForm1.vypis(index:integer);
var i:integer;
begin
  memo1.Clear;
  memo2.Clear;
  if index<=n then
  begin
    for i:=index to n do
      begin
        memo1.Lines.Append(zoznam[i].name);
        memo2.Lines.Append(floattostr(zoznam[i].tel));
      end;
  end;

end;


procedure TForm1.FormCreate(Sender: TObject);
var i,k:integer;
    b:string;
begin
  co:=1;
  memo1.Clear;
  memo2.Clear;
  radiobutton1.checked:=true;
  radiobutton2.checked:=false;
  n:=0;
   i:=0;
  assignfile( f,'mojsubor.txt');
  reset(f);
   while (not eof(f)) and (i<100) do
   begin
    i:=i+1;
    readln(f,b);
    k:=pos(' ',b);
    zoznam[i].name:=copy (b,1,k-1);
    zoznam[i].tel:=strtofloat(copy(b,k+1,length(b)));
   end;
  n:=i;
  edit1.text:=inttostr(n);
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
 co:=1;
 radiobutton1.checked:=true;
 radiobutton2.checked:=false;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
  co:=2;
  radiobutton2.checked:=true;
  radiobutton1.checked:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if n>0 then
  begin
  case co of
  1:begin
      if edit2.text=''then  messagedlg('Nezadali ste meno',mtinformation,[mbok],0)
      else begin
                 hladajtel(edit2.text,index);
                 edit3.text:=floattostr(zoznam[index].tel);
           end;

    end;
  2:begin
      if edit3.text=''then  messagedlg('Nezadali ste tel. cislo',mtinformation,[mbok],0)
      else begin hladajmen(strtofloat(edit3.Text),index);
                 edit2.text:=zoznam[index].name;
           end;
    end;
  end;
 end;
 if (n=0) then  messagedlg('Niet co mazat',mtinformation,[mbok],0);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
   novy(strtofloat(edit3.Text),edit2.text);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  vypis(1);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  zmas(strtofloat(edit3.Text),edit2.text);
  edit2.text:='';
  edit3.text:='';
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
 halt;
end;


end.
