Вопрос № 20847: Пришлите пожалуйста инфо или прогу с примером использования функции HeapFree (на Delphi), помогите Pleez бедному программисту! Заранее большое спасибо! Моё мыло pushistik2004@inbox.ru...
Вопрос № 20847
Пришлите пожалуйста инфо или прогу с примером использования функции HeapFree (на Delphi), помогите Pleez бедному программисту! Заранее большое спасибо! Моё мыло pushistik2004@inbox.ru
Отправлен: 14.05.2005, 11:21
Вопрос задала: VIP (статус: Посетитель)
Всего ответов отправлено: 1
Отвечает: Jadd
Здравствуйте, VIP!
А очень просто. Открываем MSDN или хелп дельфей. Ищем функцию FindFirst и FindNext. В качестве маски поиска задаем исходную папку. Дальше - дело техники. Делаем в цикле. Пока функция цикла находит файл делаем FileCopy в целевую папку. Если нужно перемещать, то затем еще и удаляем файл из исходной папки. Напиример, цикл поиска может быть таким:
procedure TForm1.Button1Click(Sender: TObject);
var
sr: TSearchRec;
FileAttrs: Integer;
begin
StringGrid1.RowCount := 1;
if CheckBox1.Checked then
FileAttrs := faReadOnly
else
FileAttrs := 0;
if CheckBox2.Checked then
FileAttrs := FileAttrs + faHidden;
if CheckBox3.Checked then
FileAttrs := FileAttrs + faSysFile;
if CheckBox4.Checked then
FileAttrs := FileAttrs + faVolumeID;
if CheckBox5.Checked then
FileAttrs := FileAttrs + faDirectory;
if CheckBox6.Checked then
FileAttrs := FileAttrs + faArchive;
if CheckBox7.Checked then
FileAttrs := FileAttrs + faAnyFile;
with StringGrid1 do
begin
RowCount := 0;
if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then
begin
repeat
if (sr.Attr and FileAttrs) = sr.Attr then
begin
RowCount := RowCount + 1;
Cells[1,RowCount-1] := sr.Name;
Cells[2,RowCount-1] := IntToStr(sr.Size);
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
end;
Пример взят из хелпа по дельфи 7. Функции использованы WinAPIшные. Все просто.
Удачи.
Ответ отправил: Jadd (статус: 3-ий класс)
Отправлен: 15.05.2005, 13:08