Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Листинг 6.3. Текст модуля формы с графиком





Помощь в ✍️ написании работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

unit Unit2;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, DbChart, Series, StdCtrls;

 

type

TForm2 = class(TForm)

DBChart1: TDBChart;

Series1: TLineSeries;

Series2: TLineSeries;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form2: TForm2;

 

implementation

uses Unit1,Unit3;

{$R *.dfm}

 

procedure TForm2.Button1Click(Sender: TObject);

begin

Form2.Hide;

end; end.

 

Листинг 6.4. Текст модуля формы с отчетом

unit Unit3;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, QRCtrls, QuickRpt, ExtCtrls, Menus;

 

type

TForm3 = class(TForm)

QuickRep1: TQuickRep;

QRBand1: TQRBand;

QRLabel1: TQRLabel;

QRBand2: TQRBand;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRBand3: TQRBand;

QRBand4: TQRBand;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRDBText4: TQRDBText;

QRDBImage1: TQRDBImage;

QRExpr1: TQRExpr;

QRExpr2: TQRExpr;

QRLabel6: TQRLabel;

QRLabel7: TQRLabel;

QRLabel8: TQRLabel;

QRLabel9: TQRLabel;

QRSysData1: TQRSysData;

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form3: TForm3;

 

implementation

uses Unit1,Unit2;

{$R *.dfm}

 

procedure TForm3.N1Click(Sender: TObject);

begin

Form3.Hide;

end; end.


Варианты заданий на работу с локальными базами данных

1. Система обработки данных ведомости отгрузки товара со склада

Наименование товара Наличие товара до отгрузки Количество отгруженного товара Цена за единицу товара Стоимость отгру­женного товара Остаток товара на складе

2. Система обработки данных о платежных требованиях

Наименование товара Артикул Цена 1 шт. в руб. Количество в шт. Стоимость товара

3. Система обработки данных ведомости расхода продуктов за 2001 год в рублях

Номер участка Месяц Наименование продукта Расход по норме Фактический расход Недорасход или перерасход

4. Система обработки данных «Сводка о выполнении плана»

Наименование продукции Артикул План выпуска в рублях Фактически выпущено % выполнения плана

5. Система обработки данных ведомости сдачи экзаменационной сессии

Ns П/П Ф.И.О Оценка по АЯП Оценка по истории Оценка по ЭВМ Средний балл

6. Система обработки данных ведомости выполнения плана товарооборота по магазинам

Наименование магазина Дата Выручка в млн руб. по отделам
    магазину

7. Система обработки данных ведомости поступления продукции на склад

Наименование продукции Дата поступления Количество шт. Стоимость 1 шт. Общая

8. Система обработки данных ведомости начисления командировочных средств

ФИО. командированного Место назначения Стоимость проезда Оплата за 1 день Количество дней Сумма в рубл.

9. Система обработки данных ведомости начисления заработной платы сотрудник

Фамилия Ученая Оклад Надбавка Общая сумма Подоходный налог Сумма к выдаче

10.Система обработки данных ведомости учета стоимости расхода горючего авт транспортом

Ф.И.О. водителя Номерной знак авто­машины Расход на 100 км Общее расстояние в км Стоимость 1 л горючего Общая стои­мость горючего

11. Система обработки данных ведомости оплаты больничных листов

№ : п/п Ф.И.О. Стаж работы, лет Количество дней по больничному листу Стоимость 1 рабочего дня Сумма оплаты по больничному листу

12. Система обработки данных о перевозках самолетами

Тип самолета Номер борта Количество рейсов Налет в часах Стоимость 1 часа Стоимость полетов

13. Система обработки данных о детских садах

Наименование детского сада Номер сада Количество детей Район города Оплата за месяц Общая оплата

14. Система обработки данных «Книга - почтой».

Наименова-ние книги Ф.И.О. автора Номер по каталогу Издательство Стоимость 1 книги Заказ в шт. Стоимость заказа

15. Система обработки данных ведомости продукции склада за текущий месяц

Наименование продукции Остаток за преды­дущий месяц Приход за текущий месяц Расход за текущий месяц Остаток на конец месяца

16. Система обработки данных «Склады товаров»

Номер склада Наименование товара Артикул товара Цена единицы товара Количество товара Стоимость товара

17. Система обработки данных о квартирах

Адрес Площадь в кв. м. Сторона света Стоимость 1кв. м Этаж Количество комнат Стоимость квартиры

18. Система обработки данных ведомости расчета с поставщиками

Ф.И.О. поставщика Дата оплаты Сумма в руб.
    Подлежащая оплате Фактически оплаченная Недоплата или переплата

19. Система обработки данных ведомости начисления квартирной платы и платы коммунальные услуги

