Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Then begin. if (SR.Attr and faDirectory) = faDirectory




 

if (SR.Attr and faDirectory) = faDirectory

then List.Add('Dir' + SR.Name)

elseList.Add('Fil' + SR.Name)

end;

until FindNext(SR)<>0;

FindClose(SR);

List.Add(‘FFind’);

Send;

end;

 

Процесс отображения:

1. Если курсор мыши на ListView1, то меняем его на часы

2. Очищаем ListView1

3. Добавляем в ListVioew1 ячейку с именем файла copy (MemRecive.Lines[i], 4,length(List.Strings[i]));

4. Если в начале строки стоит Dir, то отображаем иконку папки, если стоит Fil, отображаем иконку файла

5. После всех операций восстанавливаем обычный курсор

 

if n = 'FFind'

Then begin

Form1.Frame41.ListView1.Clear;

for i := 1 to Form1.List.Count - 1 do

Begin

With Form1.Frame41.ListView1.Items.Add do

Begin

Caption := copy(Form1.List.Strings[i], 4,length(Form1.List.Strings[i]));

 

if copy(Form1.List.Strings[i], 1,3) = 'Dir'

then ImageIndex := 0

else ImageIndex := 1;

 

end;

end;

 

 

*******************************************************

 

2. Кнопка «Обновить» повторяет поиск в данной папке.

3. Кнопка «Выделить файлы для копирования» показывает рядом с каждым файлом или папкой квадратик, в котором можно поставить галочку, тем самым выделить файл для последующего его копирования.

4. При нажатии на кнопку «Копировать файлы» в левой части экрана появляется фрейм с «линией прогресса»(TProgressBar), показывающая сколько процентов скопировано. Во время копирования над ней пишется имя того файла, который передаётся в данный момент, ниже прогресса пишутся выполняемые действия.

 

procedure TFrame4.Button7Click(Sender: TObject);

Var

i : integer;

Begin

Form1.Frame51.P := -1;

Form1.Frame51.L := 0;

Form1.Frame51.Memo1.Clear;

Form1.Frame51.mmOut.Text := 'Трансфер открыт:';

Form1.Frame51.mmOut.Lines.Add('...');

Form1.Frame51.ProgressBar1.Position := 0;

for i := 0 to ListView1.Items.Count - 1 do

Begin

if ListView1.Items[i].Checked

Then begin

Form1.Frame51.Memo1.Lines.Add(ListView1.Items[i].Caption);

inc(Form1.Frame51.L);

end;

end;

 

////////////////////////////////////////

Form1.Frame41.Hide;

Form1.Frame51.Show;

//----

Form1.Frame51.U := 100 div Form1.Frame51.L;

if Form1.Frame51.U < 1

then Form1.Frame51.U := 1;

Form1.Frame51.Timer1.Enabled := true;

end;

 

5. Кнопка «Отмена» скрывает данный модуль программы.

 

Копирование файлов

Перед тем, как начать копирование файлов необходимо их выделить в ListView1. Копировать файлы за раз можно только из одной папки.

После того, как нужные файлы выделены, можно указать папку – куда они будут скопированы. Для этой цели предусмотрена кнопка «Обзор», при её нажатии появляется диалог выбора каталога.

 

Событие таймера, выполняющего копирование:

 

procedureTFrame5.Timer1Timer(Sender: TObject);

Begin

inc(P);

if Memo1.Lines[P] <> ''

Then begin

Form1.Frame51.Label2.Caption := 'Копирование ' + Memo1.Lines[P];

Form1.Frame51.mmOut.Lines.Add(TimeToStr(Time) + ' Копирование ' + Memo1.Lines[P]);

 

Try

 

DM.FClient.Get(Form1.Frame41.eAdr.Text + Memo1.Lines[P], Form2.ShellTreeView1.Path + '\' + Memo1.Lines[P]);

Except

Form1.Frame51.mmOut.Lines.Add('Ошибка при копировании файла: ' + Memo1.Lines[P]);

end;

 

 

if fileexists(Form2.ShellTreeView1.Path + '\' + Memo1.Lines[P])


Поделиться:

Дата добавления: 2015-08-05; просмотров: 55; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты