Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Список каталогов [D6, D7, Win2k, WinXP]


Страницы:   1 2

RainKMM ©   (2006-09-28 13:43:00) 

Здравствуйте!
Подскажите пожалуйста, как получить список всех подкаталогов в каталоге?


RainKMM   (2006-09-28 16:07:00) [21]

Zeqfreed, спасибо помогло, сейчас зазбераюсь как ети пути прописать явно в memo, чтоб потом использовать.


Elen   (2006-09-28 15:56:00) [22]

Так убрать const


Zeqfreed   (2006-09-28 15:54:00) [23]

> [11] Elen ©   (28.09.06 15:49)


> Тогда добавь от себя
> if sRootDir[length(sRootDir)-1]<>'\' thensRootDir:=sRootDir+'\';

А компилятор ругнется, что, мол, нельзя присваивать значение константам ;)


Elen   (2006-09-28 15:49:00) [24]

Если не ошибаюсь AddDirSeparator добавляет взад директории "\".
Тогда добавь от себя
if sRootDir[length(sRootDir)-1]<>'\' thensRootDir:=sRootDir+'\';
и
sSearchPath := sRootDir;


Zeqfreed   (2006-09-28 15:48:00) [25]

> [7] RainKMM   (28.09.06 15:39)


> нашел на delphi world такую процедуру но она ругаэтся на
> AddDirSeparator

Замени на IncludeTrailingPathDelimiter.


> в 10 строках можно допустить кучу ошибок.

Если допускать в 10 строчках кучу ошибок, тогда надо не компоненты брать, а разбираться в ошибках.


RainKMM   (2006-09-28 15:45:00) [26]

Э народ, я помощи прошу, а ви соритесь :(


Elen   (2006-09-28 15:41:00) [27]


> Zeqfreed

в 10 строках можно допустить кучу ошибок. Вообще я компоненты придлагаю как вариант. никто не спорит что лучше будет на API, но мне кажется как раз для новичков сначала проще было-бы не заморачиваться на внутренностях. А вообще это дело вкуса...


RainKMM   (2006-09-28 15:39:00) [28]

нашел на delphi world такую процедуру но она ругаэтся на AddDirSeparator, а я понять не могу как от етого избавиться.
procedure GetSubDirs(const sRootDir: string; slt: TStrings);
var
  srSearch: TSearchRec;
  sSearchPath: string;
  sltSub: TStrings;
  i: Integer;
begin
  sltSub := TStringList.Create;
  slt.BeginUpdate;
  try
    sSearchPath := AddDirSeparator(sRootDir);
    if FindFirst(sSearchPath + '*', faDirectory, srSearch) = 0 then
      repeat
        if ((srSearch.Attr and faDirectory) = faDirectory) and
          (srSearch.Name <> '.') and
          (srSearch.Name <> '..') then
        begin
          slt.Add(sSearchPath + srSearch.Name);
          sltSub.Add(sSearchPath + srSearch.Name);
        end;
      until (FindNext(srSearch) <> 0);

    FindClose(srSearch);

    for i := 0 to sltSub.Count - 1 do
      GetSubDirs(sltSub.Strings[i], slt);
  finally
    slt.EndUpdate;
    FreeAndNil(sltSub);
  end;
end;


Zeqfreed   (2006-09-28 15:37:00) [29]

> [5] Elen ©   (28.09.06 15:35)

Использовать сторонний компонент ради того, чтобы не писать 10 строк кода?


Elen   (2006-09-28 15:35:00) [30]


> MsGuns

Ну почему же? У меня никогда не было тарблов со сторонними компонентами. Как правило все мои проги содержат чего-то из инета и ни разу не глюкнули на других тачках (если конечно я их четко отлаживаю). Сторонние компоненты - это возможность избавить программистов от рутины. Разве не так?


RainKMM   (2006-09-28 15:32:00) [31]

Че то я со все етим разобратся не могу? Помогите толковой инфой по етой теме


Johnmen   (2006-09-28 14:11:00) [32]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1159384035&n=18


MsGuns   (2006-09-28 14:09:00) [33]

>Elen ©   (28.09.06 13:47) [1]
>Попробуй DirectoryListBox. или сторонними компонентами типа LMD или FindFirst...FindNext

Я очень извиняюсь, но Вы не в первый раз советуете ерунду новичкам. Для того, чтобы научиться плавать вовсе необязательно ехать на Гавайи. LMD - это всего-навсего набор красивых побрякушек, большинство из которых не представляют из себя никакой практической ценности. Кроме того, у нее совсем слабо с преемственностью версий и, как следствие, гарантированы траблы при переносе проектов с ПК на ПК.

Для сабжа достаточно просто почитать основы работы с файлами в Дельфи.
Или тот же FindFirst+F1


Elen   (2006-09-28 13:47:00) [34]

Попробуй DirectoryListBox. или сторонними компонентами типа LMD или FindFirst...FindNext


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо