Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2007, 14:00   #1
wwww
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 15
Вопрос Имя файла по расширению

Всем привет!
В папке C:\test лежит несколько файлов с расширением txt. Как можно узнать имена всех файлов с расширение txt и как запихать их (имена) в разные переменные?
Помогите пожалуйста.Заранее спасибо!
wwww вне форума Ответить с цитированием
Старый 16.12.2007, 14:13   #2
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

FileListBox тебе в помощ!
FileListBox.mask указываеш *.txt
FileListBox1.items - вот переменная TStrings с именами всех файлов
filelistbox1.FileName - полный путь к выделенному файлу
filelistbox1.Items[2] - только имя 3-го файлы (начинаются с 0)..это пример
---

Последний раз редактировалось GAGARIN-NEW; 16.12.2007 в 14:21.
GAGARIN-NEW вне форума Ответить с цитированием
Старый 16.12.2007, 14:16   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Есть FindFirst, FindNext, FindClose, TSearchRec (кажется). Смотрите их в дельфи или Api подобные только более удобны, хотя сильно и не отличаются - FindClose, FindFirstFileEx, FindNextFile, WIN32_FIND_DATA.
BOBAH13 вне форума Ответить с цитированием
Старый 16.12.2007, 16:12   #4
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

var aa,ppppp:HWND;r,y:integer;c:tsearch rec;s,d:string;f,t:file;
begin
y:=0;
r:=FindFirst (s+d,faAnyFile,c); \\s+d - путь и название файла (допустим s:='D:\bla\bla\' d:='*.*' )
While r=0 do \\цикл, r возвращ 0 если файл найден
begin
if (c.Size=0) then r:=FindNext(c)\\ если размер файла =0 значит ищим след. файл
else
begin
WriteLn('Find File : '+c.Name+' Size : '+inttostr(c.Size)+' Byte');\\ вывод на экран атрибутов файла(переменная С содержит атр. файла )
end;
r:=FindNext(c);
end;
end.
Это кусок моей проги для консоли, аналогично будет и для VCL.
Ну а запихнутьвсе данные можно в файл или массив.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 16.12.2007, 16:27   #5
wwww
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 15
По умолчанию

Понятно.Всем спасибо.
wwww вне форума Ответить с цитированием
Старый 19.12.2007, 03:41   #6
_SacreD_
Пользователь
 
Регистрация: 30.11.2007
Сообщений: 10
По умолчанию

А у меня вот проблема такая, короче говоря в ListView отображаются файлы, как например отобразить файлы с расширением mp3 .
Я вот так пробую :
Код:
                 if FindFirst('*.mp3',faAnyFile,f)=0  then
                     begin
                           ImageIndex:=8;
                           SubItems.Add(inttostr(size));
                           subItems.Add(DatetimetoStr((filedatetodatetime(time))));
                     end;
Но ничего не происходит... это я делаю для того что бы отделять файл от других, присваивая ему картинку
_SacreD_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание файла Nowise Паскаль, Turbo Pascal, PascalABC.NET 7 04.04.2008 19:55
Код ехе файла Micha Общие вопросы Delphi 4 09.10.2007 18:06
Поиск по расширению Memories Общие вопросы Delphi 6 20.09.2007 20:03
Два XL файла, данные 1-го файла являются частью другого в формуле 2-го Кот Microsoft Office Excel 2 14.08.2007 16:56