Системное программирование для операционных систем

Резидентная программа, контролирующая наличие одинаковых файлов на диске в фоновом режиме на языке С++. Структура основной программы, программная реализация алгоритма, её исходный текст, функциональные возможности и руководство по использованию.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.12.2009
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

/*

Msg.LParam=

512 - кнопки мыши не нажаты

513, 514 - нажать, отпустить левую кнопку ..001,..010

516, 517 - нажать, отпустить правую кнопку ..0100,..0101

519, 520 - нажать, отпустить среднюю кнопку ..0111,..1000

*/

//обработчик событий от значка в System Tray -

//показывает всплывающее меню при щелчке мышью на значке в System Tray

void __fastcall TFForm::WMShellMess(TMessage &Message)

{

if(Message.WParam ==0)

switch(Message.LParam)

{

case 513:

case 516:if(!SDForm->Visible)

{

TPoint tp;

SetForegroundWindow(Handle);

GetCursorPos(&tp);

N1->Enabled=!Visible || IsIconic(Application->Handle);

PopupMenu1->Popup(tp.x,tp.y);

PostMessage(Handle,WM_NULL,0,0);

}

break;

}

}

//---------------------------------------------------------------------------

//обработчик сообщения от второй копии приложения - для открытия и показа главного окна

void __fastcall TFForm::ShowMyWin(TMessage &Message)

{

ShowWindow(Application->Handle, SW_SHOWNORMAL);

Show();

}

//---------------------------------------------------------------------------

//обработчик пуккта всплывающего меню "Отчет, настройки программы"

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

void __fastcall TFForm::N1Click(TObject *Sender)

{

ShowWindow(Application->Handle, SW_SHOWNORMAL);

Show();

}

//---------------------------------------------------------------------------

//обработчик OnClose (при закрытии) формы

void __fastcall TFForm::FormClose(TObject *Sender, TCloseAction &Action)

{

Timer2->Enabled=false;

if(AppClose) {//закрытие программы разрешено - выполняет деинициализирующие действия

StopThreads();//остановка-удаление потоков

if(Report) delete Report; //удаление отчета

CloseHandle(NeverMutex); //освобождение объектов

CloseHandle(NeverEvent); //

Shell_NotifyIcon(NIM_DELETE,&NotifyData); //удаление значка из System Tray

//сохранение параметров в файл "FileNames.inf"

TStringList *S = new TStringList();

S->Add(AddDirButton->Caption);//контролируемый каталог

for(int i=0;i<ExBox->Items->Count;i++) S->Add(ExBox->Items->Strings[i]);//список исключений

S->SaveToFile(ChangeFileExt(ParamStr(0),".inf"));

delete S;

}

else {//закрытие программы запрещено - только скрывает окно

Action=caNone;

Hide();

ShowWindow(Application->Handle, SW_HIDE);

}

}

//---------------------------------------------------------------------------

//обработчик пуккта всплывающего меню "Закрыть программу"

//взводит признак AppClose и закрывает главное окно

void __fastcall TFForm::N2Click(TObject *Sender)

{

if(!SDForm->Visible)

{

AppClose=true;

Close();

}

}

//---------------------------------------------------------------------------

//обработчик кнопки "Скрыть окно" - скрывает главное окно

void __fastcall TFForm::Button1Click(TObject *Sender)

{

Timer2->Enabled=false;

Hide();

ShowWindow(Application->Handle, SW_HIDE);

}

//---------------------------------------------------------------------------

//обработчик таймера - осуществляет мигание надписи "Запущена проверка..."

void __fastcall TFForm::Timer1Timer(TObject *Sender)

{

Label5->Visible=!Label5->Visible;

}

//---------------------------------------------------------------------------

//Обработчик кнопки AddDirButton -

//открывает окно SDForm для смены контр-го каталога, и перезапускает потоки

void __fastcall TFForm::AddDirButtonClick(TObject *Sender)

{

AnsiString Dir=AddDirButton->Caption;

if(Dir.Length() > 3) Dir.SetLength(Dir.Length()-1);

SDForm->DriveComboBox1->Drive=Dir[1];

SDForm->DirectoryListBox1->Directory=Dir;

if(SDForm->ShowModal()==mrOk)

{

Dir=SDForm->DirectoryListBox1->Directory;

if(Dir.Length() > 3) Dir=Dir+'\\';

StopThreads();

AddDirButton->Caption=Dir;

CallThreads();

}

}

//---------------------------------------------------------------------------

//Обработчик кнопки "Стрелка вниз" - передает файл из списка одноименных в список исключений

void __fastcall TFForm::SetExButtonClick(TObject *Sender)

{

if(Report->SetEx(NameBox->ItemIndex))

{

Report->SetNameList(NameBox->Items);

Report->SetExNames(ExBox->Items);

DirBox->Items->Clear();

SetExButton->Enabled=false;

ResetExButton->Enabled=false;

if(Report->NameList->Count>0) Panel2->Caption="Обнаружены одноименные файлы!";

else Panel2->Caption="Одноименные файлы отсутствуют.";

}

}

//---------------------------------------------------------------------------

//Обработчик кнопки "Стрелка верх" - передает файл из списка исключений в список одноименных

// или удаляет файл из списка исключений

void __fastcall TFForm::ResetExButtonClick(TObject *Sender)

{

if(Report->ResetEx(ExBox->ItemIndex))

{

Report->SetNameList(NameBox->Items);

Report->SetExNames(ExBox->Items);

DirBox->Items->Clear();

SetExButton->Enabled=false;

ResetExButton->Enabled=false;

if(Report->NameList->Count>0) Panel2->Caption="Обнаружены одноименные файлы!";

else Panel2->Caption="Одноименные файлы отсутствуют.";

}

}


Подобные документы

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

    курсовая работа [581,0 K], добавлен 13.11.2009

  • Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.

    лабораторная работа [3,7 M], добавлен 22.03.2012

  • Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.

    курсовая работа [294,0 K], добавлен 08.09.2008

  • Теоретическое исследование вопроса и практическое применение. Общие сведения о графах. Алгоритм Дейкстры. Особенности работы в среде. Программная реализация. Описание алгоритма и структуры программы. Описание программных средств. Текст программы.

    курсовая работа [1,0 M], добавлен 27.11.2007

  • Обоснование выбора языка, виды языков программирования. Характеристика программного продукта, постановка задачи, методы решения, программная реализация, программная документация. Руководство по использованию программы. Защита программного продукта.

    дипломная работа [1,6 M], добавлен 22.02.2010

  • функциональные части обучающей системы: программа для создания и модификации тестов, сервисная программа администрирования и программа контроля знаний. Концептуальная и логическая модель базы данных. Структура файлов базы данных. Руководство пользователя.

    дипломная работа [807,0 K], добавлен 24.11.2010

  • Нормализация предметной области "Сайт знакомств" и ее программная реализация с использованием СУБД MySQL, языка HTML, технологии PHP и ADO, скриптовых языков VBScript или JavaScript. Руководство программиста, тестирование, исходный текст приложения.

    реферат [29,0 K], добавлен 09.09.2010

  • Анализ и математическая постановка задачи. Описание алгоритма действий, структурной организации программы и ее программной реализации. Текст основной программы, модулей вывода текстовых файлов на экран, извлечения ехе-файлов и подсчёта лабораторных работ.

    курсовая работа [28,1 K], добавлен 28.02.2011

  • Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в виде 4 форм и 1 диалогового окна. Описание алгоритма решения задачи. Текст программы, руководство оператора.

    курсовая работа [1,4 M], добавлен 04.06.2013

  • Реализация анкеты "Литературные предпочтения" средствами разработки PHP, MYSQL. Структура баз данных и приложения. Программная реализация анкеты на языке программирования php, руководство пользователя. Разработка PHP скриптов. Листинг программы.

    курсовая работа [351,1 K], добавлен 02.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.