IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> В чем недочет программы (алгоритма)?.., detete of *.tmp, *.bak
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Код


...

var
 bak,tmp: tsearchrec;
 pressed_key: char;
 f: text;
begin
 ...
 pressed_key:=readkey;
 case pressed_key of
   '1':
     begin
       findfirst('*.bak',faanyfile,bak);
       while doserror = 0 do
         begin
           assign(f,bak.name);
           {$i-}
           erase(f);
           {$i+}
           if (ioresult=0) and (doserror=0)
             then
               begin
                 findfirst('*.bak',faanyfile,bak);
                 findnext(bak);
                 assign(f,bak.name);
                 erase(f)
               end;
           findnext(bak)
         end;
       findfirst('*.tmp',faanyfile,tmp);
       while doserror = 0 do
         begin
           assign(f,tmp.name);
           {$i-}
           erase(f);
           {$i+}
           if (ioresult=0) and (doserror=0)
             then
               begin
                 findfirst('*.tmp',faanyfile,tmp);
                 findnext(tmp);
                 assign(f,tmp.name);
                 erase(f)
               end;
           findnext(tmp)
         end;
       mi666_exit
     end;
   '2':
     mi666_exit
   else
     mi666_exit
 end
end.

...



- удаляются не все файлы из текущей директории...
- после второго, третьего включения - обычно удаляются все файлы...
- иногда выводится runtime error <...> ...

thanks...


--------------------
welcome: http://www.m666.nm.ru/
motto: all comes with experience...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






blink.gif У меня такой код:

Код

 case pressed_key of
  '1':
    begin
      findfirst('*.bak',faanyfile,bak);
      while doserror = 0 do
        begin
          assign(f,bak.name);
          {$i-}
          erase(f);
          {$i+}
          findnext(bak)
        end;

      findfirst('*.tmp',faanyfile,tmp);
      while doserror = 0 do
        begin
          assign(f,tmp.name);
          {$i-}
          erase(f);
          {$i+}
          findnext(tmp)
        end;
      mi666_exit
    end;
  '2':
    mi666_exit
  else
    mi666_exit
end


сразу удаляет все *.bak и *.tmp файлы ...
Остальное - по-моему лишнее...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 3:21
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name