Главная страница
    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.087 c
2-1214205706
i
2008-06-23 11:21
2008.07.20
Быстрый список для индексирования....


2-1214159152
krot
2008-06-22 22:25
2008.07.20
При нажатии правой кнопки мыши


2-1213610401
masv
2008-06-16 14:00
2008.07.20
изменить размер шрифта при печати сетки


11-1191277371
ElectriC
2007-10-02 02:22
2008.07.20
Вопрос по ListBox у


2-1213984177
Res
2008-06-20 21:49
2008.07.20
exit и procedure





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский