Автор работы: Пользователь скрыл имя, 28 Мая 2012 в 01:46, курсовая работа
Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекци
ВВЕДЕНИЕ 4
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 6
1.1 Обзор программных средств 6
1.2 Постановка задачи 8
1.3 Алгоритм решения задачи 8
1.4 Блок-схема алгоритма решения задачи 9
2 ПРАКТИЧЕСКАЯ ЧАСТЬ 11
2.1 Решение поставленной задачи в Delphi 11
2.2 Описание интерфейса среды Delphi 11
2.3 Перечень используемых в программе идентификаторов 13
2.4 Тексты основных модулей и вид форм приложения 14
2.5 Графическое представление результатов 18
2.6 Анализ полученных результатов 19
ЗАКЛЮЧЕНИЕ 20
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 21
end;
procedure TForm1.Button1Click(Sender: TObject);
type Ttovar = record
name:string[15];
kolich:integer;
ves:real; end;
var all:array[1..50] of Ttovar;
temp: Ttovar;
imax,i, j, m :integer;
polki, yacheiki, p_temp, ya_temp:integer;
tvr:bool;
begin
Memo1.Clear;
imax:=SpinEdit1.Value;
for i:=1 to imax do begin
all[i].name:=StringGrid1.
all[i].kolich:=strtoint(
all[i].ves:=strtofloat(
end;
for i:=1 to imax do begin
m:=i;
for j:=i+1 to imax do
if all[j].ves>all[m].ves then m:=j;
temp:=all[m]; all[m]:=all[i]; all[i]:=temp;
end;
polki:=strtoint(Edit1.Text);
yacheiki:=strtoint(Edit2.Text)
p_temp:=1;
m:=1;
ya_temp:=all[m].kolich;
tvr:=true;
for i:=1 to polki do begin
memo1.Lines.Add(' ');
memo1.Lines.Add('---на '+inttostr(i)+'-ю полку ----');
for j:=1 to yacheiki do begin
if tvr then begin
memo1.Lines.Add(inttostr(j)+')
ya_temp:=ya_temp-1;
else memo1.Lines.Add(inttostr(j)+')
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var NameSaveParFile:string;
begin
if SaveDialog1.Execute then
NameSaveParFile:= SaveDialog1.FileName;
Memo1.Lines.SaveToFile(
Button3.Enabled:=true;
end;
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
Prn:TextFile;
begin
if PrintDialog1.Execute then begin
Printer.Copies:=PrintDialog1.
Printer.Canvas.Font.Name:='
Printer.Canvas.Font.Size:=14;
AssignPrn(Prn);
try
Rewrite(Prn);
try
for i := 0 to Memo1.Lines.Count - 1 do
writeln(Prn,Memo1.Lines[i]);
with Canvas do
TextOut((ClientWidth - TextWidth(Memo1.Lines[i])) div 2,
(ClientHeight - TextHeight(Memo1.Lines[i])) div 2,Memo1.Lines[i]);
finally
CloseFile(Prn);
end;
except
on EInOutError do
MessageDlg('Ошибка печати
end;
end;
end;
end.