Новости

Разработка Windows-программы движение частиц

Работа добавлена:






Разработка Windows-программы движение частиц на http://mirrorref.ru

Содержание пояснительной записки:

1. Внешнее описание………………………………………………………………….62. Проектирование…………………………………………………………………….83. Программирование………………………………………………………………...134. Тестирование …………………………………………………………………..…..175. Руководство пользователя…………………………………………………..……..18Приложение. Исходный текст модулей программы………………………………..22

Введение

   Тема: РазработкаWindows-программы движение частиц.

Условия задачи: Создать программу «Движение частиц», в которой одна заряженная частица двигается относительно других заряженных частиц.  Одноименные частицы отталкиваются, а разноименные притягиваются. В любой момент мы можем остановить движение частиц, переместить их в любое место, а затем заново запустить.  Мы это можем пронаблюдать. Программа должна состоять из нескольких модулей: графического, математического иaboutme.

1.Внешнее описание

Общие сведения

Программа написана  на языке С #(шарп) вMicrosoftVisualStudio.net.

C# (Си Шарп) создан, чтобы стать основным языком программирования для написания приложений .NET в корпоративной среде, ориентированной на современные технологии Интернета. Язык программирования Си Шарп (C#.NET) происходит от С и С++ но, по сравнению с ними, он современнее, проще, и полностью объектно-ориентированный. Избыточная сложность С++ была устранена в С# , чтобы сделать его более простым в использовании и менее подверженным ошибкам.

Усилия, которые вы потратите на изучение С#, будут вознаграждены, так как Си Шарп был разработан в качестве основного языка программирования, как обычных, так и сетевых приложений. И в будущем, среди языков программирования, он будет играть доминирующую роль.

Преимущества

  • Visual Studio .NET Enterprise Architect обеспечивает быстрое создание приложений нового поколения – от Windows приложений до сложных многоуровневых приложений, состоящих из веб-служб XML, предназначенных для использования на любом устройстве и интеграции с любой платформой.
  • Визуальное конструирование веб-служб XML. Моделирование с помощью унифицированного языка моделирования UML, позволяющего создавать код на языках Visual Basic, Visual C++ и Visual C#, обеспечивает четкое описание архитектуры приложения и эффективный обмен соответствующей информацией. Предоставляется лучшая в отрасли поддержка моделирования баз данных, включая возможность использования концептуальных, логических и физических диаграмм. Для моделирования бизнес-процессов и связывания их с инфраструктурой приложений применяется средство BizTalk Orchestration Designer.
  • Создание и распространение рекомендаций по разработке архитектуры. Единая интегрированная среда разработки Visual Studio .NET позволяет легко обмениваться полезным опытом и обеспечивает широкие возможности для совместной работы групп разработчиков. Благодаря этому создаются отправные точки для разработки приложений, включающие многократно используемые компоненты, а также значительно повышается производительность труда разработчиков при одновременном соблюдении инструкций по созданию архитектуры. Определение и распространение в рамках среды Visual Studio .NET политик разработки упрощает выбор технологий, подходящих для создания соответствующих приложений.
  • Использование комплексной платформы, соответствующей жизненному циклу предприятия. Создание приложений на базе серверов Microsoft .NET Enterprise Servers обеспечивает их масштабируемость, надежность и управляемость. Имеется широкий выбор созданных независимыми разработчиками средств, которые могут интегрироваться в среду Visual Studio .NET.

  1. Определение требований

Технические характеристики для компьютера, на котором будет создаваться программа:

Периферийные устройства: Мышь Microsoft Mouse или другое совместимое указывающее устройство.

Установка программыMicrosoftVisualStudio.net. требуется, перед установкой необходимо удалить антивирусную программу

1.2. Спецификация качества

- функциональность: программа является полностью завершенным программным продуктом, не требующим к-л. дополнительных специальных компонентов, пользование возможно только при наличии ОСWin32;

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

- эффективность: программа предъявляет минимальные требования к аппаратному обеспечению, захват памяти и процессорного времени минимален,  требования к аппаратным ресурсам намного ниже, чем для самой ОСWin32; требования готовой программы к техническим параметрам системы : до 1 Мб свободного места на жестком диске, до 1 Мб свободной оперативной памяти, процессорPentium и выше и ОСWindows95 и выше. Установка программы тоже не требуется, т.к. программа поставляется как есть и не требует каких либо файлов  и библиотек. Дополнительных периферийных средств (принтер, сканер, дополнительные дисководы и т.д.) не требуется.

- изучаемость: программа интуитивно понятна по надписям на управляющих элементах, самим интерфейсом, позволяющим правильно оценить назначение программы ;

- модифицируемость: программа является легко модифицируемой вследствие небольшого исходного размера, наличия всего 4-х модулей;

- структурированность: программа разделена на 3 логически завершенных модуля.

1.3 Функциональная спецификация

Программа является наглядным примером одного из разделов физики, а, именно, взаимодействие заряженных тел, тела с одинаковыми зарядами отталкиваются, а с разными – притягиваются. В данной программе используется закон Кулона.

2.Проектирование

Современные программы разрабатываются для функционирования в средеWindows. Приложения для этой операционной системы проще всего разрабатывать в среде визуального программирования. Визуальное программирование строится на взаимодействии двух процессов:

  • процесс конструированияWindows-окна;
  • процесс написания кода, придающего элементам этого окна и программы в целом необходимую функциональность.

ПроектWindows-окна представлен в виде рисунка, дамп которого получен непосредственно с экрана. На нем расположены все визуальные и не визуальные компоненты разрабатываемого интерфейса.

1. Таблица для вывода информации из базы данных, подобный компонентDelphi используется для вывода найденных данных.

2. Поля для вывода количества записей в базе.

3. Выход из формы.

4. Управления окном.

5. Форма.

6. Кнопка обрабатывающая событие по введению данных.

7. Кнопка просмотра данных.

8. Кнопка сортировки.

9. Кнопка удаления

10. Кнопка поиска.

11. Поле для выбора категории сортировки.

12. Поле для задания записи для удаления

13. Поле для поиска

14. Выход

15. Помощь

Примеры работы программы:

Исходное окно работы программы:

Окно ввода:

Окно просмотра

Сортировка по полю «ФИО»

Поиск по ФИО = 1

3.Программирование

3.1. Описание алгоритма на естественном языке

Delphi – событийно-ориентированный язык программирования. Поэтому, работу программы можно разбить на несколько независимых алгоритмов. Каждый алгоритм запускается соответствующим событием. Некоторые события нет необходимости обрабатывать, так как они выполняются наследуемыми стандартными библиотечными алгоритмами. Стандартные алгоритмы рассматривать не будем.

3.2. Блок-схема алгоритма

Программную реализацию разработанных алгоритмов содержат обработчики событий. На данном этапе разработки рабочего проекта выберем степень детализации алгоритмов такой, чтобы предписания разработанных алгоритмов могли относительно легко переписываться наObjectPascal. По возможности, будем выбирать такие имена, которые отражают сущность используемых параметров. Будем избегать сложного кодирования и использования скрытых возможностей машины.

Начальные параметры

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

Ввод данных

Ввод данных производится по нажатию кнопки «Ввести новые данные», при этом открывается форма, на которой представлены поля для ввода с надписями, что должно храниться в каждом из них, при добавлении записи пользователь должен нажать кнопку «ОК», в случае нажатия на кнопку «отмена», введенные данные пропадут, если все строки пустые, то кнопка добавления информации будет неактивна.

Просмотр данных.

Просмотр данных осуществляется по нажатию кнопки «Посмотреть данные» при вызове данной процедуры, из динамической цепочки берутся данные и помещаются во вновь отрывшуюся форму просмотр в элементstringgrid.

Сортировка записей.

Для выполнения сортировки необходимо выбрать критерий сортировки и нажать на кнопку «сортировать», данные будут отсортированы и выведены на экран, при запуске процедуры просмотра. Система для сортировки записей, примененная нами, называется пузырьковой или простой. Её суть состоит в том что сравниваются две записи и при выполнении условия они меняются местами.

Удаление записей

Для удаления необходимо ввести номер удаляемого элемента и нажать кнопку «удалить» При удалении происходит следующее, в динамической цепочке ищется нужный по счету элемент, сохраняется предыдущая ссылка и ссылка данного элемента на следующий, предыдущая ссылка переносится на текущую, а от удаленного элемента освобождается память. Все изменения обновляются и в файле.

Поиск элемента.

Для поиска необходимо выбрать в списке искомого заказчика и нажать на кнопку «поиск», отроется форма, в которую выведутся найденные записи. Процедура поиска основана на просмотре всех элементов динамической цепочки и сравнении их с искомым, отображенным в поле со списком, при каждом найденном элементе в таблицу вывода добавляется новая строка и найденные данные отображаются в ней.

4. Тестирование

Для тестирования программы производились различные манипуляции с данными.

Тестирование проводилось у нескольких человек, в том числе у людей не имеющих никакого отношения к Информационным технологиям.

Тестирование выявило  мелкие недочеты, которые в последствии были устранены.

5. Руководство пользователя

5.1. Назначение программного средства

Программа предназначена для наглядного изучения-взаимодействия заряженных тел. Одноименные тела  отталкиваются, разноименные- сталкиваются.

5.2 Состав программного средства

Исполняемый файл программы называется “Project1.exe” и лежит в корневой папке диска “a:\”. Исходные файлы проекта находятся в папке “a:\Курсовая”.

Таблица 1.

Наименование

Обозначение

Примечание

Project1.dpr

Файл проекта

Связывает все файлы, из которых состоит приложение

Project1.res

Файл ресурсов

Содержит пиктограммы, графические изображения

Unit1.dfm

Файл главной формы

Содержит список всех компонентов главной формы с их атрибутами

Unit1.pas

Файл главного модуля

Определяет функциональность главной формы

Unit2.dfm

Файл формы «Ввод данных»

Содержит список всех компонентов формы ввода имени с их атрибутами

Unit3.dfm

Файл формы «Ввод данных»

Содержит список всех компонентов формы ввода имени с их атрибутами

Unit3.dfm

Файл формы «Поиск»

Содержит список всех компонентов формы «О программе» с их атрибутами

Unit2.pas

Файл модуля «Ввод данных»

Определяет функциональность формы «Ввод данных»

Unit3.pas

Файл модуля «Вывод данных»

Определяет функциональность формы «Вывод данных»

Unit4.pas

Файл модуля «Поиск»

Определяет функциональность формы «Поиск»

 Для запуска программы необходимо просто с помощью мыши или клавиатуры запустить исходный файл. Для ускоренного доступа к программе рекомендуется сделать на нее ярлык с рабочего стола или панели инструментов.

5.3. Пояснения о сопровождении и реквизиты разработчика

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

6. Аттестация

Так как данное программное средство создано в учебных целях, то членами  аттестационной комиссии явились люди участвующие в тестировании программы. Хотя члены комиссии не являются экспертами в области Информационных технологий.  В результате тестирования программы выявлено ее полное соответствие заявленным требованиям.

Список литературы

         1. Богданов А.А. Лекции по технологии программирования;

         2.  Иллюстрированный самоучитель по Visual Studio.Net

  1. Г. Шилдт.C#: Учебный курс, Питер,2003г

4.Э. Троелсен.C# и платформа .NET. Библиотека  программиста, Питер, 2005г

Приложение

Модуль «Unit1.pas»

unitUnit1;

interface

uses

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

 Dialogs, StdCtrls, Grids, DBGrids, Menus;

type

 TForm1 = class(TForm)

   Button1: TButton;

   Button2: TButton;

   Button4: TButton;

   Button5: TButton;

   Button6: TButton;

   ComboBox1: TComboBox;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Edit2: TEdit;

   ComboBox2: TComboBox;

   MainMenu1: TMainMenu;

   N1: TMenuItem;

   N2: TMenuItem;

   N4: TMenuItem;

   N5: TMenuItem;

   procedure Button3Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure konec;

   procedure sort;

   procedure add;

   procedure ComboBox2Enter(Sender: TObject);

   procedure N3Click(Sender: TObject);

   procedure N4Click(Sender: TObject);

   procedure N5Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

type

//описание записи для хранения данных в файле

mem = record

      fio:string[20];

      v_dal:string[20];

      v_vzyal:string[20];

      d_voz_dal:string[20];

      d_voz_vzl:string[20];

    end;

//описание записи для создания динамической цепочки

PHash=^hash;

    Hash=record

      zz:mem;

      Next:PHash;

    end;

var

 f:file of mem;

 z:mem;

 key:integer;

 t:PHash;

 uu,uuu:phash;

implementation

uses unit2, unit3, unit4, unit5;

{$R *.dfm}

procedure steck;forward;

procedureudalenie;forward;

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

procedure TForm1.Button3Click(Sender: TObject);

begin

try

closefile(f);

