C++Builder copy files

12 отговора 384 прегледа
#1

C++Builder copy files

Здравейте.
Някой може ли да ми каже функция в C++Builder, Delphi или C++ с която може да се изкопират всички файлове от една директория (Source) в друга директория (Destination).Ако приложите и пример ще съм много благодарен.
Предварително Ви благодаря.
ist

ist@dir.bg
Отговор
в отговор на ist #2

Re: C++Builder copy files

с поддиректориите или без?


Я вышел им наперерез...
Отговор
в отговор на MиГ #3

Re: C++Builder copy files

За момента ми трябва без но ако знаеш как става и със тях кажи и това.

ist@dir.bg
Отговор
в отговор на ist #4

Re: C++Builder copy files

SHFileOperation()

Отговор
в отговор на ist #5

Re: C++Builder copy files

Ako inash MSDN wij "File I/O Functions" tam sa sybrani wsi4kite neshta.

Отговор
в отговор на _ #6

Re: C++Builder copy files

Нямям Help.Как точно става самата работа?
Ако може пример.
Предварително Ви благодаря.

ist@dir.bg
Отговор
в отговор на ist #7

Re: C++Builder copy files

нямаш Help?! трябва да гледаш в MS Win32 Help-a (или както там му казваха) на Delphi-то.

[линк]

доста се чудих дали да ти напиша пример...

Отговор
в отговор на _ #8

Re: C++Builder copy files

Със следващия код ми дава следната грешка.
"File system error (1026)".
Знаеш ли какъв е проблема?

void __fastcall MainForm::Button1Click(TObject *Sender)
{
TSHFileOpStruct fos;
fos.hwnd = Application->Handle;
fos.wFunc = FO_COPY;
fos.pFrom = "C:\\My Documents\\test.doc";
fos.pTo = "D:\\;
fos.fFlags = 0;
if (SHFileOperation(&fos) != 0)
ShowMessage("Copy Failed");
}

ist@dir.bg
Отговор
в отговор на ist #9

Re: C++Builder copy files

fos.hwnd = Application->Handle; ???
Що за боза?
Нулирай го


Я вышел им наперерез...
Отговор
в отговор на MиГ #10

Re: C++Builder copy files

Благодаря ти Миг. Ще пробвам и ако има проблем ще се обадя.
Още един път ти благодаря.
ist.

ist@dir.bg
Отговор
в отговор на MиГ #11

Re: C++Builder copy files

И при fos.hwnd = 0; ефекта е същия.

ist@dir.bg
Отговор
в отговор на ist #12

Re: C++Builder copy files

1. Това TSHFileOpStruct клас ли е? Т.е. гарантирано ли е нулирането на структурата?
2. pFrom и pTo трябва да завършват с две нули, не с 1

пробвай този код:

char *CreateDoubleTerminatedString(char *pSrc)
{
int nLen = strlen(pSrc);
char *pBuff = new char[nLen + 2];
strcpy(pBuff, pSrc);
pBuff [nLen + 1] = 0;
return pBuff;
}

void copy(char *pSrcFileName, char *pDestFileName)
{
SHFILEOPSTRUCT of;
memset(&of, 0, sizeof(of));

of.wFunc = FO_COPY;
of.pFrom = CreateDoubleTerminatedString(pSrcFileName);
of.pTo = CreateDoubleTerminatedString(pDestFileName);

SHFileOperation(&of);

delete [] of.pFrom;
delete [] of.pTo;
}


Я вышел им наперерез...
Отговор
в отговор на MиГ #13

Re: C++Builder copy files

Благодаря ти Миг.
Ще пробвам.
Поздрави.
ist

ist@dir.bg
Отговор