![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с файлами [D7]
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