Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.13;
Скачать: CL | DM;

Вниз

Поисх файлов   Найти похожие ветки 

 
Vampire ©   (2003-02-04 09:38) [0]

Уважаемые программисты...
прошу мне помочь...
Стоит следующая задача...
Организовать поисх файлов на диске с заданым расширением...
и поместить путь к этим файлам где нибудь на форме или еще лучше
присвоить к переменным.
Далее стоит задача отправить эти файлы на smtp-протоколу на мыло...
ну это все просто...Правда ли что стандартный smtp Delphi 6 под
WinXP не работает или все это байки?
С уважением Алексей.


 
MBo ©   (2003-02-04 10:01) [1]

FindFirst


 
Vampire ©   (2003-02-04 19:35) [2]

-> MBo

Спасибо,Уважаемый...
Надеюсь справлюсь...про эту функцию я знал, но вот как там задать поисх по всем папкам....?....


 
MBo ©   (2003-02-04 19:44) [3]

рекурсивно.
Пример в нашем FAQ


 
gsu ©   (2003-02-04 19:45) [4]

FindNext (-:|~


 
Anatoly Podgoretsky ©   (2003-02-04 20:24) [5]

Да


 
Vampire ©   (2003-02-04 20:53) [6]

->MBo
Вчера тут был..а тут проблемы с сервером...и обломался...
ДА просто попросили такую прогу написать, не знаю зачем согласился...ведь всего 50р!!!! Наверное из принципа...ну вот она и готова... А неделю назад написал прогу для одной фирмы - клиент-сервер и получил $30 вот такой я молодец )
Всем спасибо.


 
MBo ©   (2003-02-04 21:03) [7]

>ведь всего 50р!!!!
Согласен за 40 написать! ;)


 
Vampire ©   (2003-02-04 22:21) [8]

->Anatoly Podgoretsky

Решил глянуть FAQ
Нашел Ваш пример, для поиска всех файлов, но там можно задавать маску...сколько не мудрился с маской он мне ничего не ищет, ищет только с "*.*" ... А вот к примеру "*.bat" пусто


 
Anatoly Podgoretsky ©   (2003-02-04 22:47) [9]

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


 
Юрий Зотов ©   (2003-02-04 22:52) [10]

О, господи... Да что там делать-то?

Вот код. Набросал "с лету" и по памяти, поэтому возможны мелкие ошибки.

procedure FindAllFiles(List: TStrings; Dir, Mask: string);

procedure ScanDir(Dir: string);
var
SR: TSearchRec;
begin
Dir := IncludeTrailingBackSlash(Dir);
if FindFirst(Dir + "*.*", faAnyFile - faVolumeID, SR) = 0 then
try
repeat
if (SR.Name <> ".") and (SR.Name <> "..") then
if SR.Attr and faDirectory <> 0 then
ScanDir(Dir + SR.Name)
else
if MatchesMask(SR.Name, Mask) then
List.Add(Dir + SR.Name)
until FindNext(SR) <> 0
finally
FindClose(SR)
end
end;

begin
if (List = nil) or not DirectoryExists(Dir) or (Mask = "") then
raise Exception.Create("Invalid parameter");
List.Clear;
ScanDir(Dir)
end;

P.S.
Потратил 5 минут. За 50 рублей - всю жизнь писал бы такие игрушки.


 
Vampire ©   (2003-02-04 23:08) [11]

Юрий Зотов, дело не в 50 рублей и не в 5-ти минутах :)
Программа давно работает...и дело даже не в этом...
дело в примере из FAQ ...
В пояснении к нему указано что маску можно менять
и написано что по умолчанию она равна *.*
т.е. if Mask = "" then Mask := "*.*";
логично, но если укзаваешь в : ScanDir("c:","",ListBox1.Items);

за место "" другую маску поиск происходит только по пути "с:\"
не уходя в глубь каталогов...
А зачем исходный текст? Вы же его сами писали :)



 
Юрий Зотов ©   (2003-02-04 23:14) [12]

> Вы же его сами писали
Не понял. Пример из FAQ? Я его не писал. И даже не видел.


 
Vampire ©   (2003-02-04 23:15) [13]

Юрий Зотов, это ответ не Вам, а Anatoly Podgoretsky ©


 
Anatoly Podgoretsky ©   (2003-02-04 23:23) [14]

Еше раз пойми, если ты задал маску *.bat, то ты не за что не водйешь в другие папки если у них не будет расширения *.bat
Ошибка не в программе а в логике и ожиданиях, просто твои ожидания не соответстуют логике.


 
Vampire ©   (2003-02-04 23:27) [15]

Anatoly Podgoretsky ©
В том и дело, зачем стоило вообще затрагивать в этом FAQ тему про маску и что по умолчанию она *.* ??????


 
Palladin ©   (2003-02-04 23:56) [16]

2 Vampire
в FAQ находится пример, а не точно тебе нужная процедура.
опираясь на этот пример, ты можешь создать свою, нужную тебе логику процедуры. Нечего цеплятся к тому, что есть "пример".

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


 
Вовчик   (2003-02-05 00:06) [17]

Palladin :))


 
Palladin ©   (2003-02-05 00:49) [18]

маленькая корректировка "тирады" (или "тиррады") :)
"...маска не только на имена файлов распространяется, но и на имена подкаталогов..."



Страницы: 1 вся ветка

Текущий архив: 2003.02.13;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
6-38411
Felix the cat
2002-12-18 22:23
2003.02.13
1 Serv+N Clients


14-38537
Romkin
2003-01-28 13:38
2003.02.13
К вопросу о цветовой дифференциации штанов


14-38447
JibSkeart
2003-01-27 12:31
2003.02.13
Тормозит рограммулька которая пользуется ADO на Win2000


4-38619
YY
2002-12-29 22:56
2003.02.13
Работа SystemParametersInfo


1-38271
wizzo
2003-02-05 16:04
2003.02.13
Задать в Excel AutoFilter