Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1092308272
Vasislisk
2004-08-12 14:57
2004.08.29
TMainMenu (item прижать к правому краю формы)


1-1092206792
atmospheric
2004-08-11 10:46
2004.08.29
Компонент для преобразования html таблицы в StringGrid?


14-1092228490
European
2004-08-11 16:48
2004.08.29
Почему переменная цикла почти всегда i?


10-1034156256
Sikkens
2002-10-09 13:37
2004.08.29
idl2cpp error!!! HELP!


14-1092177221
Profi
2004-08-11 02:33
2004.08.29
Сопромат





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский