Вниз
Скачать: CL | DM;

посоветуйте   Найти похожие ветки 

 
snake1977   (2004-02-04 13:28) [0]

Посоветуйте, как будет правильнее сделать. Каждые 5 минут вызывается процедура

List:=TStringList.Create;
Dir:="c:\windows";
ForceDirectories(Dir);
ScanDir(Dir,"*.tmp",List);
if List.Count>0 Then
Begin
for i:=0 to List.Count-1 do
DeleteFile(List[i]);
End;
List.Free;

На счет переменной List, ее сделать глобальной а перед вызовом процедуры делать List.Clear; или оставить ее локальной в процедуре и создавать каждый раз??


 
Тимохов ©   (2004-02-04 13:29) [1]

второе

> if List.Count>0 Then

это - на фиг.


 
snake1977   (2004-02-04 13:32) [2]

>>Тимохов

второе - это оставить ее локальной и делать каждые пять минут ей List:=TStringList.Create; и List.Free; ???


 
alex_*** ©   (2004-02-04 13:33) [3]

Создавать в локале - путаницы меньше будет. Тем более что сканировать папку это довольно долго.


 
Тимохов ©   (2004-02-04 13:35) [4]


> snake1977 (04.02.04 13:32) [2]

Ну да.
Это "if List.Count>0 Then" все-таки убери - лишнее.


 
snake1977   (2004-02-04 13:37) [5]

не хочеться каждый раз выделять и освобождать память :(
этож приведет к ее фрагментации, ведь реально, переменная типа TStringList есть не что иное как указатель


 
Тимохов ©   (2004-02-04 13:41) [6]


> snake1977 (04.02.04 13:37) [5]

Не занимася ерундой - менеджер памяти не так глуп, как кажется.
Делай дело...

Ну и вообще, что думаешь для переменной dir используются какие-то другие механизмы? Она у тебя локальная - для нее каждый раз выделяется память (тем же менеджером памяти), но тебя это как-то не напрягает :)))


 
snake1977   (2004-02-04 13:43) [7]

уломали :)
спасибо за советы


 
Тимохов ©   (2004-02-04 13:43) [8]

Для реал мастеров по поводу 6.
Знаю, что не совсем так, как я написал, но для выражения мысли, вполне достаточно, имхо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
1-38816
Layner
2004-02-03 10:02
2004.02.13
Не правильно считается размер диска С. Посмотрите код (4 строки)


14-39089
Knight
2004-01-21 14:02
2004.02.13
Как сделать быстрее?


3-38711
Санек
2004-01-25 18:33
2004.02.13
Как скопировать все поля из другого набора данных в TTable


7-39113
RealRascal
2003-11-29 22:27
2004.02.13
Звук определенной частоты


1-38822
Maxio
2004-02-04 17:08
2004.02.13
Проценты




   Наверх