Главная страница
    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.039 c
15-1212052025
YurikGL
2008-05-29 13:07
2008.07.20
Нормативный документ с указанием "как именовать объекты"


15-1211963636
non1ka
2008-05-28 12:33
2008.07.20
Преобразования Pascal в Delphi


2-1213774377
lewka-serdceed
2008-06-18 11:32
2008.07.20
Определение нажатия кнопки


3-1202313830
harisma
2008-02-06 19:03
2008.07.20
Параметры для xp_sqlmaint


15-1212611640
Максим В.
2008-06-05 00:34
2008.07.20
TCP





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