Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
ВнизПоиск и переименование файла Найти похожие ветки
← →
lewka-serdceed (2008-06-16 22:07) [0]Подскажите пожалуйста как можно найти все файлы с задаваемым расширением в каталоге, который выбирается пользователем, и перенести их в таблицу StringGrid?
← →
JanMihail (2008-06-16 22:16) [1]FindFirst, FindNext, FindClose используй.
Думаю эти слова тебе ни о чем не скажут, поэтому держи...procedure GetFiles(Path, Mask: String);
var
sr: TSearchRec;
begin
if FindFirst(Path + Mask, faAnyFile, sr) = 0 then
repeat
if (sr.Attr and faDirectory) <> faDirectory then
begin
StringGrid1.RowCount := StringGrid1.RowCount + 1;
StringGrid1.Cells[0, StringGrid1.RowCount - 1] := sr.Name;
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
Использовать так:
GetFiles("C:\", "*.dll");//выведет список dll в диске C:\
GetFiles("C:\Windows\", "*.exe");//выведет список exe файлов в папке Windows
← →
Anatoly Podgoretsky © (2008-06-17 00:12) [2]> lewka-serdceed (16.06.2008 22:07:00) [0]
И где тут переименование
← →
Германн © (2008-06-17 01:22) [3]
> Anatoly Podgoretsky © (17.06.08 00:12) [2]
>
> > lewka-serdceed (16.06.2008 22:07:00) [0]
>
> И где тут переименование
>
Это будет позже спрошено особо.
Тут просто некий момент истины.
Пальцы печатают, а голова отдыхает или занята другим, более интересным делом.
← →
rhammer © (2008-06-17 01:22) [4]
RenameFile(File1,File2);
Им же можно и папки переименовывать
← →
Германн © (2008-06-17 01:27) [5]
> rhammer © (17.06.08 01:22) [4]
А сабж читал?
← →
lewka-serdceed (2008-06-17 08:38) [6]а как вызвать procedure GetFiles(Path, Mask: String); ?
← →
palva © (2008-06-17 08:47) [7]
> а как вызвать procedure GetFiles(Path, Mask: String); ?
Имя процедуры, открыть круглую скобку, первый параметр, запятая, второй параметр, закрыть круглую скобку, точка с запятой (иногда не нужна).
← →
lewka-serdceed (2008-06-17 09:08) [8]у меня не идет этот код. Ругается на Stringrid1. Говорит что не известный индефикатер
← →
Anatoly Podgoretsky © (2008-06-17 09:25) [9]> lewka-serdceed (17.06.2008 9:08:08) [8]
Сделай известным, но тут кроме копипасте нужен еще дополнительный инструмент.
← →
Big Joe (2008-06-17 09:25) [10]
> lewka-serdceed (17.06.08 09:08) [8]
Начинай с "Hello World"
← →
Anatoly Podgoretsky © (2008-06-17 09:29) [11]Слишком сложно.
← →
korneley © (2008-06-17 09:37) [12]
> lewka-serdceed (17.06.08 09:08) [8]
> у меня не идет этот код. Ругается на Stringrid1. Говорит
> что не известный индефикатер
Дык, понятно. Это ж к протологам надо, а не к программистам. Непонятно только: все же "ин", или "де"?
← →
palva © (2008-06-17 09:49) [13]
> у меня не идет этот код. Ругается на Stringrid1. Говорит
> что не известный индефикатер
У тебя же есть таблица StringGrid. Вот это и есть имя этого стринггрида. Или ты его по другому назвал? Функцию надо вставить в форму, где находится этот стринггрид в качестве метода. Если же функцию расположить вне формы, то в функции надо использовать квалифицированное имя Form1.StringGrid1 где Form1 имя формы.
← →
{RASkov} © (2008-06-17 11:23) [14]> Если же функцию расположить вне формы, то в функции надо
> использовать квалифицированное имя Form1.StringGrid1 где
> Form1 имя формы.
Можно, и мне кажется это лучше и гибче, передавать стринггрид еще одним, дополнительным, пареметром в процедуру...
Т.е. нечто так:
procedure GetFiles(Path, Mask: String; Grd: TStringGrid);
ну и вызов:
GetFiles("C:\", "*.dll", MyStringGridFromForm1); //выведет список dll в диске C:\
PS: И что длл делают в корне диска? :))
← →
Anatoly Podgoretsky © (2008-06-17 11:26) [15]Не пишите так много слов, не понятно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c