Читайте также:
|
|
//---------------------------------------------------------------------------
#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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Лабораторна робота 3 | | | Тема: Створення та використання DLL |