Ф.И.О. квартиросъемщика   Виды начислений в руб.
Квартплата Вода Отопление Электричество Радио Всего начислено

20. Система обработки данных ведомости начисления заработной платы

ФИО сотрудника Табельный номер   Сумма начислений в руб.
сдельно повременно Доплата за отпуск Всего начислено

21. Система обработки данных ведомости начисления заработной платы

Ф.И.О. сотрудника Табельный номер Начислено   Видя удержаний Всего удержано   К выдаче, руб.  
Подоход­ный налог Долг за рабо­тающим
             

22. Система обработки данных учета остатков товаров в магазине

Наименованиепродукции   Дата поступления Колич. Поступившего товара Дата отгрузки     Номер документа Колич. отгруженного товара Остаток товара  

23. Система обработки данных о заработной плате

Табель­ный номер Ф.И.О.     Начислено Вычеты Сумма к выдаче  
Всего     В том числе Всего     В том числе
Зар. плата   Премия Аванс Подоходный налог
                 

24. Система обработки данных ведомости работы расчетно-кассового узла универса­ма

Наименование товара Количество в наличии Продано коли­чество Стоимость ед. товара Общая ст. про­данного Остаток товара

25. Система обработки данных ведомости распределения зарплаты по заказам

Наименование цеха Количество рабо­тающих Зарплата в руб. по заказам Всего по цеху
           
             

Контрольные вопросы

1 Что такое база данных, таблица базы данных?

2 Какова структура приложений, работающих с базой данных?

3 Каково назначение BDE (BorlandDatabaseEngine - машины баз данных)?

4 Каково назначение системы BDEAdministrator?

5 Как установить драйвер языка с помощью системы BDEAdministrator?

6 Каковы назначение и основные возможности системы DataBaseDesktop (DBD)?

7 Как создать новый псевдоним и файл конфигурации базы данных с помощью сис­темы DBD?

8 Как разработать структуру записи таблицы базы данных с помощью системы DBD?

9 Каково назначение первичного и вторичных индексов таблицы базы данных?

10 Как определить основной и вторичный индексы таблицы базы данных?

11 Поясните назначение и основные свойства компонентов типа ТТаblе и TQuery.

12 Поясните назначение и основные свойства компонента типа TDataSource.

13 Поясните назначение и основные свойства компонента типа TDBNavigator.

14 Поясните назначение и основные свойства компонентов типа TDBGrid, TDBEdit, TDBImage.

15 Как настроить цвет фона и шрифт заголовков и данных столбцов компонента типа TDBGrid?

16 Как заполнить компонент типа TDBImage?

17 Как сформировать вычисляемое поле и поместить его в компонент типа TDBGrid?

18 Как настроить компонент типа TQuery со статическим запросом для отбора данных в таблицу типа TDBGrid?

19 Как настроить компонент типа TQuery с динамическим запросом - по условию, которое формируется в процессе выполнения приложения? Как передать факти­ческое значение в оператор SELECT компонента?

20 Как задать сортировку по одному из индексов?

21 Как вычислить сумму элементов столбца таблицы при непосредственном доступе к ее записям?

6.2. Приложение для соединения данных двух таблиц 1:1

Цель и задание на выполнение работы

Целью является разработка приложения, с помощью которого осуществляет­ся выбор данных из двух таблиц, не связанных на этапе разработки приложения Таблицы содержат данные о студентах:

- в 1-й таблице - сведения о студентах;

- во 2-й таблице - сведения об успеваемости студентов.

В обеих таблицах в качестве основного индекса используется поле Fio - с фамилией и инициалами студента. Надо разработать приложение, в котором при нажатии кнопки формируется набор данных, в котором в каждой строке содер­жатся все сведения о каждом студенте: из первой и второй таблиц.

Для выполнения работы и подготовки к ответам на контрольные вопросы на­до проработать материал разделов 9.1.4.4. и 9.5.2.3.

Процесс разработки приложения

Для разработки приложения создать каталог с именем, например, SV_STUD. В нем - подкаталог для размещения БД, например, с именем BASE.

Процесс разработки приложения включает следующие этапы:

1) установка русификатора для работы с таблицами типа Paradox7;

2) создание псевдонима новой базы данных и файла конфигурации, например, STUS с помощью подсистемы Desktop;

3) разработка структуры (полей) записи для двух таблиц базы данных;

4) разработка формы в составе:

- по 2 компонента типа Table, DataSource, DBGrid, DBNavigator и StringGrid,

- компонент Query,

- компонент типа Button со свойством Caption = Объединить.

Первые 3 пункта выполняются аналогично изложенному в разделах 6.1.3, 6.1.4 и 6.1.5.