udalenie;

except

end;

close;

end;

// переход ко второй форме

procedure TForm1.Button1Click(Sender: TObject);

begin

 form2.show;

end;

// при создании формы 1 отрабатывает, открывает файл и формирует из его записей динамическую цепочку в памяти

procedure TForm1.FormCreate(Sender: TObject);

var p:phash;

begin

try

assignfile(f,'car.dbf');

reset(f);

except

rewrite(f);

end;

steck;

end;

// показывает форму 3

procedure TForm1.Button2Click(Sender: TObject);

begin

form3.Show;

end;

// процедура формирования динамической цепочки в памяти

procedure steck;

var

i,index:integer;

n:PHash;

begin

for i:=1 to filesize(f) do

begin

 seek(f,i-1);

 read(f,z);

 new(n);

 n^.zz:=z;

 n^.Next:=t;

 t:=n;

end;

end;

// добавление элемента в конец динамической цепочки

procedure Tform1.add;

begin

 new(uuu);

 uuu^.zz:=z;

 uuu^.Next:=t;

 t:=uuu;

end;

// определение размера динамической цепочки

function size:byte;

var sum:word;

   u:phash;

begin

sum:=0;

u:=t;

if u <> nil then

    Repeat

u:=u^.next;

sum:=sum+1;

   until u=nil;

  size:=sum;

end;

// освобождение памяти от динамической цепочки

procedure udalenie;

var

b,n:PHash;

begin

b:=t;

 while (b<>nil) do

 begin

  n:=b^.Next;

  dispose(b);

  b:=n;

end;

t:=b;

end;

// движение до конца динамической цепочки, перемещение указателя в конец

procedure Tform1.konec;

var uuu:phash;

begin

uuu:=t;

if uuu<>nil then

repeat

uuu:=uuu^.next;

 until uuu=nil;

end;

// распечатка динамической цепочки (для проверки использовалось)

procedure print_steck;

var u:phash;

begin

 u:=t;

 repeat

  u:=u^.next;

 untilu=nil;

end;

// удаление записи из файла синхронно с удалением её из цепочки

procedure del_record(num:integer;var p:phash);

var ii:integer;

   z1:mem;

begin

 seek(f,0);

 p:=t;

 ii:=1;

 if filesize(f)>0 then begin

   repeat

     seek(f,ii-1);

     if p<>nil then begin

z1:=p^.zz;

      write(f,z1);

p:=p^.Next;

ii:=ii+1;

end;

   until p=nil;

  seek(f,filesize(f)-1);

  truncate(f);

 end

else

 showmessage('No record');

end;

// удаление элемента динамической цепочки

procedureDelete(nn:integer);

var

b,n:PHash;

i:integer;

begin

 b:=t;

 i:=1;

 if nn<=size then begin

   while (i<>nn) do begin

     n:=b;

     b:=b^.Next;

     i:=i+1;

   end;

if nn=1 then begin

              t:=b^.Next;

              dispose(b);

            end

       else begin

             n^.Next:=b^.Next;

 dispose(b);

  b:=n;

      end;

end;

n:=t;

del_record(nn,n);

end;

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

procedure TForm1.Button5Click(Sender: TObject);

var code,num:integer;

begin

val(edit2.Text,num,code);

if (edit2.Text<>'') and (code=0) then

   delete(num)

                                else

   showmessage('No number');

form3.StringGrid1.RowCount:=1;

Button2Click(Self);

end;

//перемещение по динамической цепочке на нужное число элементов

procedure move(nn:integer);

var i:integer;

begin

uu:=t;

for i:=1 to nn-1 do

uu:=uu^.next;

end;

// выбор по какому полю сортируем ----> сранение по соответствующему полю

function choice_sort(z1,z2:mem;vib:integer):boolean;

begin

case vib of

0:choice_sort:=z1.fio<z2.fio;

1:choice_sort:=z1.v_dal<z2.v_dal;

2:choice_sort:=z1.v_vzyal<z2.v_vzyal;

3:choice_sort:=z1.d_voz_dal<z2.d_voz_dal;

4:choice_sort:=z1.d_voz_vzl<z2.d_voz_vzl;

end;

end;

// сортировка записей

procedure Tform1.sort;

var z1,z2:mem;

   i,j:integer;

begin

for i:=1 to size do

