Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Функції Win32API для файлових операцій

Читайте также:
  1. II. Завдання, функції, права та обов'язки Управління
  2. Визначення тривалості прийому та відправлення поїзда, а також виконання маневрових операцій
  3. Відображення в обліку інших операційних витрат
  4. Відображення в обліку інших операційних доходів та витрат
  5. Вплив господарських операцій на баланс
  6. Державні комітети (державні служби) України та інші центральні органи виконавчої влади: їх статус, функції.
  7. Диференціальне числення функції багатьох змінних

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

 

#include <vcl.h>

#include <StrUtils.hpp>

#pragma hdrstop

 

#include "UShFile.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

 

void __fastcall TForm1::BFind1Click(TObject *Sender)

{

int i;

OpenDialog1->Options = OpenDialog1->Options << ofAllowMultiSelect;

if (OpenDialog1->Execute())

{

ESource->Text="";

for (i=1; i <= OpenDialog1->Files->Count;i++)

ESource->Text = ESource->Text +

OpenDialog1->Files->Strings[i-1] + ";";

}

}

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

 

void __fastcall TForm1::BFind2Click(TObject *Sender)

{

OpenDialog1->Options = OpenDialog1->Options >>ofAllowMultiSelect;

if (OpenDialog1->Execute())

ETarget->Text = OpenDialog1->FileName;

 

}

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

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

SHFILEOPSTRUCT SHF;

AnsiString SFrom, STo;

 

SFrom = ESource->Text + "\0\0";

SFrom = AnsiReplaceStr(SFrom, ';', '\0');

STo = ETarget->Text + "\0\0";

SHF.hwnd = 0;

SHF.pFrom = SFrom.c_str();

SHF.pTo = STo.c_str();

SHF.fFlags = FOF_ALLOWUNDO;

if (!CheckBox1->Checked)

SHF.fFlags = (SHF.fFlags | FOF_NOCONFIRMATION);

if (CheckBox2->Checked)

SHF.fFlags = (SHF.fFlags | FOF_NOCONFIRMMKDIR);

switch(RadioGroup1->ItemIndex)

{

case 0: SHF.wFunc = FO_COPY;

break;

case 1: SHF.wFunc = FO_MOVE;

break;

case 2: SHF.wFunc = FO_RENAME;

break;

case 3: SHF.wFunc = FO_DELETE;

}

if (RadioGroup2->ItemIndex == 1)

SHF.fFlags = SHF.fFlags | FOF_RENAMEONCOLLISION;

if (RadioGroup3->ItemIndex == 2)

SHF.fFlags = SHF.fFlags | FOF_SILENT;

else if (RadioGroup3->ItemIndex == 1)

{

SHF.fFlags = SHF.fFlags | FOF_SIMPLEPROGRESS;

SHF.lpszProgressTitle = "Пожалуйста, подождите";

}

//

if(SHFileOperation(&SHF)!= 0)

if (SHF.fAnyOperationsAborted)

ShowMessage(

"Выполнение операции прервано пользователем");

else ShowMessage("Ошибка выполнения операции");

else ShowMessage("Операция успешно завершена");

 

}

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

 

void __fastcall TForm1::ApplicationEvents1ShowHint(AnsiString &HintStr,

bool &CanShow, THintInfo &HintInfo)

{

if (AnsiString(HintInfo.HintControl->ClassName()) == "TEdit")

if (Label1->Canvas->TextWidth(

((TEdit *)HintInfo.HintControl)->Text) >

HintInfo.HintControl->ClientWidth)

{

HintStr = ((TEdit *)HintInfo.HintControl)->Text;

ApplicationEvents1->CancelDispatch();

}

 

 

}

Лабораторна робота 6 (ч.1)

Тема: Керування пристроями вводу-виводу

Завдання:

1.Дослідити роботу програми.

2.Описати документацію на типи даних, структури та функції win32 API, які використовуються в програмі.

3.За завданням викладача розробити власний проект на основі існуючого.

 


Дата добавления: 2015-07-11; просмотров: 124 | Нарушение авторских прав


Читайте в этой же книге: Приклад синхронізації потоків за допомогою об’єкта CRITICAL_SECTION | Тема: Мережні засоби операційних систем | Додання елементів в список вибіркового керування доступом (DACL) файла або каталога | Стислі теоретичні відомості | Зміст та порядок виконання роботи | Форма звіту | Лабораторна робота № 3 |
<== предыдущая страница | следующая страница ==>
Лабораторна робота 3| Тема: Створення та використання DLL

mybiblioteka.su - 2015-2024 год. (0.008 сек.)