Форум: "Основная";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];
ВнизПоисх файлов Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.011 c