begin

 move(i);

 z1:=uu^.zz;

 for j:=1 to size do begin

   move(j);

   z2:=uu^.zz;

   if choice_sort(z1,z2,form1.ComboBox1.ItemIndex) then begin

     move(i);

     uu^.zz:=z2;

     move(j);

     uu^.zz:=z1;

     z1:=z2;

   end;

end;

end;

seek(f,0);

for i:=1 to size do begin

 move(i);

 z1:=uu^.zz;

 write(f,z1);

end;

end;

// вызов сортировки с формы

procedure TForm1.Button4Click(Sender: TObject);

begin

 sort;

 Button2Click(Self);

end;

// вызов поиска с формы

procedure TForm1.Button6Click(Sender: TObject);

var u:phash;

   i,k:integer;

   kalor,max:real;

begin

form4.Show;

i:=1;k:=0;

u:=t;

form4.StringGrid1.RowCount:=1;

repeat

       if u.zz.fio=combobox2.Text then begin

form4.StringGrid1.RowCount:=form4.StringGrid1.RowCount+1;

form4.StringGrid1.Cells[0,i]:=u.zz.fio;

form4.StringGrid1.Cells[1,i]:=u.zz.v_dal;

form4.StringGrid1.Cells[2,i]:=u.zz.v_vzyal;

form4.StringGrid1.Cells[3,i]:=u.zz.d_voz_dal;

form4.StringGrid1.Cells[4,i]:=u.zz.d_voz_vzl;

k:=k+1;

i:=i+1;

       end;

       u:=u^.next;

  until u=nil;

  form4.Edit1.Text:=inttostr(k);

  if i=1 then showmessage('No records');

end;

// обработчик входа во втоойcombobox - записывает в него всех авторов

procedure TForm1.ComboBox2Enter(Sender: TObject);

var p:phash;

begin

 combobox2.Clear;

 p:=t;

 repeat

  combobox2.Items.Add(p^.zz.fio);

  p:=p^.Next;

 until p=nil;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

 close

end;

procedure TForm1.N4Click(Sender: TObject);

begin

 close

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Showmessage('Программа "Память на узелки" написана в процессе выполнения         курсовой работы по дисциплине "Технология программирования".Автор -  Селивёрстов Михаил Сергеевич.');

end;

end.

Модуль «Unit2.pas»

unit Unit2;

interface

uses

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

 Dialogs, StdCtrls, unit1;

