Студопедия

Главная страница Случайная страница

Разделы сайта

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






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Программирование с использованием записей и файлов

    О Т Ч Е Т

    ПО ЛАБОРАТОРНЫМ РАБОТАМ

     

    по курсу:

    Quot; КОНСТРУИРОВАНИЕ ПРОГРАММ И

    ЯЗЫКИ ПРОГРАММИРОВАНИЯ"

     

    Выполнили: Студенты: Мазаник А. А. Шитов С. А. Гр. 107226, бригада №6  
    Проверил, профессор: Гурский Н. Н.

     

     

    Минск - 2007


    Лабораторная работа №6

    ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ЗАПИСЕЙ И ФАЙЛОВ

     

    Цель лабораторной работы: изучить правила работы с компонентами TopenDialog и TSaveDialog. Написать программу с использованием файлов и данных типов запись.

    Задание: вывести информацию о сотрудниках фирмы, которая включает: Ф.И.О., табельный номер, количество проработанных часов за месяц, почасовый тариф. Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере.

     

     

    Листинг программы:

    unit Unit1;

     

    interface

     

    uses

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

    Dialogs, StdCtrls, ExtCtrls, Buttons;

     

    type

    TForm1 = class(TForm)

    Panel1: TPanel;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Button1: TButton;

    OpenDialog1: TOpenDialog;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    SaveDialog1: TSaveDialog;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    Memo1: TMemo;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

     

    Type

    info = record

    name: string[40]; //Ï î ë å Ô È Î

    number: integer; //Ï î ë å ò à á å ë ü í î ã î í î ì å ð à

    kol: integer; //Ï î ë å ê î ë -â à ÷ à ñ î â

    tarif: integer; //Ï î ë å ï î ÷ à ñ à â î ã î ò à ð è ô à

    zp: extended;

    end;

     

    var

    zp: extended;

    fz: file of info; //Ô à é ë ò è ï à ç à ï è ñ ü

    ft: TextFile; //Ò å ê ñ ò î â î é ô à é ë

    inf: array[1..100] of info; //Ì à ñ ñ è â ç à ï è ñ å é

    nzap: integer; //Í î ì å ð ç à ï è ñ è

    FileNameZ, FileNameT: string; //È ì ÿ ô à é ë à

     

     

    var

    Form1: TForm1;

     

    implementation

     

    {$R *.dfm}

     

    procedure TForm1.FormCreate(Sender: TObject);

    begin

    Edit1.Text: = '';

    Edit2.Text: = '';

    Edit3.Text: = '';

    Edit4.Text: = '';

    Memo1.Clear;

    Button1.Hide;

    nzap: =0;

     

    end;

     

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    nzap: =nzap+1;

    with inf[nzap] do

    begin

    name: =Edit1.Text;

    number: =StrToInt(Edit2.Text);

    kol: =StrToInt(Edit3.Text);

    tarif: =StrToInt(Edit4.Text);

    Memo1.Lines.Add(name+', '+IntToStr(number)+' í î ì å ð, '+IntToStr(kol)+' ÷ à ñ î â, '+IntToStr(tarif)+' ð ó á /÷ ');

    end;

     

    Write(fz, inf[nzap]); //ç à ï è ñ ü â ô à é ë

    Edit1.Text: = '';

    Edit2.Text: = '';

    Edit3.Text: = '';

    Edit4.Text: = '';

    end;

     

    procedure TForm1.Button2Click(Sender: TObject);

    begin

    Memo1.Clear;

    OpenDialog1.Title: ='Ñ î ç ä à ò ü í î â û é ô à é ë ';

    //È ç ì å í å í è å ç à ã î ë î â ê à î ê í à ä è à ë î ã î

    If OpenDialog1.Execute then

    //Â û ï î ë í å í è å ñ ò à í ä à ð ò í î ã î ä è à ë î ã î â û á î ð à è ì å í è ô à é ë à

    begin

    FileNameZ: =OpenDialog1.FileName;

    //Â î ç â ð à ø å í è å è ì å í è ä è ñ ê î â î ã î ô à é ë à

    AssignFile(fz, FileNameZ);

    //Ñ â ÿ ç û â à í è å ô à é ë î â î é ï å ð å ì å í í î é fz ñ è ì å í å ì ô à é ë à

    Rewrite(fz); //Ñ î ç ä à í è å í î â î ã î ô à é ë à

    Button1.Show; //Ñ ä å ë à ò ü â è ä è ì î é ê í î ï ê ó " Â â å ñ ò è ç à ï è ñ ü "

    end;

    end;

     

    procedure TForm1.Button3Click(Sender: TObject);

    begin

    Memo1.Clear;

    If OpenDialog1.Execute then

    //Â û ï î ë í å í è å ñ ò à í ä à ð ò í î ã î ä è à î ë ã à â û á î ð à è ì å í è ô à é ë à

    begin

    FileNameZ: =OpenDialog1.FileName;

    //Â î ç â ð à ù å í è å è ì å í è ä è ñ ê î â î ã î ô à é ë à

    AssignFile(fz, FileNameZ);

    //Ñ â ÿ ç û â à í è å ô à é ë î â î é ï å ð å ì å í í î é fz ñ è ì å í å ì ô à é ë à

    Reset(fz); //Î ò ê ð û ò è å ñ ó ù å ñ ò â ó þ ù å ã î ô à é ë à

    end;

    nzap: =0;

    While not EOF(fz) do

    begin

    nzap: =nzap+1;

    Read(fz, inf[nzap]); //× ò å í è å ç à ï è ñ è è ç ô à é ë à

    with inf[nzap] do

    Memo1.Lines.Add(name+', '+IntToStr(number)+' í î ì å ð, '+IntToStr(kol)+' ÷ à ñ î â, '+IntToStr(tarif)+' ð ó á /÷ ');

    end;

    Button1.Show; //Ñ ä å ë à ò ü â è ä è ì î é ê í î ï ê ó " Â â å ñ ò è ç à ï è ñ ü "

    end;

     

    procedure TForm1.Button4Click(Sender: TObject);

    //Â û â î ä ç à ð ï ë à ò ð à á î ò í è ê î â

    var

    i: word;

    //zp: extended;

    begin

    Memo1.Clear;

    Memo1.Lines.Add(' Ç à ð ï ë à ò û ð à á î ÷ è õ ñ î ñ ò à â ë ÿ þ ò: ');

    Memo1.Lines.Add('************************************************************************');

    for i: =1 to nzap do

    begin

    If inf[i].kol> 144 then

    inf[i].zp: = (144*inf[i].tarif+(inf[i].kol-144)*inf[i].tarif*2)-0.12*(144*inf[i].tarif+(inf[i].kol-144)*inf[i].tarif*2)

    else inf[i].zp: =inf[i].kol * inf[i].tarif - (inf[i].kol * inf[i].tarif * 0.12);

    with inf[i] do

    Memo1.Lines.Add(name+' - '+FloatToStr(zp)+' ð ó á ');

    end;

    end;

     

    procedure TForm1.Button5Click(Sender: TObject);

    //Ñ î õ ð à í å í è å

    var

    i: word;

    begin

    If SaveDialog1.Execute then

    //Â û ï î ë í å í è å ñ ò à í ä à ð ò í î ã î ä è à ë î ã à â û á î ð à è ì å í è ô à é ë à

    begin

    FileNameT: =SaveDialog1.FileName;

    //Â î ç â ð à ù å í è å è ì å í è ä è ñ ê î â î ã î ô à é ë à

    AssignFile(ft, FileNameT);

    //Ñ â ÿ ç û â à í è å ô à é ë î â î é ï å ð å ì å í í î é ft ñ è ì å í å ì ô à é ë à

    Rewrite(ft); //Î ò ê ð û ò è å í î â î ã î ò å ê ñ ò î â î ã î ô à é ë à

    end;

    for i: =1 to nzap do

    with inf[i] do

    //Writeln(ft, i: 4, '. ', name, '.. ò /í -', number, '.. ÷ à ñ û -', kol, '.. ò à ð è ô -', tarif);

    Writeln(ft, i: 4, '. ', name, ' Ç à ð ï ë à ò à: ', zp: 10);

    //Ç à ï è ñ ü â ò å ê ñ ò î â û é ô à é ë

    CloseFile(ft); //Ç à ê ð û ò è å ò å ê ñ ò î â î ã î ô à é ë à

    end;

     

    end.

    Результат выполнения программы:

     

    Выводы:: изучили правила работы с компонентами TopenDialog и TSaveDialog. Написали программу с использованием файлов и данных типов запись.

    .

    <== предыдущая лекция | следующая лекция ==>
    Программирование с использованием строк | С использованием подпрограмм и модулей




    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.