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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2010, 19:54   #1
mt10forex
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 14
По умолчанию Как узнать путь до папки

Скажите пожалуйста как узнать путь до папки.
я имею C:\дельфи там лежит всего одна папка имя которой неизвестно или будет изменено. Как вычислить путь до неё или узнать имя? И возможно ли в неё как то перейти для поиска файла?(опять же незная её имя)

Последний раз редактировалось mt10forex; 23.07.2010 в 20:05.
mt10forex вне форума Ответить с цитированием
Старый 23.07.2010, 19:59   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Если из этой неизвестной папки запускается программа, то:
Код:
ExtractFilePath(Application.ExeName)
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 23.07.2010, 20:00   #3
mt10forex
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 14
По умолчанию

не она запускается не там
mt10forex вне форума Ответить с цитированием
Старый 23.07.2010, 20:09   #4
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

С помощью функций FindFirst и FindNext с параметром faDIRECTORY можно найти нужную папку по нужному пути.
ZaRDaK вне форума Ответить с цитированием
Старый 23.07.2010, 20:18   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
C:\дельфи там лежит всего одна папка
я правильно Вас понял, что есть заданный каталог, в нём есть строго одна папка. Нужно получить имя этой папки?!

так это же элементарно, Ватсон!
Язык программирования не указан, позволю себе пример написать под Delphi:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var sr : TSearchRec;
  iOk : integer;
  kDir : integer;
  dirName : string;
begin
  kDir := 0;
  dirName := '';

  iOk := FindFirst('C:\Temp\*.*', faAnyFile, sr);
  while iOk=0 do begin
    if  ((sr.Attr and faDirectory) <> 0)
      and (sr.Name <> '.') and (sr.name <> '..') then
    begin
      inc(kDir); {увеличили счётчик директорий}
      if kDir=1 then dirName := sr.Name;
    end;
    iOk := FindNext(sr);
  end;
  FindClose(sr);

  Application.MessageBox(
    PChar(
     'Всего найдено директорий: '+IntToStr(kDir)+#13+#10+
     'Первая из них имеет имя: '+dirName),
     'Информация к размышлению', MB_ICONINFORMATION or MB_OK);

end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.07.2010, 20:31   #6
mt10forex
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 14
По умолчанию

спасибо Serge_Bliznykov, ткнул меня носом прям куда нужно!
mt10forex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в ShellComboBox - реализовать адресную строку, полный путь до папки, как в обычном окошке Windows seobot Общие вопросы Delphi 3 27.04.2010 23:27
как узнать имя папки? KWNlnc Общие вопросы Delphi 1 14.04.2010 17:45
как програамно узнать размер папки VIR1435 Общие вопросы Delphi 2 05.11.2009 18:06
Как программно получить путь до папки Application Data для пользователя LocalService? bzzz Win Api 3 23.09.2009 09:30
Как узнать расположение папки мои документы? apromix Win Api 4 08.05.2008 15:04