Имя набора данных 1-й таблицы - с данными о студентах = STUD.DB.

Состав полей 1-й таблицы:

Fio - фамилия и инициалы, основной ключ;

Adres - домашний адрес;

God_R - год рождения;

Tel - телефон.

Имя набора данных с данными 2-й таблицы - об успеваемости студентов = USPEV.DB.

Состав полей 2-й таблицы:

Fio - фамилия и инициалы, основной ключ;

Mat- оценка по математике;

Fiz - оценка по физике;

Progr - оценка по программированию.

Установить свойство формы:

Caption = Формирование набора данных из двух таблиц

Установить выбором из списков свойства компонентов:

1) Table1: DataBaseName = STUS; TableName = STUD.DB; Active = True;

2) Table2: DataBaseName = STUS; TableName =USPEV.DB; Active = True;

3) Query1: DataBaseName = STUD; его свойство DataSource оставить в виде пустой строки;

4) DataSource1: Data Set = Table1; DataSource2: Data Set = Table2;

5) для DBGrid1 и DBNavigator1: Data Source = DataSource1;

6) для DBGrid2 и DBNavigator2: Data Source = DataSource2.

He устанавливать русские наименования заголовков таблиц типа DBGrid!

Отбор данных из двух таблиц осуществляется с помощью компонента Query1. Установить его свойство SQL:

SELECT * FROM STUD, USPEV WHERE STUD.FIO = USPEV.FIO

В соответствии с ним в одну строку формируемого набора данных будут ото­браны значения из 1-й и 2-й таблиц, у которых совпадают значения полей с фамилиями, т.е. STUD.FIO = USPEV.FIO.

В процессе настройки компонентов DBGrid не изменять заголовки столбцов, установленные по умолчанию.

Запустить приложение и заполнить таблицы несколькими записями с помо­щью компонентов DBNavigator1 и DBNavigator2.

6.2.3. Метод для объединения данных двух таблиц

С помощью метода ButtonIClick надо:

- определить типизированную константу С из массива строк с наименованиям заголовков компонента DBGrid1, в котором будут отражены значения полей отобранных и сформированных строк данных;

- активизировать компонент Query1 оператором: Query1.ACTIVE := TRUE

- подключить Query1 к компоненту DataSource1 для отображения отобранных данных оператором: DataSource1.DataSet := Query1;

- вывести тексты заголовков столбцов таблицы из массива С оператором:

DBGrid1.Columns[i].Title.Caption := C[i].

Вид формы на этапе разработки приложения после размещения и настройки ее компонентов и после заполнения таблиц несколькими записями дан на рис. 6.10.

Вид формы после объединения данных двух таблиц на этапе выполнения приложения дан на рис.6.11.

В верхней таблице-компоненте (DBGrid1) в каждой строке представлены данные из 1-й и 2-й таблиц о каждом студенте, фамилия которого есть ив 1-й, и во 2-й таблице.

Рис. 6.10.Вид формы после настройки компонентов и заполнения таблиц

Рис. 6.11.Вид формы после объединения данных двух таблиц

Листинг 6.5. Текст модуля основной формы приложения для объединения данных двух таблиц

 


unit Unit1;

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBTables, DBCtrls, Grids, DBGrids, DB, ExtCtrls,

XPMan, Buttons;

 

type

TForm1 = class(TForm)

DataSource1: TDataSource;

DataSource2: TDataSource;

Table1: TTable;

Table2: TTable;

Query1: TQuery;

XPManifest1: TXPManifest;

Panel1: TPanel;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

DBNavigator1: TDBNavigator;

DBNavigator2: TDBNavigator;

Button1: TButton;

BitBtn1: TBitBtn;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

Const C: Array[0..7] of string[10] =

('Фио', 'Адрес', 'Год Рожд', 'Телефон', '' , 'Матем', 'Физика', 'Прогр' );

Var i:byte;

begin

if Query1.Active = false then Query1.Active := true;

DataSource1.DataSet:=Query1;

DBGrid1.Columns[4].Visible:=False;

for i:=0 To 7 do

DBGrid1.Columns[i].Title.Caption:=C[i];

end; end.


Контрольные вопросы

1) Поясните текст свойства SQL для отбора данных из двух несвязанных таблиц.

2) Поясните текст метода для установки заголовков таблиц в процессе выполнения приложения.

3) Как сделать невидимым один из отобранных столбцов результирующей таблицы?

Приложение для формирования, слияния и разъединения однотипных таблиц баз данных

Цель и задание на выполнение работы

Целью является разработка приложения, с помощью которого осуществляет­ся работа с данными двух таблиц, не связанных на этапе разработки приложе­ния. Таблицы содержат данные о студентах двух групп. Структура записей обе­их групп идентична.

