Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
4-1095760732
romario
2004-09-21 13:58
2004.10.24
Буфер обмена.


1-1097067854
mRodion
2004-10-06 17:04
2004.10.24
Свойства с индексами


4-1095508306
Kirill
2004-09-18 15:51
2004.10.24
Кто использует DLL


1-1097133765
lightix
2004-10-07 11:22
2004.10.24
Создать приложение подобное "Панели MS Office"


1-1097145911
Cosinus
2004-10-07 14:45
2004.10.24
DrawCell в StringGrid. Хм...





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