Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Просто помогите....:) [D7, XP]


Goast ©   (2006-01-17 15:30:00) 

Здравствуйте мастера!!!!  У меня программа должна ОДНОВРЕМЕННО копировать на несколько компьютеров один и тот же файл. Адреса компьютеров у меня находятся в StringGrid. В принципе я уже это реализовал:
type
tmythread1=class(tthread)
private
  { Private declarations }
protected
procedure execute; override;
end;

var
t1:tmythread1;

procedure tmythread2.execute;
begin

   CopyFileEx(pchar(otkyda),pchar(kyda),@Progress,nil,nil,0);
end;

Нажимаем на кнопочку!!!!!

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
t1:=tmythread1.Create(false);
t1.Priority:=tplowest;
end;

все работает файлы ОДНОВРЕМЕННО копируются на все компы по списку .ИИИИИИИ наконец вопрос!!!!…:) Как мне сделать так что бы напротив компьютера(в stringGrid) писалось бы сколько процентов скопировано???????????? Спасибо всем!!!!


Goast   (2006-01-17 15:46:00) [1]


> DimonS ©   (17.01.06 15:42) [1]
> Можно попробовать копирование через API. Проценты не показывает,
>  но показывает приблизительное время до конца. Как в винде
> :)

это я так понимаю он будет показывать виндовское окно да?если да то это не подходит у меня 30 компов это че 30 окон будет....??!!...:)


DimonS   (2006-01-17 15:42:00) [2]

Можно попробовать копирование через API. Проценты не показывает, но показывает приблизительное время до конца. Как в винде :)

uses ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: Array [0..128] of Char;
Begin
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, 'h:\hook\*.*' );
StrPCopy( tobuf, 'd:\temp\brief' );
With OpStruc DO Begin
Wnd:= Handle;
wFunc:= FO_COPY;
pFrom:= @frombuf;
pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:= False;
hNameMappings:= Nil;
lpszProgressTitle:= Nil;
end;
ShFileOperation( OpStruc );
end;

Функцию проверял, работает нормально.


Наверх

Титульная страница Поиск, карта сайта Написать письмо