Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Программа должна иметь интерфейс на основе формы (FormsABC). Выводить содержимое очереди в ListBox. 

При реализации очереди предусмотреть возможность: 

а) добавления в конец очереди; 

б) удаление элемента из начала очереди; 

в) возможность редактирования первого и последнего элементов очереди. 

Организовать очередь дисциплин: хранить название дисциплины и количество часов (Пользователь вводит информацию). 

В файле прикреплена часть программы, желательно, использовать эти наработки. Если быть точнее, то не работает кнопка изменения первого элемента в очереди.

uses

  formsABC;

type

  stack = ^Tstack;

  Tstack = record

    next: stack;

    name: string;

    h, i: integer;

  end;

var

  head, tail, tmp, tm: stack;

  L: listbox;

  bt, bt1, bt2, bt3: button;

  f: field;

  hour: integerfield;

  s: array of string;

  a, i: integer;

procedure add(head: stack; name: string; h: integer; tail: stack);

begin

  new(tmp);

  L.Items.Add(name + ' - ' + inttostr(h));

  tmp^.name := name;

  tmp^.h := h;

  tmp^.next := nil; 

  if head

  begin

    tail^.next := tmp;

    tail := tmp;   

  end

  else

  begin

    head := tmp;

    tail := tmp;   

  end;

end;

procedure addy;

begin

  add(head, f.text, hour.Value, tail);

end;

procedure dell(head: stack);

begin

  if head

  begin

    tmp := head;

    head := head^.next;

    dispose(tmp);

  end;

end;

procedure delly;

begin

  dell(head);

  L.Items.RemoveAt(0);

end;

procedure add1(head: stack; name: string; h: integer; tail: stack);

begin

  new(tm);

  tm^.name := name;

  tm^.h := h;

  tm^.next := nil; 

  if head

  begin

    tail^.next := tm;

    tail := tm;   

  end

  else

  begin

    head := tm;

    tail := tm;   

  end;

  L.Items.Add(name + ' - ' + inttostr(h));

end;

procedure add2;

begin

  add1(head, f.text, hour.Value, tail);

end;

procedure editf1;

begin

  delly;

  add2;

end;

procedure dele(var head: stack);

begin

  if head

  begin

  tmp := head;

  head := tmp^.next;

  Dispose(tmp);

  end;

end;

procedure del;

begin

  dele(head);

  l.Items.RemoveAt(l.Items.Count - 1)

end;

procedure editl1;

begin

  del;

  addy;

end;

begin

  L := new ListBox();

  bt := new Button('Добавить');

  emptyline;

  f := new Field('Название дисциплины');

  hour := new IntegerField('Кол-во часов');

  emptyline;

  bt1 := new Button('Удалить');

  bt3 := new Button('Изменить первый элемент');

  bt2 := new Button('Изменить последний элемент');

  bt.Click += addy;

  bt1.Click += delly;

  bt2.Click += editl1;

  bt3.Click += editf1;

end.

5 лет назад
guest_15438408619079
5 лет в сервисе
Был
5 лет назад
  • Похожие заказы
  • Имеется база данных, выполненная, но неправильно. Необходимо исправить ее так, чтобы она удовлетворяла заданию. Таблицы имеются все со связями и заполненные, утверждены преподавателем. Вопросы именно по макросам, запросам, формам. Есть отчет как это должно выглядеть. Если ...

    Закрыт
    5 лет назад
  • Нужно сделать лабораторные , прикрепляю пока только одну как пример всего их семь . В документах будет дана методичка и пример моего одногруппника как нужно сделать, изменить нужно только тему работы всё остальное остаётся как ...

    Закрыт
    5 лет назад
  • СРВ бортового компьютера самолета. 1. Первая форма кнопка Пуск. Нажали  работает график РВ, время начинает отчет таймер (т.е время полета). Далее пишется система герметична, набирается высота до определенного момента тоже в РВ. Также вышла Температура за ...

    Завершен
    5 лет назад
  • [b]Темаработы:[/b] «Клиент-серверное взаимодействие по протоколу UDP». [b] [/b] [b]Цельработы:[/b] создать программную реализацию клиент-серверноговзаимодействия на языке C/C++. Выделить основные теоретические ипрактические положения организации клиент-серверного взаимодействия.[b]Темаработы:[/b] «Клиент-серверное взаимодействие по протоколу UDP». [b] [/b] [b]Помогите сделать лабораторку по архитектуре информационных систем[/b]

    Закрыт
    5 лет назад
  • [b]Завдання:[/b]З використанням IDEFO-технологій побудувати функціональну модель процесу, вказаного в таблиці згідноваріанту (контекстну діаграму). Представити додіаграми: список даних, список функцій, глосарій, правове забезпечення досліджуваного процесу.[b]Завдання:[/b]З використанням IDEFO-технологій побудувати функціональну модель процесу, вказаного в таблиці згідноваріанту (контекстну діаграму). ...

    Закрыт
    5 лет назад
  • Добрый день. Работа выполняется в TM в бесплатной версии TRACE MODE IDE 6 (base) Мой вариант нужно выполнить на примере любой стиральной машины использовав 1-3 любых датчика. Примерная структура Выбор объекта (описание, технические характеристики) Структурная схема с описанием Реализация в TM ...

    Закрыт
    5 лет назад
  • Добрый день. Работа выполняется в TM в бесплатной версии TRACE MODE IDE 6 (base) Мой вариант нужно выполнить на примере любой стиральной машины использовав 1-3 любых датчика. Примерная структура Выбор объекта (описание, технические характеристики) Структурная схема с описанием Реализация в TM ...

    Закрыт
    5 лет назад