Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-38189
Andrey-k
2003-02-02 22:45
2003.02.13
Help. Exel. Как сделать WorkBook в Read-Only или запаролить?


1-38347
Gennadiy
2003-02-03 18:43
2003.02.13
Проблема с циклом...


14-38567
vajo
2003-01-28 08:38
2003.02.13
Права доступа к папкам и файлам W2000


3-38014
VS2002
2003-01-29 03:13
2003.02.13
Сохранение файла-документа в таблице Oracle v8


9-37995
Di
2002-04-30 19:54
2003.02.13
Как





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский