Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2003-12-01

Re[2]: Новости дискуссионного листа "Программирование. Форум !!!"

Здравствуйте !

> Сегодня все это применил в своем алгоритме все заработало ОК.
> До этого у меня был свой алгоритм но по сравнению с вашим он более
> тяжеловесный и запутанный и надежды на него еще меньше. Так что быдем
> считать что с этим разобрались
>
> VVV> BOOL CopyFile(
> VVV> LPCTSTR lpExistingFileName,
> VVV> LPCTSTR lpNewFileName,
> VVV> BOOL bFailIfExists
> VVV> );
>
>
> VVV> BOOL CopyFileEx(
> VVV> LPCTSTR lpExistingFileName,
> VVV> LPCTSTR lpNewFileName,
> VVV> LPPROGRESS_ROUTINE lpProgressRoutine,
> VVV> LPVOID lpData,
> VVV> LPBOOL pbCancel,
> VVV> DWORD dwCopyFlags
> VVV> );
>
> это для копирования а для удаления?

Это для копирования.
CopyFile просто копирует файл.
Например :

::CopyFile("c:\\file_exist.txt", "d:\\new_file.txt", TRUE);

скопирует файл c:\\file_exist.txt в d:\\new_file.txt причем
если d:\\new_file.txt уже есть, то вернет FALSE.
Если бы последний параметр был FALSE, то если бы d:\\new_file.txt
уже существовал, то функция бы его переписала.

С CopyFileEx все немного сложнее, в нее в качестве параметра
lpProgressRoutine
передается указатель на функцию вида :

DWORD CALLBACK CopyProgressRoutine(
LARGE_INTEGER TotalFileSize,
LARGE_INTEGER TotalBytesTransferred,
LARGE_INTEGER StreamSize,
LARGE_INTEGER StreamBytesTransferred,
DWORD dwStreamNumber,
DWORD dwCallbackReason,
HANDLE hSourceFile,
HANDLE hDestinationFile,
LPVOID lpData
);

то есть функцию обратного вызова, которая вызывается переодически из
CopyFileEx.

Для перемещения файла есть функции :

BOOL MoveFileEx(
LPCTSTR lpExistingFileName,
LPCTSTR lpNewFileName,
DWORD dwFlags
);

и

BOOL MoveFileWithProgress(
LPCTSTR lpExistingFileName,
LPCTSTR lpNewFileName,
LPPROGRESS_ROUTINE lpProgressRoutine,
LPVOID lpData,
DWORD dwFlags
);

для удаления есть :

BOOL DeleteFile(
LPCTSTR lpFileName
);

тут все просто - передается имя файла, который надо удалить.

В MFC есть класс CFile. У него есть несколько статических функций.

Функция

static void PASCAL CFile::Remove(
LPCTSTR lpszFileName
);

удаляет файл. То есть :

CFile::Remove("c:\\asd.txt"); удалит c:\\asd.txt

и есть функция

static void PASCAL CFile::Rename(
LPCTSTR lpszOldName,
LPCTSTR lpszNewName
);

она переименовывает файл :

CFile::Rename("c:\\asd.txt", "c:\\qwe.txt"); переименует c:\\asd.txt в
c:\\qwe.txt

Вот такие дела.

Если надо, могу потом быстренько примерчики накрапать.

Vic.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   2003-12-01 22:03:02 (#27982)

Re[2]: Новости дискуссионного листа "Программирование. Форум !!!"

Hello Victor,

Sunday, November 30, 2003, 6:04:39 PM, you wrote:

Здравствуйте !

VVV> Тут по сути дела прикол вот в чем - GetLine для ричедита возвращает
VVV> строку именно так, как она представлена в самом элементе управления.
VVV> То есть как бы пользователь ее увидел.

VVV> А описанный метод просто разбирает текст из контрола на строки, считая
VVV> признаком окончания строки \r\n или \r, если после не идет \n

Сегодня все это применил в своем алгоритме все заработало ОК.
До этого у меня был свой алгоритм но по сравнению с вашим он более
тяжеловесный и запутанный и надежды на него еще меньше. Так что быдем
считать что с этим разобрались

VVV> BOOL CopyFile(
VVV> LPCTSTR lpExistingFileName,
VVV> LPCTSTR lpNewFileName,
VVV> BOOL bFailIfExists
VVV> );

VVV> BOOL CopyFileEx(
VVV> LPCTSTR lpExistingFileName,
VVV> LPCTSTR lpNewFileName,
VVV> LPPROGRESS_ROUTINE lpProgressRoutine,
VVV> LPVOID lpData,
VVV> LPBOOL pbCancel,
VVV> DWORD dwCopyFlags
VVV> );

это для копирования а для удаления?

Владимир

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   bvb 2003-12-01 18:21:54 (#27828)