МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ
ИМЕНИ АКАДЕМИКА С.П.КОРОЛЕВА
(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)» (СГАУ)
Факультет информатики
Кафедра информационных систем и технологий
Контрольная работа по курсу «Организация ЭВМ и систем»
Вариант № 16
Выполнил:
студент группы 9637 Б358
Мельник Д.В.
Проверил:
асс. Храмов А.А.
САМАРА 2016
Задание:
Создать программу, определяющую размер свободного места на диске.
Разработка:
Для разработке я использовал среду Delphi 2007. Для обеспечения требуемого функционала использовал возможности встроенной библиотеки и одну из ее функций GetDiskFreeSpaceEx('c:', Free_Bytes, Totalsize, @FreeSize);, так как эта функция возвращает значение в байтах, я предусмотрел перевод в Гигабайты. Все определенные параметры записываются в поле Memo.
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
type
TForm1 = class(TForm)
mm1: TMainMenu;
N1: TMenuItem;
mmo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);// Инициализация формы
var
Free_Bytes: TLargeInteger;//переменная типа TLargeInteger
FreeSize: TLargeInteger; //переменная типа TLargeInteger
TotalSize: TLargeInteger; //переменная типа TLargeInteger
Load_Bytes: TLargeInteger; //переменная типа TLargeInteger
begin
GetDiskFreeSpaceEx('c:', Free_Bytes, Totalsize, @FreeSize);//командас считывания полногои свободного места с диска
Load_Bytes:=TotalSize-Free_Bytes;// определение занятого места
Form1.mmo1.Lines.Add('Проверка свободного места диска C:\');// вывод в memo
Form1.mmo1.Lines.Add('Всего:'+IntToStr(TotalSize)+' байт '+FloatToStr(Round(TotalSize/1024/1024/1024))+' Гбайт'); // вывод в memo
Form1.mmo1.Lines.Add('Занято:'+IntToStr(Load_Bytes)+' байт '+FloatToStr(Round(Load_Bytes/1024/1024/1024))+' Гбайт'); // вывод в memo
Form1.mmo1.Lines.Add('Свобдно:'+IntToStr(Free_Bytes)+' байт '+FloatToStr(Round(Free_Bytes/1024/1024/1024))+' Гбайт'); // вывод в memo
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Form1.Close();//выход
end;
end.
Пример работы программы:
|