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

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

Работа с файлами [D7]


Страницы:   1 2

Overclocker ©   (2010-10-04 14:07:00) 

Задача такая: существуют различные файлы (в основном *.doc) в каком либо каталоге, имена файлов - дата (обозваны датами когда были созданы), необходимо скопировать или переместить файлы в папки(созданные по датам, т.е. соответствующий файл в соответствующую папку, соответветственной датой). Пути от куда и куда желательно указывать самомоу.. помогите хотябы начать или исходники если есть, примеры, сайты где это есть, нужно очень сильно!!!


Overclocker   (2010-10-04 16:28:00) [21]

мммм есть исходники или код хотябы посмотреть? код копирования и создания папки?


Юрий Зотов   (2010-10-04 16:09:00) [22]

Причем список файлов даже лишний - все можно сделать в цикле поиска файлов.


Anatoly Podgoretsky   (2010-10-04 16:02:00) [23]

Из него 50 минут на перекур.


Юрий Зотов   (2010-10-04 15:39:00) [24]

А в чем проблема?

1. Юзер указывает каталог с файлами.
2. Через FindFirst и пр. создаем список имен файлов (TStringList).
3. Идем по этому списку в цикле и для каждого файла:
3.1. Зная его имя, формируем имя каталога, в который его надо положить.
3.2. Если такого каталога нет, то создаем его.
3.3. Копируем файл.

Проблем не вижу никаких. Час работы.


Overclocker   (2010-10-04 15:24:00) [25]

да думал может искать прежде самому задавать атрибуты, честно с combobox не робит все равно в итоге ищет не зависимо от атрибутов ))


MBo   (2010-10-04 15:15:00) [26]

с Combobox  - впечатлило. Зачем это?


Overclocker   (2010-10-04 14:43:00) [27]

поис я организовал так:

procedure TForm1.Button1Click(Sender: TObject);
var
 F: TSearchRec;
 Path: string;
 Attr: Integer;
begin
 Path := e1.Text;        // е1  - edit1

 
if ComboBox1.ItemIndex <> 0 then
begin
ComboBox1.ItemIndex:= faReadOnly;
   Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);
       end ;

   if ComboBox1.ItemIndex <> 1 then
begin ComboBox1.ItemIndex:= faHidden;
   Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);
        end;

 if ComboBox1.ItemIndex <> 2 then
 begin
ComboBox1.ItemIndex:= faSysFile;
   Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if ComboBox1.ItemIndex <> 3 then
 begin
ComboBox1.ItemIndex:= faArchive ;     Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if ComboBox1.ItemIndex <> 4 then  begin
ComboBox1.ItemIndex:= faDirectory;       Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if ComboBox1.ItemIndex <> 5 then
 begin
ComboBox1.ItemIndex:= faAnyFile;
     Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if F.name <> '' then
 begin
   ListBox1.Items.Add(F.Name);
   while FindNext(F) = 0 do
     ListBox1.Items.Add(F.Name);
 end;
 FindClose(F);
end;

ну и все поиск норм получился а дальше:

а вот копировать как в этом коде нада путь задавать откуда и куда используя функцию CopyFile(это след действие имею ввиду)

if not CopyFile('c:\1.txt','d:\1Copy.txt',true)
then ShowMessage('сообщение!');


Overclocker   (2010-10-04 14:43:00) [28]

поис я организовал так:

procedure TForm1.Button1Click(Sender: TObject);
var
 F: TSearchRec;
 Path: string;
 Attr: Integer;
begin
 Path := e1.Text;        // е1  - edit1

 
if ComboBox1.ItemIndex <> 0 then
begin
ComboBox1.ItemIndex:= faReadOnly;
   Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);
       end ;

   if ComboBox1.ItemIndex <> 1 then
begin ComboBox1.ItemIndex:= faHidden;
   Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);
        end;

 if ComboBox1.ItemIndex <> 2 then
 begin
ComboBox1.ItemIndex:= faSysFile;
   Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if ComboBox1.ItemIndex <> 3 then
 begin
ComboBox1.ItemIndex:= faArchive ;     Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if ComboBox1.ItemIndex <> 4 then  begin
ComboBox1.ItemIndex:= faDirectory;       Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if ComboBox1.ItemIndex <> 5 then
 begin
ComboBox1.ItemIndex:= faAnyFile;
     Attr := ComboBox1.ItemIndex;
      FindFirst(Path, Attr, F);end;

 if F.name <> '' then
 begin
   ListBox1.Items.Add(F.Name);
   while FindNext(F) = 0 do
     ListBox1.Items.Add(F.Name);
 end;
 FindClose(F);
end;

ну и все поиск норм получился а дальше:

а вот копировать как в этом коде нада путь задавать откуда и куда используя функцию CopyFile(это след действие имею ввиду)

if not CopyFile('c:\1.txt','d:\1Copy.txt',true)
then ShowMessage('сообщение!');


{RASkov}   (2010-10-04 14:33:00) [29]

> Пути от куда и куда желательно указывать самомоу

> [2] Overclocker ©   (04.10.10 14:27)
> а нада хотябы пути указывать в том же Edit-е

т.е. два пути в одном Эдите?


Overclocker   (2010-10-04 14:27:00) [30]

да с ней я то разобрался только вот вопрос там путь указывать нада в самом коде а нада хотябы пути указывать в том же Edit-е))


MBo   (2010-10-04 14:10:00) [31]

>помогите хотябы начать
начни с функций FindFirst и FindNext


Страницы:   1 2

Наверх

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