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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2007, 18:22   #1
_SacreD_
Пользователь
 
Регистрация: 30.11.2007
Сообщений: 10
По умолчанию Проблема с FindFirst, как указать меняющийся путь?

Вообщем такая проблема, нужно в FindFirst поместить путь который постоянно меняется, использую эту функцию для нахождения к примеру mp3 файлов. У меня way - это путь, в нем к примеру C://Program Files/tratata/*.* ну или C://*.* , как мне сделать так что бы путь менялся, когда пишу в ручную вместо "??????????" - "С:/" тогда все норм... пожалуйста помогите решить эту проблему... или хотябы посоветуйте.
Код:
FindRes:=FindFirst('???????????/*.mp3',faAnyFile,a);
if FindRes=0 then
...
постарался попроще описать свою проблему. Заранее спасибо
_SacreD_ вне форума Ответить с цитированием
Старый 19.12.2007, 18:49   #2
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Ну если у тебя в way есть путь то делай так
Код:
var
  F:TSearchRec;
  way:string;
begin
  way:='C:\*.*';//на деле ты можешь брать откуда угодно эту строку
  if FindFirst(copy(way,1,length(way)-1)+'mp3',faAnyFile,F)=0 then
    repeat
      showmessage(f.Name);
    until FindNext(F)<>0;
Domovoy вне форума Ответить с цитированием
Старый 19.12.2007, 23:40   #3
_SacreD_
Пользователь
 
Регистрация: 30.11.2007
Сообщений: 10
По умолчанию

Попробую, а что означает вот этот кусок кода :
Код:
copy(way,1,length(way)-1)
?
_SacreD_ вне форума Ответить с цитированием
Старый 20.12.2007, 02:25   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от _SacreD_ Посмотреть сообщение
Попробую, а что означает вот этот кусок кода :
Код:
copy(way,1,length(way)-1)
?
Это - ненужные изыски.
Пишем просто:
mydir:='c:\MyDirectory\SubDir1\'; // к примеру
FindRes:=FindFirst(mydir+'*.mp3',fa AnyFile,a);
Или, если так больше нравится:
mydir:='c:\MyDirectory\SubDir1\*.mp 3'; // к примеру
FindRes:=FindFirst(mydir,faAnyFile, a);

Последний раз редактировалось mihali4; 20.12.2007 в 11:36.
mihali4 вне форума Ответить с цитированием
Старый 20.12.2007, 10:10   #5
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Это - ненужные изыски.
Пишем просто:
mydir:='c:\MyDirectory\SubDir1\'; // к примеру
FindRes:=FindFirst(mydir+'*.mp3',fa AnyFile,a);
Так если у него директория задана так С:\*.* тогда что?
Domovoy вне форума Ответить с цитированием
Старый 20.12.2007, 11:34   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Domovoy Посмотреть сообщение
Так если у него директория задана так С:\*.* тогда что?
Сдается мне, что вы, друзья, путаете задание директории с заданием полного пути к файлу...
mihali4 вне форума Ответить с цитированием
Старый 20.12.2007, 11:41   #7
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Сдается мне, что вы, друзья, путаете задание директории с заданием полного пути к файлу...
Без комментариев ....
Domovoy вне форума Ответить с цитированием
Старый 20.12.2007, 12:44   #8
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

К чему спорить! Вот функция для поиска файлов, я ё постоянно юзаю, классика так сказать:

Код:
function FindFiles (ListBox : TListBox; DirPath : string) : boolean;
var
  Search      : TSearchRec;
  FindResult  : integer;
begin
  Result := false;
  ListBox.Items.Clear;
  FindResult := FindFirst(DirPath + '\*.*', faVolumeID, Search);
while (FindResult = 0) do
begin
  ListBox.Items.Add (Search.Name);
  FindResult := FindNext(Search);
end;
  FindClose(Search);
  Result := true;
end;

Последний раз редактировалось merax; 20.12.2007 в 12:48.
merax вне форума Ответить с цитированием
Старый 20.12.2007, 13:28   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
путь который постоянно меняется
Кто его меняет?
Собсно Меракс сказал точно...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.12.2007, 16:50   #10
_SacreD_
Пользователь
 
Регистрация: 30.11.2007
Сообщений: 10
По умолчанию

Возможно я неправильно поставил задачу... У меня есть файловый менеджер, и там можно рыскать по папкам как вы знаете, в коммандной строке постоянно имеется путь, переменная которая содержит путь "way" у меня. Дак вот в этой переменной путь. В одном из постов предложили писать " way + '*.mp3' " ... Дак если у меня путь меняется... Ещё запарка в том что в конце пути у меня *.* стоит, мне надо поставить 2 по курсу инфы, но я забыл как убрать 3 симфола от туда) не помню просто, но это не проблема впринцепе...

Я пробовал писать FindFirst(way+'*.mp3', .... ), задавая условие следующее:
if FindFirst(way+'*.mp3', .... )=0
типо тогда image у элемента к примеру как у винампа, но нифига, может правда я что то не так написал... Большое спасибо всем, кто пытается помочь в решении этой проблемы!!! и ещё раз заранее СПАСИБО!
_SacreD_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
findfirst aesoem Общие вопросы Delphi 7 14.04.2008 17:06
FindFirst matus Помощь студентам 2 21.02.2008 19:34
ADOQueryGivBy.FindFirst azat БД в Delphi 5 25.01.2008 13:10
Как указать путь компилируемуму exe файлу shurik_7866 Общие вопросы Delphi 2 18.07.2007 23:24