type

 TForm2 = class(TForm)

   Edit1: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Edit2: TEdit;

   Label3: TLabel;

   Edit3: TEdit;

   Label4: TLabel;

   Edit4: TEdit;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Edit5: TEdit;

   Label5: TLabel;

   procedure Button3Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Edit1Change(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure Edit2Change(Sender: TObject);

   procedure Edit3Change(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form2: TForm2;

implementation

{$R *.dfm}

// закрытие формы

procedure TForm2.Button3Click(Sender: TObject);

begin

close;

end;

// очистка элементов ввода

procedure TForm2.Button2Click(Sender: TObject);

begin

edit1.Clear;

edit2.Clear;

edit3.Clear;

edit4.Clear;

edit5.Clear;

edit4.ReadOnly:=true;

edit5.ReadOnly:=true;

button1.Enabled:=false;

end;

//запись данных в файл и добавление в динамическую цепочку

procedure TForm2.Button1Click(Sender: TObject);

begin

 z.fio:=edit1.Text;

 z.v_dal:=edit2.Text;

 z.v_vzyal:=edit3.Text;

 z.d_voz_dal:=edit4.Text;

 z.d_voz_vzl:=edit5.Text;

seek(f,filesize(f));

write(f,z);

Button2Click(Self);

button1.Enabled:=false;

form1.konec;

form1.add;

form1.ComboBox2Enter(Self);

form1.ComboBox1.ItemIndex:=0;

form1.sort;

end;

// обрабочик вызываемый при изменнеии первогоedita на форме 2

procedure TForm2.Edit1Change(Sender: TObject);

begin

button1.Enabled:=true;

end;

// процедура отрабатывающая при создании формы 2

procedure TForm2.FormCreate(Sender: TObject);

begin

button1.Enabled:=false;

end;

procedure TForm2.Edit2Change(Sender: TObject);

begin

 edit4.ReadOnly:=false;

end;

procedure TForm2.Edit3Change(Sender: TObject);

begin

edit5.ReadOnly:=false;

end;

end.

Модуль «Unit3.pas»

unit Unit3;

interface

uses

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

 Dialogs, Grids, StdCtrls, unit1;

type

 TForm3 = class(TForm)

   StringGrid1: TStringGrid;

   Button1: TButton;

   Button2: TButton;

   Edit1: TEdit;

   Button3: TButton;

   procedure FormCreate(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure FormActivate(Sender: TObject);

   procedure Button3Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form3: TForm3;

implementation

{$R *.dfm}

// процедура, отрабатывающая при создании формы, записывает названия заголовков

procedure TForm3.FormCreate(Sender: TObject);

begin

form3.StringGrid1.ColCount:=3;

StringGrid1.Cells[0,0]:='ФИО';

StringGrid1.Cells[1,0]:='Яотдал';

StringGrid1.Cells[2,0]:='Когдазабрать';

form3.Caption:='Просмотр';

end;

// закрытие формы

procedure TForm3.Button1Click(Sender: TObject);

begin

close;

end;

//чтение данных и помещение их в таблицу на форме

procedure TForm3.Button2Click(Sender: TObject);

var i:integer;

begin

 FormCreate(Self);

 StringGrid1.RowCount:=filesize(f)+1;

 seek(f,0);

 for i:=1 to filesize(f) do begin

seek(f,i-1);

read(f,z);

StringGrid1.Cells[0,i]:=z.fio;

StringGrid1.Cells[1,i]:=z.v_dal;

StringGrid1.Cells[2,i]:=z.d_voz_dal;

end;

end;

// процедура, отрабатывающая при активации формы

procedure TForm3.FormActivate(Sender: TObject);

begin

 edit1.Text:=inttostr(filesize(f));

end;

procedure change;

begin

form3.StringGrid1.ColCount:=4;

form3.StringGrid1.RowCount:=filesize(f)+1;

form3.StringGrid1.Cells[0,0]:='ФИО';

form3.StringGrid1.Cells[1,0]:='Явзял';

form3.StringGrid1.Cells[2,0]:='Яотдал';

form3.StringGrid1.Cells[3,0]:='Когдаотдать';

form3.StringGrid1.ColWidths[3] := 150;

end;

procedure TForm3.Button3Click(Sender: TObject);

var i:integer;

begin

 form3.Caption:='Просмотр -обмен';

 change;

 seek(f,0);

 for i:=1 to filesize(f) do begin

    seek(f,i-1);

    read(f,z);

    StringGrid1.Cells[0,i]:=z.fio;

    StringGrid1.Cells[1,i]:=z.v_vzyal;

    StringGrid1.Cells[2,i]:=z.v_dal;

    StringGrid1.Cells[3,i]:=z.d_voz_vzl;

end;

end;

end.

Модуль «Unit4.pas»

unit Unit4;

interface

uses

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

 Dialogs, StdCtrls, Grids;

type

 TForm4 = class(TForm)

   StringGrid1: TStringGrid;

   Button1: TButton;

   Edit1: TEdit;

   Label1: TLabel;

   procedure Button1Click(Sender: TObject);

   procedure FormActivate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form4: TForm4;

implementation

{$R *.dfm}

// закрытие формы

procedure TForm4.Button1Click(Sender: TObject);

begin

close;

end;

//заполнение заголовков таблицы

procedure TForm4.FormActivate(Sender: TObject);

begin

 StringGrid1.Cells[0,0]:='ФИО';

 StringGrid1.Cells[1,0]:='Яотдал';

 StringGrid1.Cells[2,0]:='Явзял';

 StringGrid1.Cells[3,0]:='Когдазабрать';

 StringGrid1.Cells[4,0]:='Когдаотдать';

end;

end.

Разработка Windows-программы движение частиц на http://mirrorref.ru


Похожие рефераты, которые будут Вам интерестны.

1. Разработка приложений Windows. Прикладные программы обработки данных

2. ОСMS Windows и прикладные программы

3. Общее представление об инструментах программы Windows Movie Maker

4. Архітектура операційної системи Windows NT Огляд архітектури ОС Windows NT Захищені підсистеми ОС Windows NT Керування пам’ятью

5. Распределение пробегов a-частиц и определить энергии a-частиц

6. Разработка программы игры Ним

7. Разработка программы для создания кроссвордов

8. Разработка программы продвижения инновации

9. Разработка производственной программы предприятия

10. Разработка программы Психологический тест