Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизФайлы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.024 c