Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Виктория1992
1 / 1 / 2
Регистрация: 11.06.2013
Сообщений: 159
#1

Оптимизировать программу поиска и копирования файлов - Delphi

12.12.2014, 14:45. Просмотров 302. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Помогите пожалуйста дополнить программу поиска и копирования файлов.
Моя программа ищет и копирует все файлы из папки.
Нужно сделать так чтоб, программа копировала только те файлы которые были изменены ,например за неделю.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
procedure TForm1.Timer1Timer(Sender: TObject);
var
  ListItem: TListItem;
  sr: tsearchrec;
 
  i,k,j:Integer;
  ss:string;
  dp:TStringList;
  ss2:string;
  memo_1:TMemo;
 
begin
  Timer1.Enabled:=False;
  ListView1.Clear;
  memo_1:=TMemo.Create(self);
  memo_1.Parent:=form1;
  memo_1.ScrollBars:=ssBoth;
  memo_1.Align:=alClient;
  Memo1.Clear;
   if FindFirst(' Где ищем', faAnyFile, sr) = 0 then
  begin
    ListItem := ListView1.Items.Add;
    ListItem.Caption := sr.name;
    ListItem.SubItems.Add(datetimetostr(FileDateToDateTime(sr.time)));
    
    while FindNext(sr) = 0 do
    begin
      ListItem := ListView1.Items.Add;
      ListItem.Caption := sr.name;
      ListItem.SubItems.Add(datetimetostr(FileDateToDateTime(sr.time)));
    end;
    FindClose(sr);
  end;
 
if ListView1.Columns.Count>1 then ListView1ColumnClick(ListView1,ListView1.Column[1]);
 
  for I := 0 to ListView1.Items.Count - 1 do begin
    ss:='куда копируем'+ListView1.Items.Item[i].Caption;
  
     CopyFile(PChar('откуда копируем'+ListView1.Items.Item[i].Caption), PChar(ss),false);
     Memo_1.Clear;
     Memo_1.Lines.LoadFromFile(ss);
     for k := 0 to Memo_1.Lines.Count-1 do begin
     dp:=TStringList.Create;
     dp.Delimiter:=';';
     dp.StrictDelimiter:=True;
     ss2:=Memo_1.Lines.Strings[k];
       for j := 0 to Length(ss2) - 1 do begin
          if ss2[j]=',' then ss2[j]:='.';        
       end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2014, 14:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Оптимизировать программу поиска и копирования файлов (Delphi):

Поиск в Delphi. Написать программу для поиска всех файлов и каталогов, названия которых начинаются на заданную букву - Delphi
Поиск в Delphi. Написать программу для поиска всех файлов и каталогов, названия которых начинаются на заданную букву

Не работает цикл поиска-копирования по строкам excel - Delphi
Здравствуйте,господа. Помогите пожалуйста. В delphi-программе работаю с excel. Программа создает 2 книги - 1.*ночные данные* и...

Класс копирования файлов - Delphi
Всем привет. Хочу узнать есть ли классы копирования(перемещения, удаления) файлов списком, с запросом при проблеме копирования, например...

Отображение копирования файлов в ProgressBar - Delphi
Всем привет! Подскажите пожалуйста, как можно отобразить состояние копирования файлов в ProgressBar. Примером может стать установочный...

Самый быстрый способ копирования файлов - Delphi
Есть много способов копирования фалов. Например средствами Windows (FileCopy) Побайтовое чтение из одного файла и запись в другой. ...

Программа для хранения и копирования текстовых файлов - Delphi
Добрый день программисты! Пишу программу, которая записывает информацию из текстовых файлов в один новый текстовый файл, а потом создаёт из...

2
Dmitrinik
535 / 391 / 50
Регистрация: 18.08.2012
Сообщений: 1,008
12.12.2014, 16:00 #2
А если лопаточкой покопать в Help'е?
Delphi
1
2
3
4
5
6
7
8
9
TSearchRec = record
     Time        : Integer; //Последняя дата и время изменения
     Size        : Integer;
     Attr        : Integer;
     Name        : TFileName;
     ExcludeAttr : Integer;   
     FindHandle  : THandle;
     FindData    : TWin32FindData;
end;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
.........
Var sr           : TSearchRec;
    dt           : TDateTime;
    sDate, sTime : string;
..........................
  if FindFirst(' Где ищем', faAnyFile, sr) = 0 then
    begin
      dt:=FileDateToDateTime(sr.Time);
      sDate:=DateToStr(dt);
      sTime:=TimeToStr(dt);
    end;
..........................
1
Виктория1992
1 / 1 / 2
Регистрация: 11.06.2013
Сообщений: 159
15.12.2014, 08:45  [ТС] #3
Dmitrinik, Извините,разобраться не могу ,т.к не мой проект.
ткните ,пожалуйста палкой что и куда конкретно вставить =/

Добавлено через 37 минут
Пустая я голова.
добавила вот такую проверку.
Delphi
1
2
myDate := IncDay(Now,-7);
      if dt>= myDate then begin
Правильно, или можно по другому как то?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2014, 08:45
Привет! Вот еще темы с ответами:

Оптимизировать программу - Delphi
Помогите ускорить программу! Задача такая: нужно создать массив из двух миллионов случайных чисел (random(10 000 000)), затем отсеять их...

Как можно оптимизировать программу? - Delphi
Создается трехмерный массив Имя папки-Список папок в ней-список файлов в папке В итоге жрется 500 МБ оперативной памяти, уменьшить...

Оптимизировать и немного поправить программу - Delphi
Здравствуйте. решил написать программу, так сказать - потренироваться... Но, что-то безуспешно на данный момент. ПОтому, помогите...

Как можно оптимизировать данную программу? - Delphi
program lab5; {$APPTYPE CONSOLE} uses SysUtils; var a,b,h,x,f:real; z1,z2,z3:boolean;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru