Страница 1 из 2

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

Добавлено: 30 май 2007, 11:25
LoDar
доброе время суток!
подскажите, как в паскале сделать программку, удаляющую в нужной мне папке файлы и папки старше 14 дней.

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

Добавлено: 30 май 2007, 11:30
LAngel
нужно рекурсивно обежать папку, вложенные папки и файлы в них, проверить имя и удалить те, у которых дата отличается от текущей более чем на 14 дней.

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

Добавлено: 30 май 2007, 11:46
LoDar
а как это сделать?

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

Добавлено: 30 май 2007, 13:43
somewhere
&quot писал(а):нужно рекурсивно обежать папку, вложенные папки и файлы в них,
Ищем на форуме в этом разделе
&quot писал(а):у которых дата отличается от текущей более чем на 14 дней.
Пишем функцию разности дат

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

Добавлено: 30 май 2007, 16:46
Blood_Magic
про папки с примером я в предыдущей теме написал с отбором по расширению

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

Добавлено: 01 июн 2007, 21:39
Новенький
а подскажите как именно сделать на паскале удаление папки, и как можно сделать, чтоб паскаль выводил текущую дату?

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

Добавлено: 05 июн 2007, 09:52
BBB
Новенький писал(а):а подскажите как именно сделать, чтоб паскаль выводил текущую дату?
Фрагмент из встроенного 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.

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

Добавлено: 05 июн 2007, 09:55
BBB
Новенький писал(а):а подскажите как именно сделать на паскале удаление папки
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.

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

Добавлено: 06 июн 2007, 15:14
Новенький
BBB, благодарю :)

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

Добавлено: 07 июн 2007, 09:43
Новенький
а где взять модули windoc и WinCrt?