Вниз
Скачать: 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.017 c
1-38788
Виталий Панасенко
2004-02-03 13:18
2004.02.13
FastReport 2.4


3-38670
Rafe
2004-01-24 21:05
2004.02.13
Вылетает ошибка при выходе из программы!!! Причина - Data Module.


3-38678
Grayver
2004-01-24 06:42
2004.02.13
запрос


3-38688
serg128
2004-01-22 20:00
2004.02.13
Вопрос по DataSetProvider


7-39101
shurik_
2003-11-24 02:51
2004.02.13
реестр




   Наверх