Вверх ↑
Этот топик читают: Гость
Ответов: 195
Рейтинг: 1
#1: 2014-09-17 13:16:44 ЛС | профиль | цитата
что то моск не соображает. хочу написать маленькую утилитку лечения флешек.
1 должна перебирать все файлы и папки проверять атрибуты, и если скрытые системные менять их.
2 удалять ярлыки
3 переименовать autorun.inf

думаю для перебора файлов надо как то вычислять количество файлов и т д а вот как?
да и обращаться к каждому файлу по имени а это их как то надо читать и где то хранить. может есть какие методы или идеи?
------------ Дoбавленo в 12.09:
я понимаю надо использовать Filesearsh и работать с каждым файлом сразу при обнаружении.

еще мучает как сделать, что бы пользователь мог выбрать флешку с которой работать. и что бы отображались только флешки или карты памяти а не все диски
------------ Дoбавленo в 12.41:
вот почему находит только первый файл и все?
Add(MainForm,2953706,21,105)
{
Width=848
Height=459
}
Add(FileSearch,2948156,168,105)
{
Dir="H:"
Include=2
link(onSearch,12024162:doText,[])
}
Add(Edit,12024162,245,105)
{
Left=15
Top=10
Width=810
Height=300
}
Add(Button,13173874,84,105)
{
Left=85
Top=355
link(onClick,2948156:doSearch,[])
}


------------ Дoбавленo в 13.06:
вот вроде получилось перебор файлов.

и вопрос " в каком формате выдает атрибуты файла компонент FileSearch?"
------------ Дoбавленo в 13.06:
Add(MainForm,2953706,35,98)
{
Width=555
Height=361
Point(onClose)
link(onCreate,2948156:doSearch,[])
link(onClose,2948156:doStop,[])
}
Add(FileSearch,2948156,98,112)
{
Dir="H:"
Include=2
Point(onOtherFiles)
Point(Attr)
link(onSearch,10469683:doAdd,[])
}
Add(StringTable,10469683,141,111)
{
Left=15
Top=5
Width=510
Height=225
SizeSp=1
Columns=#4:путь|
Grid=0
Redaction=1
Flat=1
}


------------ Дoбавленo в 13.16:
1 FILE_ATTRIBUTE_NORMAL,
2 FILE_ATTRIBUTE_ARCHIVE,
4 FILE_ATTRIBUTE_READONLY,
8 FILE_ATTRIBUTE_HIDDEN,
16 FILE_ATTRIBUTE_SYSTEM,
32 FILE_ATTRIBUTE_DIRECTORY,
64 FILE_ATTRIBUTE_TEMPORARY,
128 FILE_ATTRIBUTE_COMPRESSED,
256 FILE_ATTRIBUTE_OFFLINE

нашел

а что означает атрибут 256?
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#2: 2014-09-17 13:23:21 ЛС | профиль | цитата
z80 писал(а):
а что означает атрибут 256?


http://vsokovikov.narod.ru/New_MSDN_API/Menage_files/fn_setfileattributes.htm
карма: 22

0
Ответов: 195
Рейтинг: 1
#3: 2014-09-17 13:57:50 ЛС | профиль | цитата
а как узнать количество дисков в системе и их буквы?
и самое главное как их различить, что скажем диск H: является именно флешнакопителем?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2014-09-17 14:49:49 ЛС | профиль | цитата
z80 писал(а):
как узнать количество дисков


Add(DriveBox,7322816,126,105)
{
Left=125
Top=60
Width=215
Height=21
}
z80 писал(а):
как их различить
По иконке
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 195
Рейтинг: 1
#5: 2014-09-17 16:02:16 ЛС | профиль | цитата
блин ну что же у меня ни хрена не получается. заело на мелочи.
code_34305.txt

очистка списка почему то всегда работает даже когда не надо
карма: 0

0
файлы: 1code_34305.txt [1.5KB] [147]
Ответов: 16884
Рейтинг: 1239
#6: 2014-09-17 16:13:06 ЛС | профиль | цитата
z80 писал(а):
очистка списка почему то всегда работает даже когда не надо
А когда надо ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 195
Рейтинг: 1
#7: 2014-09-17 16:20:17 ЛС | профиль | цитата
при смене диска
------------ Дoбавленo в 16.20:
точнее при выборе диска
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#8: 2014-09-17 16:48:27 ЛС | профиль | цитата
code_34306.txt

При современных безразмерных дисках наверное лучше делать как-то так :

Add(MainForm,10787923,462,231)
{
Width=444
Height=360
Point(onClose)
}
Add(FileSearch,2948156,721,231)
{
Include=2
Point(onOtherFiles)
Point(Attr)
link(onSearch,1311984:doAdd,[])
}
Add(DriveBox,14345992,518,231)
{
Left=5
Top=35
Width=185
Height=21
BackSlash=0
link(onSelect,16376473:doEvent1,[])
}
Add(ListBox,1311984,819,231)
{
Left=15
Top=155
Width=385
Height=145
}
Add(Hub,11065998,672,224)
{
link(onEvent1,1311984:doClear,[(796,230)(796,244)])
link(onEvent2,2948156:doSearch,[])
}
Add(Browse,9541274,609,224)
{
Point(doDefaultFolder)
link(onBrowse,11065998:doEvent1,[])
}
Add(Hub,16376473,560,231)
{
link(onEvent1,9541274:doDefaultFolder,[])
link(onEvent2,9541274:doBrowse,[(592,244)(592,230)])
}


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_34306.txt [544B] [88]
Ответов: 195
Рейтинг: 1
#9: 2014-09-17 17:04:23 ЛС | профиль | цитата
вот я тормоз. забыл, что в продвинутом хабе точки имеют приоритет
------------ Дoбавленo в 17.04:
а прогресбар прикрутить никак не получится?
или какую то индикацию, что бы пока работает поиск файлов, пользователь не подумал, что комп завис.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2014-09-17 17:09:58 ЛС | профиль | цитата
z80, можно всё.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 195
Рейтинг: 1
#11: 2014-09-17 17:41:16 ЛС | профиль | цитата
ну вот например для прогресбара мне надо узнать количество файлов на диске не перебирая их. это как можно сделать?
карма: 0

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)