Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1212673804
Mystic
2008-06-05 17:50
2008.07.20
Футбол, ЧМ-2008, турнир прогнозов


11-1191573192
Delphuk
2007-10-05 12:33
2008.07.20
чтение/запись в ini файл


1-1195550737
Sour Smile
2007-11-20 12:25
2008.07.20
Подскажите алгоритм вычисления контрольной суммы


2-1213825037
light-blr
2008-06-19 01:37
2008.07.20
Как заставить программу ждать, пока выполнится вызванная другая?


2-1213883070
Beer_Hunter
2008-06-19 17:44
2008.07.20
Mail Merge





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский