рефераты рефераты
Главная страница > Курсовая работа: Разработка программы при помощи языка программирования языка Delphi  
Курсовая работа: Разработка программы при помощи языка программирования языка Delphi
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Разработка программы при помощи языка программирования языка Delphi

Алгоритм программы

Рисунок А.1 – Обработка событий главной формы программы

Рисунок А.2 – Открытие файла

типизированный файл программирование delphi


Рисунок А.3 – Алгоритм процедуры сохранения в файл

Рисунок А.4 – Алгоритм вывода содержимого массива AComp на форму


ПРИЛОЖЕНИЕ Б

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

1.  unit Unit1;

2.  interface

3.  uses

4.  Windows, Messages, SysUtils, Variants, Classes, Graphics,

5.  Controls, Forms,Dialogs, Menus, StdCtrls, Buttons, ExtCtrls,

6.  Grids;

7.  type

8.  TForm1 = class(TForm)

9.  MainMenu1: TMainMenu;

10.  N1: TMenuItem;

11.  NOpen: TMenuItem;

12.  NSave: TMenuItem;

13.  NSaveAs: TMenuItem;

14.  NCreate: TMenuItem;

15.  N6: TMenuItem;

16.  NExit: TMenuItem;

17.  NInfo: TMenuItem;

18.  NShow: TMenuItem;

19.  SaveDlg: TSaveDialog;

20.  OpenDlg: TOpenDialog;

21.  Label1: TLabel;

22.  Label2: TLabel;

23.  Label3: TLabel;

24.  Label4: TLabel;

25.  Label9: TLabel;

26.  EHDD: TEdit;

27.  ERAM: TEdit;

28.  EMonitor: TEdit;

29.  RGrInet: TRadioGroup;

30.  EName: TEdit;

31.  SGrid1: TStringGrid;

32.  BBPrev: TBitBtn;

33.  BBNext: TBitBtn;

34.  BBDelete: TBitBtn;

35.  BBAdd: TBitBtn;

36.  BBUpdate: TBitBtn;

37.  BBSearch: TBitBtn;

38.  procedure FormCreate(Sender: TObject);

39.  procedure NCreateClick(Sender: TObject);

40.  procedure NOpenClick(Sender: TObject);

41.  procedure NShowClick(Sender: TObject);

42.  procedure NSaveClick(Sender: TObject);

43.  procedure NSaveAsClick(Sender: TObject);

44.  procedure NExitClick(Sender: TObject);

45.  procedure NInfoClick(Sender: TObject);

46.  procedure BBPrevClick(Sender: TObject);

47.  procedure BBNextClick(Sender: TObject);

48.  procedure BBUpdateClick(Sender: TObject);

49.  procedure BBAddClick(Sender: TObject);

50.  procedure BBDeleteClick(Sender: TObject);

51.  procedure BBSearchClick(Sender: TObject);

52.  private

53.  { Private declarations }

54.  public

55.  { Public declarations }

56.  end;

57.  TComp = record

58.  Name:string[20];

59.  HDD:real;

60.  RAM:integer;

61.  Monitor:string[20];

62.  Inet:boolean; {true - есть, false - нет}

63.  end;

64.  ATComp = array of TComp;

65.  var

66.  Form1: TForm1;

67.  F:file of TComp;

68.  Comp:TComp;

69.  AComp:ATComp;

70.  CurK:integer;

71.  Fname:string;

72.  implementation

73. 

74.  uses Unit2;

75. 

76.  {$R *.dfm}

77.  // поиск компьютера по имени

78.  Function GetComp(name:string;AComp:ATComp;var Comp:TComp):boolean;

79.  var i:integer;

80.  begin

81.  for i:=0 to Length(AComp)-1 do

82.  if AComp[i].Name = Name then

83.  begin

84.  Comp:=AComp[i];

85.  GetComp:=true;

86.  exit;

87.  end;

88.  GetComp:=false;

89.  end;

90.  // вывод информации об одном компьютерера из типизированного файла на экранную форму

91.  Procedure ShowComp(Comp:TComp);

92.  begin

93.  Form1.EName.Text:=Comp.Name;

94.  Form1.EHDD.Text:=FloatToStr(Comp.HDD);

95.  Form1.ERAM.Text:=IntToStr(Comp.RAM);

96.  if Comp.Inet then

97.  Form1.RgrInet.ItemIndex := 1

98.  else

99.  Form1.RgrInet.ItemIndex:=0;

100.  Form1.EMonitor.Text:=Comp.Monitor;

101.  end;

102.  // вывод информации о компьютере из типизированного файла в таблицу

103.  Procedure ShowCompInGrid(Comp:TComp;Sgr:TStringGrid;Row:integer);

104.  begin

105.  Sgr.Cells[0,Row]:=IntToStr(Row);

106.  Sgr.Cells[1,Row]:=Comp.Name;

107.  Sgr.Cells[2,Row]:=FloatToStr(Comp.HDD);

108.  Sgr.Cells[3,Row]:=IntToStr(Comp.RAM);

109.  Sgr.Cells[4,Row]:=Comp.Monitor;

110.  if Comp.Inet then

111.  Sgr.Cells[5,Row]:='есть'

112.  else

113.  Sgr.Cells[5,Row]:='нет';

114.  end;

115.  // вывод содержимого массива FComp в таблицу

116.  Procedure ShowAComp(AComp:ATComp;Sgr:TStringGrid);

117.  var i,ln:integer;

118.  begin

119.  ln:=Length(AComp);

120.  if ln = 0 then

121.  Sgr.RowCount:=2

122.  else

123.  Sgr.RowCount:=ln+1;

124.  SGr.FixedRows:=1;

125.  for i:=0 to LN-1 do

126.  ShowCompInGrid(AComp[i],Sgr,i+1);

127.  end;

128.  // добавление новой записи в массив

129.  procedure TForm1.BBAddClick(Sender: TObject);

130.  var

131.  k:integer;

132.  begin

133.  Comp.Name:=EName.Text;

134.  Comp.HDD:=StrToFloat(EHDD.Text);

135.  Comp.RAM:=StrToInt(ERAM.Text);

136.  Comp.Monitor:=EMonitor.Text;

137.  Comp.Inet:=RgrInet.ItemIndex = 1;

138.  //

139.  if GetComp(Comp.Name,AComp,Comp) then

140.  begin

141.  MessageBox(0,PAnsiChar(String('Ошибка! Запись компьютера с именем '+Comp.Name+' уже существует!')),'Ошибка',0);

142.  exit;

143.  end;

144.  k:=Length(AComp);

145.  SetLength(AComp,k+1);

146.  AComp[k]:=Comp;

147.  CurK:=k;

148.  ShowAComp(AComp,SGrid1);

149.  end;

150.  // переход на предыдущую запись массива

151.  procedure TForm1.BBPrevClick(Sender: TObject);

152.  begin

153.  curK:=CurK-1;

154.  if CurK<0 then CurK:=Length(AComp)-1;

155.  if CurK < Length(AComp) then

156.  ShowComp(AComp[CurK]);

157.  end;

158.  // переход на последующую запись массива

159.  procedure TForm1.BBNextClick(Sender: TObject);

160.  begin

161.  curK:=CurK+1;

162.  if CurK>=Length(AComp) then CurK:=0;

163.  if CurK < Length(AComp) then

164.  ShowComp(AComp[CurK]);

165.  end;

166.  // сохранение содержимого массива в типизированном файле

167.  procedure TForm1.NSaveClick(Sender: TObject);

168.  var i:integer;

169.  begin

170.  if Fname = '' then

171.  MessageBox(0,'Имя файла не задано!','Ошибка',0)

172.  else begin

173.  AssignFile(F,Fname);

174.  Rewrite(f);

175.  for i:=0 to Length(AComp)-1 do

176.  write(f,AComp[i]);

177.  CloseFile(F);

178.  end;

179.  end;

180.  // сохранение в содержимого массива в типизированном файле

181.  // с возможностью указания имени файла

182.  procedure TForm1.NSaveAsClick(Sender: TObject);

183.  var i:integer;

184.  begin

185.  if SaveDlg.Execute then

186.  begin

187.  Fname:=SaveDlg.FileName;

188.  AssignFile(F,Fname);

189.  Rewrite(f);

190.  for i:=0 to Length(AComp)-1 do

191.  write(f,AComp[i]);

192.  CloseFile(F);

193.  end;

194.  end;

195.  // открытие типизированного файла и вывод его содержимого на форму

196.  procedure TForm1.NOpenClick(Sender: TObject);

197.  var K:integer;

198.  begin

199.  if OpenDlg.Execute then

200.  begin

201.  Fname:=OpenDlg.FileName;

202.  AssignFile(F,Fname);

203.  ReSet(f);

204.  k:=0;

205.  SetLength(AComp,0);

206.  while not eof(f) do

207.  begin

208.  read(f,Comp);

209.  SetLength(AComp,k+1);

210.  AComp[k]:=Comp;

211.  k:=k+1;

212.  end;

213.  CloseFile(F);

214.  ShowAComp(AComp,SGRid1);

215.  end;

216.  end;

217.  // удаление текущей записи из массива записей AComp

218.  procedure TForm1.BBDeleteClick(Sender: TObject);

219.  var i,Ln:integer;

220.  begin

221.  Ln:=Length(AComp);

222.  for i:=CurK to Ln-2 do

223.  AComp[i]:=AComp[i+1];

224.  if Ln>0 then

225.  SetLength(AComp,Ln-1);

226.  if CurK<ln then

227.  ShowComp(AComp[CurK]);

228.  ShowAComp(AComp,SGrid1);

Страницы: 1, 2, 3, 4, 5, 6

рефераты
Новости