Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Файлы   Найти похожие ветки 

 
Nata   (2004-08-13 16:54) [0]

Здравствуйте друзья!!!…опять у меня проблема…во общем я использую findfirst нахожу нужный файл а потом копирую его (copyfiles) все у меня гуд…в чем же вопрос спросите вы????…;) мне нужно что бы моя программа показывала сколько кб или мб она скопировала???? Как мне определить размер файла и как мне определить скока скачало???? Плз помогите….всех люблю….


 
ssk ©   (2004-08-13 16:57) [1]

попробуй так:

uses ShellApi;

function WindowsCopyFile(FromFile, ToDir: string): boolean;
var
 F: TShFileOpStruct;
begin
 F.Wnd:=0;
 F.wFunc:=FO_COPY;
 FromFile:=FromFile+#0;
 F.pFrom:=pchar(FromFile);
 ToDir:=ToDir+#0;
 F.pTo:=pchar(ToDir);
 F.fFlags:=FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
 result:=ShFileOperation(F) = 0;
end;

// пример копирования
procedure TForm1.Button1Click(Sender: TObject);
begin
if not WindowsCopyFile("C:\UTIL\ARJ.EXE", GetCurrentDir) then
  ShowMessage("Copy Failed");
end;


 
Nata   (2004-08-13 17:02) [2]


> ssk ©   (13.08.04 16:57) [1]

ну и как я увижу сколько скапировалось???
label1.caption:=result?


 
Андрей Сенченко ©   (2004-08-13 17:06) [3]

Не совсем понятна задача .. если нужно копировать ОДИН файл - и показывать его размер, то :

ФайловаяПеременная.Size;

если нужно показывать именно процесс копирования - я бы использовал

TFileStream.Write
TFileStream.Read


 
begin...end ©   (2004-08-13 17:11) [4]


> Nata   (13.08.04 16:54)


> Как мне определить размер файла

FileSizeByName()


 
GuAV ©   (2004-08-13 17:14) [5]

CopyFileEx - параметр lpProgressRoutine


 
Nata   (2004-08-13 17:17) [6]


> Не совсем понятна задача .. если нужно копировать ОДИН файл
> - и показывать его размер, то :
>
> ФайловаяПеременная.Size;

да!!!! теперь я могу определить размер ФайловаяПеременная.Size но как мне определить сколько я уже перекачал????????


 
Nata   (2004-08-13 17:22) [7]


> GuAV ©   (13.08.04 17:14) [5]
> CopyFileEx - параметр lpProgressRoutine

открыла хелп

BOOL CopyFileEx(

   LPCWSTR lpExistingFileName, // pointer to name of an existing file
   LPCWSTR lpNewFileName, // pointer to filename to copy to
   LPPROGRESS_ROUTINE lpProgressRoutine, // pointer to the callback function
   LPVOID lpData, // to be passed to the callback function
   LPBOOL pbCancel, // flag that can be used to cancel the operation
   DWORD dwCopyFlags // flags that specify how the file is copied
  );

вообщем я так и не поняла я понела только первые два параметра

CopyFileEx(c:\1.rar,d:\1.rar,?,?,?,?) а для чего остальные 4 не поняла...можешь примерчик с поясненицем написать?


 
begin...end ©   (2004-08-13 17:27) [8]

http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=2133


 
GuAV ©   (2004-08-13 17:34) [9]


>    LPPROGRESS_ROUTINE lpProgressRoutine, // pointer to the
> callback function

@CopyProgressRoutine, где CopyProgressRoutine объявлена так:

function CopyProgressRoutine(TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred: Int64; dwStreamNumber, dwCallbackReason: LongWord; hSourceFile, hDestinationFile: THandle; lpData: Pointer): LongWord; stdcall;

эта процедура будет периодически вызываться

lpData - указатель тот самый, что передается в CopyProgressRoutine.
pbCancel - указатеь на LongBool - признак отмены.
dwCopyFlags - комбинация флагов см. ниже


 
Nata   (2004-08-13 17:45) [10]

СПАСИБО!!!!!!!ВСЕ КРУТО!!!!ВСЕХ ЛЮБЛЮ!!!


 
Vetek_2   (2004-08-13 22:18) [11]

- у меня 98 винда .. CopyFileEx не пашет .. обидно ...


 
GuAV ©   (2004-08-13 22:21) [12]


> - у меня 98 винда ..

У меня тоже.

> CopyFileEx не пашет ..

Удивил ;-)

> обидно ...

Нефиг. Ставь ХР.


 
Fay ©   (2004-08-13 22:56) [13]

2 Vetek_2   (13.08.04 22:18) [11]
ReadFile/WriteFile. И сразу Щастье.



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
14-1092037685
Карелин Артем
2004-08-09 11:48
2004.08.29
Спамеры без башни.


1-1092321477
stalk
2004-08-12 18:37
2004.08.29
Форма перестает реагировать на события мыши


14-1091987827
Дмитрий В. Белькевич
2004-08-08 21:57
2004.08.29
Тенденция, однако (о фильмах)


14-1092083478
имя
2004-08-10 00:31
2004.08.29
Новая версия проги


1-1092026133
vasko
2004-08-09 08:35
2004.08.29
Перевод строки в CHAR