В обеих таблицах в качестве основного индекса (ключа) используется поле NZ - номер зачетки студента. Надо разработать приложение, в котором при нажа­тии кнопки с помощью компонента BatchMove1 (раздел 9.4.2.5) выполняется один из видов работы с таблицами:

- в таблице-приемнике Tablel формируется набор данных, дополненный записями из таблицы-источника Table2 с ключами (значениями NZ), которых нет в Table1;

- из таблицы-приемника Table1 удаляются записи, ключи которых совпадают с ключами записей таблицы-источника Таblе2.

Процесс разработки приложения

Для разработки приложения надо создать каталог с именем, например, SV_BATCH. В нем - подкаталог для размещения БД, например, с именем BASE.

Процесс разработки приложения включает следующие этапы:

1) создание псевдонима новой базы данных и файла конфигурации, например, ST2 с помощью подсистемы Desktop;

2) разработка структуры (полей) записи для двух таблиц базы данных; имя первой таблицы РМ21, имя второй - РМ22;

3) разработка формы в составе:

- по 2 компонента типа Table, DataSource, DBGrid, DBNavigator и StringGrid;

- поодномукомпоненту: Query, BatchMove, RadioGroup, Button

- компонент BitBtn - для завершения приложения.

Первые 3 пункта выполняются аналогично изложенному в разделе 6.2.2.

Состав полей таблиц:

NZ - номер зачетки;

FIO - фамилия и инициалы;

RS - размер стипендии.

Для формирования таблицы идентичной структуры надо:

1) войти в подсистему Desktop;

2) выполнить команду File\New\Table;

3) настраницеCreate Paradox 7 Table (Untitled)нажатькнопку Borrow.

Появится окно с имеющимися таблицами (раздел 9.1 и рис. 9.11). Выбрать таблицу, например, с именем РМ11, установить "галочку" в окне Options: Primaryindex. Создается таблица строения, идентичного выбранной РМ21. Со­хранить ее, например, с именем РМ22.

Запустить приложение и создать по несколько записей в каждой из таблиц.

Установить для компонента Button1 свойство:

Caption = Объединить таблицы.

Установить свойства компонента BatchMovel:

Destination = Table1 - таблица-приемник;

Source = Table2 - таблица-источник.

Установить свойства компонента RadioGroup 1:

Caption = Для BatchMove

Items = - добавить - для соединения записей двух таблиц;

убрать - для удаления из приемника записей источника.

Вид формы на этапе разработки приложения после размещения и настрой ее компонентов и после заполнения таблиц несколькими записями дан на рис.6.1.

Разработать метод для слияния и разъединения таблиц.

Текст модуля формы приложения дан в листинге 6.6.

Рис. 6.1.Вид формы после размещения и настройки ее компонентов

Метод для работы с данных двух таблиц

С помощью метода ButtonIClick надо:

1) в соответствии со значением свойства RadioGroup1.ItemIndex определить выбран­ный вариант обработки данных:

- для RadioGroup1 .ItemIndex = 0 - слияние данных двух таблиц,

- для RadioGroup1.ItemIndex = 1 - удаление из набора данных таблицы-приемника (Table1) записей, ключи которых совпадают с ключами записей таблицы-источника;

2) для каждого выбранного варианта:

- установить соответствующее значение свойства BatchMove1 .Mode,

- определить количество записей в таблице-приемнике BatchMove1 .RecordCount;

3) вывести полученное значение количества на метку;

4) запустить приложение и проверить процесс объединения таблиц методом BatchMove1.Execute;

Листинг 6.6. Текстмодуля основной формы приложения для работы с данными двух таблиц


unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, DB, DBTables, Grids, DBGrids, StdCtrls, XPMan;

 

type

TForm1 = class(TForm)

DataSource1: TDataSource;

DataSource2: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Table1: TTable;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

Table2: TTable;

Query1: TQuery;

BatchMove1: TBatchMove;

RadioGroup1: TRadioGroup;

Button1: TButton;

Label1: TLabel;

Label3: TLabel;

XPManifest1: TXPManifest;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

case RadioGroup1.ItemIndex of

0:begin

BatchMove1.Mode:=batAppend;

BatchMove1.RecordCount:=Table1.RecordCount+Table2.RecordCount;

end;

1:begin

BatchMove1.Mode:=batDelete;

BatchMove1.RecordCount:=Table1.RecordCount-Table2.RecordCount;

end;

end;

Label3.Caption:='Количество записей = ' +Inttostr(BatchMove1.RecordCount);

 

BatchMove1.Execute;

end; end.

 

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.