Работа с файлами

Модераторы: Duncon, Naeel Maqsudov, Хыиуду, Игорь Акопян

LoDar
Сообщения: 2
Зарегистрирован: 30 май 2007, 11:22

30 май 2007, 11:25

доброе время суток!
подскажите, как в паскале сделать программку, удаляющую в нужной мне папке файлы и папки старше 14 дней.
Аватара пользователя
LAngel
Сообщения: 277
Зарегистрирован: 30 мар 2005, 08:19
Откуда: Ульяновск
Контактная информация:

30 май 2007, 11:30

нужно рекурсивно обежать папку, вложенные папки и файлы в них, проверить имя и удалить те, у которых дата отличается от текущей более чем на 14 дней.
С уважением, Lost Angel...
LoDar
Сообщения: 2
Зарегистрирован: 30 май 2007, 11:22

30 май 2007, 11:46

а как это сделать?
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

30 май 2007, 13:43

&quot писал(а):нужно рекурсивно обежать папку, вложенные папки и файлы в них,
Ищем на форуме в этом разделе
&quot писал(а):у которых дата отличается от текущей более чем на 14 дней.
Пишем функцию разности дат
It's a long way to the top if you wanna rock'n'roll
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

30 май 2007, 16:46

про папки с примером я в предыдущей теме написал с отбором по расширению
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Аватара пользователя
Новенький
Сообщения: 73
Зарегистрирован: 01 июн 2007, 17:35
Откуда: Чусовой (Пермский край)
Контактная информация:

01 июн 2007, 21:39

а подскажите как именно сделать на паскале удаление папки, и как можно сделать, чтоб паскаль выводил текущую дату?
Программирование - хорошая штука
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

05 июн 2007, 09:52

Новенький писал(а):а подскажите как именно сделать, чтоб паскаль выводил текущую дату?
Фрагмент из встроенного help-а ПАСКАЛЯ:

GetDate (procedure) (Dos unit and WinDos unit)
==============================
Returns the current date set in the operating system.

Declaration:
procedure GetDate(var Year, Month, Day, DayOfWeek: Word);

Target:
Windows, Real, Protected

Remarks:
Ranges of the values returned are Year 1980..2099, Month 1..12, Day 1..31,
and DayOfWeek 0..6 (where 0 corresponds to Sunday).

See Also:
GetTime
SetDate
SetTime

Sample Code:

Код: Выделить всё

  {GetDate.PAS}

  {Sample code for the GetDate procedure.}

  { For Windows: }
  { uses WinDos, WinCrt; }

 uses Dos;

 const
   days : array [0..6] of String[9] =
     ('Sunday','Monday','Tuesday',
      'Wednesday','Thursday','Friday',
      'Saturday');
 var
   y, m, d, dow : Word;
 begin
   GetDate(y,m,d,dow);
   Writeln('Today is ', days[dow],', ',
           m:0, '/', d:0, '/', y:0);
 end.
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

05 июн 2007, 09:55

Новенький писал(а):а подскажите как именно сделать на паскале удаление папки
RmDir (procedure)
==================
Removes an empty subdirectory.

Declaration:
procedure RmDir(S: String);

Target:
Windows, Real, Protected

Remarks:
Removes the subdirectory with the path specified by S. If the path does not
exist, is non-empty, or is the currently logged directory, an I/O error
occurs.


With {$I-}, IOResult returns 0 if the operation was successful; otherwise,
it returns a nonzero error code.

See Also:
ChDir
GetDir
MkDir
RemoveDir

Sample Code:

Код: Выделить всё

{RmDir.PAS}

{Sample code for the RmDir procedure.}

{ For Windows: }
{ uses WinCrt; }

begin
  {$I-}
  { Get directory name from command line }
  RmDir(ParamStr(1));
  if IOResult <> 0 then
    Writeln('Cannot remove directory')
  else
    Writeln('directory removed');
end.
Аватара пользователя
Новенький
Сообщения: 73
Зарегистрирован: 01 июн 2007, 17:35
Откуда: Чусовой (Пермский край)
Контактная информация:

06 июн 2007, 15:14

BBB, благодарю :)
Программирование - хорошая штука
Аватара пользователя
Новенький
Сообщения: 73
Зарегистрирован: 01 июн 2007, 17:35
Откуда: Чусовой (Пермский край)
Контактная информация:

07 июн 2007, 09:43

а где взять модули windoc и WinCrt?
Программирование - хорошая штука
Ответить