Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];

Вниз

копирование файлов с Progress Bar   Найти похожие ветки 

 
Mistic   (2003-11-06 13:37) [0]

Простите за ламерский вопрос, надо копировать файлы с отображением индикатора копирования в ProgressBar на Form. Если можно киньте работающую функцию,если нет объясните как сделать.


 
malamba   (2003-11-06 13:40) [1]

НЕ знаю, как с копированием, а вот у меня прога заполняет Вордовсий файл всякой требухой.
В код я всунул

PanelForm.Visible:=True;
ProgressBarAct.Visible:=True;
PanelForm.BringToFront;
PanelForm.Update;

ProgressBarAct.StepIt;

юююю
ProgressBarAct.StepIt;
юююю
ProgressBarAct.StepIt;
юююю
ProgressBarAct.Position:=ProgressBarAct.Max;

ююю - это выполняемый код


 
[lamer]Barmaglot   (2003-11-06 13:52) [2]

SHFILEOPSTRUCT?


 
Gray Angel   (2003-11-06 13:57) [3]

Собственная функция копированя (например посредством потоков), засунутая в отдельный процесс, в котором есть ссылка на объект типа TProgressBar.

У меня по крайней мере так. Если кто знае стандартные средства, заделитесь опытом плизз.


 
Stas   (2003-11-06 14:01) [4]

Есть API функция копирования файлов, которая отображает окно с ProgressBar, так как в Explorer.


 
gek   (2003-11-06 14:01) [5]

http://www.swissdelphicenter.ch/en/showcode.php?id=330


 
Романов Р.В.   (2003-11-06 14:02) [6]

F1 - CopyFileEx
LPPROGRESS_ROUTINE lpProgressRoutine, // pointer to the callback function

SHFileOperation


 
serge   (2003-11-06 14:03) [7]

Load from WWW.ИСХОДНИКИ.РУ
Копирование файлов со стандартным диалоговым окошком.
Компилятор: Delphi

Следующий пример демонстрирует использование функции SHFileOperation для копирования нескольких файлов и отображения стандартного системного диалога копирования файлов. Следующие флаги так же можно использовать для удаления, перемещения и переименования группы файлов.

TO_COPY
FO_DELETE
FO_MOVE
FO_RENAME

Замечание: Буфер, который содержит имена файлов для копирования должен заканчиваться двумя нулями;

Пример:

uses ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
Fo : TSHFileOpStruct;
buffer : array[0..4096] of char;
p : pchar;

begin
FillChar(Buffer, sizeof(Buffer), #0);
p := @buffer;
p := StrECopy(p, "C:\DownLoad\1.ZIP") + 1;
p := StrECopy(p, "C:\DownLoad\2.ZIP") + 1;
p := StrECopy(p, "C:\DownLoad\3.ZIP") + 1;
StrECopy(p, "C:\DownLoad\4.ZIP");

FillChar(Fo, sizeof(Fo), #0);
Fo.Wnd := Handle;
Fo.wFunc := FO_COPY;
Fo.pFrom := @Buffer;
Fo.pTo := "D:\";
Fo.fFlags := 0;
if ((SHFileOperation(Fo) <> 0) or
(Fo.fAnyOperationsAborted <> false)) then
ShowMessage("Cancelled")
end;


 
Gray Angel   (2003-11-06 14:05) [8]

To Stas: А название API функции можно узнать плз?


 
Stas   (2003-11-06 14:10) [9]

С помощью этой процедуры можно копировать файлы и папки она построена на API, при копировании ввыодится окно с индикатором.

Procedure CopyFolder (OutDir,InDir:String;Handle:HWND);
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: Array [0..128] of Char;
Begin
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, OutDir );
StrPCopy( tobuf, Indir );
With OpStruc DO Begin
Wnd:= Handle;
wFunc:= FO_COPY;
pFrom:= @frombuf;
pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;
fAnyOperationsAborted:=false;
hNameMappings:= Nil;
lpszProgressTitle:= Nil;
end;
ShFileOperation( OpStruc );
end;


 
Mistic   (2003-11-06 14:30) [10]

Мне нужно чтобы ProgressBar выходил не в отдельном окошке, а отображался на моей форме. с ShFileOperation и так все ясно


 
Stas   (2003-11-06 14:34) [11]

А че там сложного ?


 
Stant   (2003-11-06 14:39) [12]

Напиши свою функцию CopyFile, копируй блоками по 64kb и после копирования каждого блока обновляй инфу в ProgressBar и вызывай Application.ProcessMessages



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

Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.017 c
1-56712
malamba
2003-11-06 13:28
2003.11.17
сохранение файла Excel ...


9-56426
T{}r(l-l
2003-05-08 00:44
2003.11.17
Как рисовать модельки?


4-56949
s_g
2003-09-21 21:15
2003.11.17
Мастера, подскажите в какой dll находится функция IntToAscii.


14-56818
Nelud
2003-10-23 12:35
2003.11.17
Нужна здоровая критика!


1-56765
Mistic
2003-11-06 13:37
2003.11.17
копирование файлов с Progress Bar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский