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

Вниз

Скрытый поиск по маске с копированием   Найти похожие ветки 

 
CoolMan ©   (2004-10-09 17:58) [0]

Доброго времени суток, уважаемые мастера!

Вот что интересует:
Есть файл 1.txt. В первой строчке указаны маски для поиска разделенные запятой (ПРИМЕР: *.txt, *.html и т.д). Во второй строке адрес деректории куда будут копироваться все найденые файлы

ВОТ ЧТО НАДО: прога запускаится. Без всяких вопросов начинает поиск по всем локальным дискам (+ А)(но не cd-rom) беря переменные из файла 1.txt, и если находит файл, удовлетворяющий одну из масок, указаных в первой строке файла копирует его в директорию указаную во второй строке. После пороверки всех дисков и копирования файлов выводит сообщение что поиск завершен.

Заранее Вам благодарен!!!

PS: пожалуйста если есть возможность - полный код


 
Семен Сорокин ©   (2004-10-09 18:01) [1]

а если 1.txt содержит *.* ? :))
по сабжу:
парсер строки + FindFirst, FindNext, FindClose + CopyFile


 
CoolMan ©   (2004-10-09 18:04) [2]

2 Семен Сорокин

:) можно и *.*

Я начинающий - так что если можно полный код.
СПАСИБО


 
Defunct ©   (2004-10-09 18:27) [3]

Я начинающий - так что если можно зарплату на год вперед.


 
kaZaNoVa ©   (2004-10-09 18:40) [4]

CoolMan ©   (09.10.04 17:58)
боюсь полный код тут никто не выложит ...
//всё-таки задача хоть и простая, но не тривиальная ;))
- получение списка дисков:

procedure TForm1.Button1Click(Sender: TObject);
function GetDriveAll:string;
Var
ld,i:DWORD;
info:string;
Begin
info:="";
ld := GetLogicalDrives;
for i := 0 to 25 do
begin
if (ld and (1 shl i)) <> 0 then begin
if GetDriveType(PChar(Char(Ord("A") + i) + ":\"))=DRIVE_FIXED then
info:=info+Char(Ord("A") + i);
if GetDriveType(PChar(Char(Ord("A") + i) + ":\"))=DRIVE_REMOVABLE then
info:=info+Char(Ord("A") + i);
//if GetDriveType(PChar(Char(Ord("A") + i) + ":\"))=DRIVE_CDROM then
//info:=info+Char(Ord("A") + i);
if GetDriveType(PChar(Char(Ord("A") + i) + ":\"))=DRIVE_REMOTE then
info:=info+Char(Ord("A") + i);
if GetDriveType(PChar(Char(Ord("A") + i) + ":\"))=DRIVE_RAMDISK then
info:=info+Char(Ord("A") + i);  end;
end;
GetDriveAll:=info;
end;
begin
form1.caption:=GetDriveAll;
end;


а дальше рекурсия поиска с копированием .. )


 
CoolMan ©   (2004-10-09 18:43) [5]

2 kaZaNoVa

И опять мой респект!
Спасибо за терпимость и помощь!


 
Defunct ©   (2004-10-09 18:48) [6]

[4]

на вкладке Win3.1 есть компонент TDriveComboBox, который делает тоже самое без лишних телодвижений ;>


 
kaZaNoVa ©   (2004-10-09 18:55) [7]

CoolMan ©   (09.10.04 18:43) [5]
все мы когда-то были новичками ;)))


 
begin...end ©   (2004-10-09 19:00) [8]

function GetDrives: String;
var
 Ch: Char;
begin
 for Ch := "A" to "Z" do
   if GetDriveType(PChar(Ch + ":\")) in [DRIVE_FIXED, DRIVE_REMOVABLE] then
     Result := Result + Ch;
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.048 c
1-1097551369
VAV
2004-10-12 07:22
2004.10.24
Контейнер для текстов


14-1097153989
pasha_golub
2004-10-07 16:59
2004.10.24
Музыка народов (Севера... :0))) )


1-1097215825
V-Isa
2004-10-08 10:10
2004.10.24
Пишу скринсэйвер.


3-1096030520
panov
2004-09-24 16:55
2004.10.24
ADO. Типы полей в DDL


1-1097495526
woker
2004-10-11 15:52
2004.10.24
Как показать окно чтобы фокус остался у прежнего окна?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский