Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

СообЧА. Программирование на Delphi


Служба Рассылок Subscribe.Ru
Subscribe.Ru :СообЧа программирование на дельфи !
—Сообча : программирование на дельфи

Здесь СЕРЬЕЗНО могла бы быть ЛЮБАЯ ваша реклама: обращайтесь ко мне... Стоимость размещения в 1 номере 10 рублей.

Нас читают более 3000 человек ...


С наступаю..... ой , не то!
 В этом выпуске:

Внимание: Разыскивается патч для дельфи5, позволеющий ей работать под WinXP!!!!!!!!

Рассылки Subscribe.Ru это стильно удобно, и информативно!
СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы.
подпишись и подпиши друга!!!!

 Contact (Связь с Нами):

Pixel@novgorod.net + Subject:

Vcl Haunting

"Золотой Чайник"

Вопрос по дельфи N (номер версии)

Help!

 

 

Новости (Слово о нашем спонсоре...)

К заголовку

Лучшие товары ОЗОНА

Внимание , хелп!

Люди, у меня постоянно вылетает мой монитор LG flatron 17, изображение корежит и стягивает, уже треий раз ремонтируют.... Кто поможет с диагнозом и как его "лечить", поможет сократиь промежуток выхода рассылки.

  • Sudden Strike(противостояние 3) убойная ТАКТИЧЕСКИ ГРАМОТНАЯ RTS на тему 2й мировой войны...
  • Демиурги: Вы фанат Magic the Gathering? Тогда это для вас!!!!

Книги по Дельфи которые ВЫ ОБЯЗАНЫ ПРОЧИТАТЬ...

Не столько учебник, сколько справочное пособие по наиболее используемым алгоритмам и командам...

Пожалуй лучший учебник по дельфи 6 на сегодняшний день, вам даже не надо знать дельфи, чтобы начать ...

Купите- не пожалеете!

 

О наболевшем : Как в нужной дирректории взять название всех файлов, и запихнуть их в массив?

К заголовку

Помогите с таким вопросом. Как в нужной дирректории взять название всех файлов, и запихнуть их в массив? [D5]

Вот отрывок из одного моего старого проекта. Сканирует папку, создает список файлов в ней, для каждой вложенной папки вызывает ее сканирование рекурсивно. Это чисто пример, код за тебя писать никто не будет...

{
DopName: string; // глобальная переменная, содержит имя вложенной папки
FFileList: TList; // список файлов, точнее указателей на TFile
FFilesCount: word; // кол-во файлов в папке, вместе со всеми вложенными
FFolderSize: cardinal; // общий размер папки
FSubFoldersCount: cardinal; // кол-во вложенных папок
}

procedure TFolderInspector.ScanFolder;
var
Found : integer;
filo : TFile; // TFile = TSearchRec;
AFile : PFile; // PFile = ^TFile;
begin
// Начинаем сканирование...
Found:=FindFirst(FolderName+DopName+'\*.*',faAnyFile,filo);
while Found=0 do
begin
if (filo.Name<>'.') and (filo.Name<>'..') then // нашли очередной файл...
begin
// Запомним файл в списке, "посчитаем" его, увеличиваем FFolderSize...
New(AFile);
AFile^:=filo;
AFile^.Name:=FolderName+DopName+'\'+AFile^.Name;
FFileList.Add(AFile);
Inc(FFilesCount);
Inc(FFolderSize, AFile^.Size);
// если же это директория ...
if ((filo.Attr and faDirectory)>0) then
begin
Inc(FSubFoldersCount);
// подготовимся к рекурсии...
Inc(Last);
Lens[Last]:=Length(filo.Name);
DopName:=DopName+'\'+filo.Name;
// запустим рекурсию...
ScanFolder;
// восстановимся после рекурсии...
System.Delete(DopName, Length(DopName)-Lens[Last], Lens[Last]+1);
Dec(Last);
end; // if ((filo.Attr and faDirectory)>0) then
end; // if (filo.Name<>'.') and (filo.Name<>'..') then
// Берем очередной файл...
Found:=FindNext(filo);
end; // while Found=0 do ...
// Закроем сканирование...
FindClose(filo);
end; // procedure TFolderInspector.ScanFolder;

Комментарии(из чата):
Yuraz © (12.09.01 10:46)
Ага, спасибо, начинаю разбиратся.


--------------------------------------------------------------------------------
Wizard © (12.09.01 12:18)
Есть такая штука - рекурсия


--------------------------------------------------------------------------------
Kelvin © (13.09.01 06:59)
Есть готовый компонент SearchFile с исходниками и демка, которая ищет файлы в указанном директории и добавляет их в StringList. Имена файлов с путями можно, например загонять в текстовый файл.


--------------------------------------------------------------------------------
Леонид (13.09.01 09:30)
Поместить на форму FileListBox и скачать из него.


--------------------------------------------------------------------------------
ShaggyDoc © (13.09.01 11:07)
А сам FileListBox сделать невидимым. Его данные можно использовать в своих корыстных целях. И никакого кода. Неэстетично, зато дешево, надежно и практично. Из серии "Delphi для чайников"


--------------------------------------------------------------------------------
Slavik © (14.09.01 01:06)
А что в этом плохого??? Чем проще, тем меньше крови!!!


--------------------------------------------------------------------------------
Георгий © (14.09.01 08:30)
Ага, для любой элементарной операции нужно скачать специальную компоненту и поставить ее на форму. Мощный софт получится.


--------------------------------------------------------------------------------
ShaggyDoc © (14.09.01 09:03)
>Георгий
Именно это я имел ввиду, когда писал, что "неэстетично". Но если человек не знает, как делается "элементарная" операция, он может воспользоваться готовым компонентом. Или функцией. И у него сразу все заработаем. Потом увидит и недостатки этого метода. Будет думать. Может быть. Может быть поймет, что МОЖНО и НУЖНО - это не одно и то же.

Конкретно по спискам файлов - имеется множество разнообразных компонент, все чуть-чуть отличаются. Вполне можно взять из них и кусок отработанного кода, а не спрашивать у людей, которые могут написать, сгоряча, ответ с опечатками или с ошибками (это не намек на текст Roma), а потом будут еще и втянуты в обсуждение деталей


--------------------------------------------------------------------------------
Anatoly Podgoretsky © (14.09.01 10:44)
Ну какже не намек, наме и еще какой с указанием адресата :-)


 

 

Проверка готовности диска

К заголовку

Как проверить готовность диска без появления окна ошибки Windows?
--------------------------------------------------------------------------------
Вы можете использовать функцию Windows API SetErrorMode() для отключения диалога Window's critical Error.

function IsDriveReady(DriveLetter : char) : bool; var OldErrorMode : Word; OldDirectory : string;
begin;

OldErrorMode := SetErrorMode(SEM_NOOPENFILEERRORBOX);
GetDir(0, OldDirectory);
{$I-} ChDir(DriveLetter + ':\');
{$I+} if IoResult <> 0 then Result := False else Result := True

ChDir(OldDirectory); SetErrorMode(OldErrorMode);

end;

procedure TForm1.Button1Click(Sender: TObject);

begin
if not IsDriveReady('A') then ShowMessage('Drive Not Ready') else ShowMessage('Drive is Ready');

end;


 

 

До встречи...

Zaluskiy Anton(COOLer)  и Khrapunov Kirill(Pixel)  - ведущие проекта    "Мир Delphi" Copyright : Pixelsoftware(Pixel)& Delphi 2000(COOLer)


к3кй TopList SpyLOG RLE Banner Network
http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

 

Another Banner Network



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное