Почему, почему разработчики не доделвыют свои программы?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Почему, почему разработчики не доделвыют свои программы?

Сообщение FireFenix » 25.02.2012 (Сб) 18:27

Очередной раз распаковывая 20 гиговы архив, диск С заорал, что нету места... Изображение
При инстале Win по дефолту указываю переменную окружения C:\Temp, чтобы в дебрях юзера не искать, так вот и полез туда чистить.
Моему превеликому удивлению оказалось, что все ранние архивы которые по 5-20 гиг спокойно были распакованы в темп, а идиотский WinRAR не переместил и не почистил их.
Итого 80 гигов распакованных архивов во временных. Изображение Это просто беда, как будто разработчики только вредят пользователям...
Зачем, зачем создавать временные файлы? А уж тем более даже если создаёшь, то их не подчищать Изображение

Ладно только WinRAR, ставлю DDK... И что вы думаете? Нельзя выбрать путь, который содержит пробел. Мы в каком веке? Я не могу поставить хлам микрософта рядом с остальным в программфайлс, и приходится ставить в корень диска. Изображение

Это ещё слава богу DDK даёт выбор пути, а наглый MASM (слава богу я люблю использовать FASM) вообще не предлагает никуда ставиться и по дефолту в корень диска С: всё копирует Изображение

MSI пакеты это вообще отдельный разговор... Чистая система стоит на С:\, а временные файлы инстеллера идут не на C:\Windows\Temp, не C:\Temp и даже не на C:\, а чётко в корень D:\ ... Это просто добивает. Что они там забыли? Но хотя бы в этом случае я рад, что Win их подчищает Изображение

Да я уже не говорю об самой ОС, которая после обновлений сама принудительно перезапускает компьютер (как верно подметил Хакер), а то что могла выполнятся дефрагментация диска, установка программ, работа серверной части приложения - это пофиг Изображение

МС ни одна преуспела в своих стремлениях, Adobe со своим web инсталлером Adobe AIR по дефолту все приложения лепит в Programm FIles, без выборя пути установки... Ну нафига? Изображение

Почему, почему разработчики не доделвыют свои программы, что бы они были user frendly? Продукты ведь существуют не 1 год!
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение jangle » 25.02.2012 (Сб) 19:17

FireFenix писал(а):Зачем, зачем создавать временные файлы? А уж тем более даже если создаёшь, то их не подчищать Изображение


Временные файлы необходимы для работы многих программ, и забота об их удалении лежит на пользователе.

FireFenix писал(а):MSI пакеты это вообще отдельный разговор... Чистая система стоит на С:\, а временные файлы инстеллера идут не на C:\Windows\Temp, не C:\Temp и даже не на C:\, а чётко в корень D:\ ... Это просто добивает. Что они там забыли?


MSI пишет временные файлы на тот диск, где больше всего места. Если будет воткнута флешка, и на ней будет больше места чем на локальных дисках, временные файлы будут писаться туда.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 25.02.2012 (Сб) 20:45

FireFenix писал(а):Ладно только WinRAR, ставлю DDK... И что вы думаете? Нельзя выбрать путь, который содержит пробел. Мы в каком веке? Я не могу

Тут есть уважительная причина.

А вообще да. Индустрия катится в пропасть. Рюшечки ценятся больше, чем нулевое время отклика и продуманность.
Приходятся искать стырые, ещё не испорченные версии.

У MS вообще какой-то рак. Я заметил три продукта (WDK (бывший DDK), Windows SDK (бывший Platform SDK) и какой-то VC-редист) — установка в принципе никогда не завершается (ни положительно, ни отрицательно, вообще никак). Приходится искать где-то старые версии. Уже не потому, что они кажутся мне лучше, а хотя бы потому, что они просто устанавливаются, в отличие от последних.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение FireFenix » 27.02.2012 (Пн) 2:57

jangle писал(а):
FireFenix писал(а):Зачем, зачем создавать временные файлы? А уж тем более даже если создаёшь, то их не подчищать Изображение


Временные файлы необходимы для работы многих программ, и забота об их удалении лежит на пользователе.

Да ладно? То что это необходимо для работы программ - это ещё может быть понятно, хотя с трудом, но вот что за этим должен следить пользователь - сущий бред.
Если программа тупо создаст файл и забьёт всё место харда, да - это юзер виноват, что он не чистит, а не программа которая не рационально использует предоставленное место.

А то что в случае с винраром. К примеру у FreeArc или 7zip напрямую распаковывают программы без временных файлов - это нормально, а винрару так подавай свободное место :twisted:

jangle писал(а):
FireFenix писал(а):MSI пакеты это вообще отдельный разговор... Чистая система стоит на С:\, а временные файлы инстеллера идут не на C:\Windows\Temp, не C:\Temp и даже не на C:\, а чётко в корень D:\ ... Это просто добивает. Что они там забыли?


MSI пишет временные файлы на тот диск, где больше всего места. Если будет воткнута флешка, и на ней будет больше места чем на локальных дисках, временные файлы будут писаться туда.

Эта логика вообще K.O.
У MS вообще какой-то рак.

И очевидно в некоторых случаях рак мозга

Хакер писал(а):
FireFenix писал(а):Ладно только WinRAR, ставлю DDK... И что вы думаете? Нельзя выбрать путь, который содержит пробел. Мы в каком веке? Я не могу

Тут есть уважительная причина

Ммм?
Помню давно когда-то ставил DDK и он спокойно становился в Program Files, а щас что-то не то...
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 27.02.2012 (Пн) 10:37

FireFenix писал(а):Ммм?
Помню давно когда-то ставил DDK и он спокойно становился в Program Files, а щас что-то не то...

Причина в том, что там есть примеры драйверов, да и сами разрабатываемые драйверу, очень вероятно, останутся там же. И так же вероятно, что ты захочешь загружать их. Так вот, несмотря на длинные пути с пробелами, для драйверов всё-таки лучше 8.3 без пробелов.

Достаточно хотя бы посмотреть на имена файлов из папки system32\drivers. Есть драйверы с длинными именами?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 27.02.2012 (Пн) 11:14

Хакер писал(а):Так вот, несмотря на длинные пути с пробелами, для драйверов всё-таки лучше 8.3 без пробелов.

NTFS поддерживает такие имена параллельно с длинными. Только вот MS почему-то хочет отключить их создание... Или уже?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 27.02.2012 (Пн) 11:18

Qwertiy писал(а):NTFS поддерживает такие имена параллельно с длинными. Только вот MS почему-то хочет отключить их создание... Или уже?

О чём вообще речь?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение FireFenix » 27.02.2012 (Пн) 19:03

Хакер писал(а):Причина в том, что там есть примеры драйверов, да и сами разрабатываемые драйверу, очень вероятно, останутся там же. И так же вероятно, что ты захочешь загружать их. Так вот, несмотря на длинные пути с пробелами, для драйверов всё-таки лучше 8.3 без пробелов.

Everest'y (ныне AID'a), FileMon и прочим ни чего не мешает загружать драйвера где бы они не находились, уж не говоря об инсталлерах драйверов

Хакер писал(а):Достаточно хотя бы посмотреть на имена файлов из папки system32\drivers. Есть драйверы с длинными именами?

ну самое жирное, что я нашёл - KEYBOARD.SYS
А больше на самом деле ни одной исполняемой программе и не нужно.
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 27.02.2012 (Пн) 19:31

FireFenix писал(а):KEYBOARD.SYS

keyboard.sys — 8.3

FireFenix писал(а):Everest'y (ныне AID'a), FileMon и прочим ни чего не мешает загружать драйвера где бы они не находились, уж не говоря об инсталлерах драйверов

Вопрос не в том, загружается или нет. Вопрос в рекомендациях и соответствии стилю.
А инсталляторы вообще не причём. Инсталляцией занимается системный установщик, драйвер копируется куда следует (каталог drivers).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 27.02.2012 (Пн) 20:01

Хакер писал(а):
Qwertiy писал(а):NTFS поддерживает такие имена параллельно с длинными. Только вот MS почему-то хочет отключить их создание... Или уже?

О чём вообще речь?

О том, что при желании можно использовать 8.3 даже когда это не так.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 27.02.2012 (Пн) 20:22

Qwertiy писал(а):О том, что при желании можно использовать 8.3 даже когда это не так.

Пример того, о чём ты говоришь?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 27.02.2012 (Пн) 20:49

Хакер писал(а):Пример того, о чём ты говоришь?

Код: Выделить всё
C:\Program Files\Microsoft Visual Studio 10.0\Microsoft Visual Web Developer 2010 Express - ENU\vs_setup.MSI
C:\PROGRA~1\MICROS~1.0\MICROS~4\vs_setup.MSI

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 27.02.2012 (Пн) 21:00

Хакер писал(а):Достаточно хотя бы посмотреть на имена файлов из папки system32\drivers. Есть драйверы с длинными именами?

Есть - среди 325 файлов *.sys 13 не 8.3:
Код: Выделить всё
Apowersoft_AudioDevice.sys
blueletaudio.sys
BlueletSCOAudio.sys
BTNetFilter.sys
CSVirtualDiskDrv.sys
DigiartyVirtualCDBus.sys
NHCDRIVER.SYS
PROCMON20.SYS
ShredderDriver32.sys
SmartDefragDriver.sys
VBoxNetAdp.sys
VBoxNetFlt.sys
VBoxUSBMon.sys

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 27.02.2012 (Пн) 21:02

Qwertiy писал(а):
Хакер писал(а):Пример того, о чём ты говоришь?

Код: Выделить всё
C:\Program Files\Microsoft Visual Studio 10.0\Microsoft Visual Web Developer 2010 Express - ENU\vs_setup.MSI
C:\PROGRA~1\MICROS~1.0\MICROS~4\vs_setup.MSI

Я так и думал.

Ты и вправду думаешь, что фича XXXXXX~Y имеет какое-то отношение к NTFS?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 27.02.2012 (Пн) 21:07

Хакер писал(а):Ты и вправду думаешь, что фича XXXXXX~Y имеет какое-то отношение к NTFS?

Насколько мне известно, эти имена прописаны в файловой системе, Windows не придумывает их "на лету". Но в FAT они тоже есть, так что про NTFS я зря написал. В любом случае, важен факт их существования, а не то, где они находятся. Хотя, некоторые "особо умные" программы ухитряются создавать 8.3 c кириллицей :(

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re:

Сообщение Alec » 27.02.2012 (Пн) 21:46

Qwertiy писал(а): Хотя, некоторые "особо умные" программы ухитряются создавать 8.3 c кириллицей :(

А чем это напрягает?
Иногда лучше вовремя остановиться...
И начать заново!

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 27.02.2012 (Пн) 22:33

Alec писал(а):А чем это напрягает?

Тем, что смысл этих имён как раз в совместимости с теми программами, которые неправильно обрабатывают имена в стандартном формате. И кириллицу они тоже не очень-то любят.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Alec » 27.02.2012 (Пн) 22:43

Я имею ввиду, при чем тут именно 8.3. Насколько мне помнится, в FAT32 (да и в NTFS при определенных настройках) длинные кириллические имена также усекаются до кириллических 8.3. А что до умных программ - папка "Мои документы" -> МОИДОК~1
Иногда лучше вовремя остановиться...
И начать заново!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Antonariy » 27.02.2012 (Пн) 22:55

Everest'y (ныне AID'a), FileMon и прочим ни чего не мешает
Intel Xeon мешает. Они на нем бсодят. Происходит это в момент "Определение частоты процесора...".
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re:

Сообщение Antonariy » 27.02.2012 (Пн) 22:57

Qwertiy писал(а):Есть - среди 325 файлов *.sys 13 не 8.3
Походу они все левые.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 27.02.2012 (Пн) 22:58

Кстати, у меня есть ещё такая параноидальна идея.

Разработчики FireFox-а с помощью критических апдейтов преднамеренно снижают его производительность, чтобы принудить консерваторов, сидящих на 3-ей версии, перейти на самую последнюю (9 или 10, какая там сейчас?)...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Proxy » 27.02.2012 (Пн) 23:26

Хакер писал(а):Разработчики FireFox-а с помощью критических апдейтов преднамеренно снижают его производительность, чтобы принудить консерваторов, сидящих на 3-ей версии, перейти на самую последнюю (9 или 10, какая там сейчас?)...

Думаю у них есть чем заняться и без этого. У этих ребят сплошь везде и всюду проблемы, не успеют от одной отделаться, как на замену другая находится. То с HTML5 куча без была, в т.ч. лицензионных препирательств (H.264 это вообще какая-то откровенная промашка консорциума), то с производительностью разобраться всё никак не могут (и не только Firefox, Thunderbird это тоже в полной мере касается, хотя у того и своих проблем нерешённых накопился вагон), то размер кода представляет проблему для компиляции под 32х разрядные windows (и firefox пришлось урезать, помнится, потом обещали оптимизировать).
Follow the white rabbit.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Qwertiy » 28.02.2012 (Вт) 7:17

Antonariy писал(а):
Qwertiy писал(а):Есть - среди 325 файлов *.sys 13 не 8.3
Походу они все левые.

А кто говорил, что они не должны быть левыми? :lol:

Alec писал(а):Я имею ввиду, при чем тут именно 8.3. Насколько мне помнится, в FAT32 (да и в NTFS при определенных настройках) длинные кириллические имена также усекаются до кириллических 8.3. А что до умных программ - папка "Мои документы" -> МОИДОК~1

У меня C:\DOCUME~1\User\C316~1\ :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 28.02.2012 (Вт) 8:55

Proxy писал(а):Думаю у них есть чем заняться и без этого. У этих ребят сплошь везде и всюду проблемы, не успеют от одной отделаться, как на замену другая находится. То с HTML5 куча без была, в т.ч. лицензионных препирательств (H.264 это вообще какая-то откровенная промашка консорциума), то с производительностью разобраться всё никак не могут (и не только Firefox, Thunderbird это тоже в полной мере касается, хотя у того и своих проблем нерешённых накопился вагон), то размер кода представляет проблему для компиляции под 32х разрядные windows (и firefox пришлось урезать, помнится, потом обещали оптимизировать).


Два разных продукта с разным ядром поддерживать сложнее и затратнее, чем один. А тут как назло толпа тупоголовых прилипла к старой версии и не хочет перейти на красивую новую быструю версию.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение jangle » 28.02.2012 (Вт) 9:48

Я кстати вспомнил почему не имею проблем с временными файлами, еще несколько лет назад написал утилиту для автоматической очистки папки TEMP. Она сама прописывается в автозапуск, а потом при загрузке чистит временные файлы


Код: Выделить всё
'///////////////////////////////////////////////////////////////////////////////////////
' Dustman.exe - утилита для очистки папки TEMP
' Jangle (c) 2008
'///////////////////////////////////////////////////////////////////////////////////////
#Compile Exe "Dustman.exe"
#Resource "DustMan.pbr"
#Dim All
#Optimize Speed

#Include "win32api.inc"

%NaturalDay = 24 * 60 * 60 * 10000000      ' 24 HOURS AS 1/100 NANOSECS UNITS

Union LARGETIME
  ft As FILETIME
  qt As Quad
End Union

Macro GetFiles(sSrch) = GetFilesEx(sSrch, %FALSE, %FALSE)
Macro GetFolders(zCriteria) = GetFilesEx(zCriteria + "\", %False, %True)

Sub AddToBootUp(AppDesc As Asciiz, AppPath As Asciiz)
  Dim hKey As Long
   RegOpenKey %HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKey
   If hKey Then RegSetValueEx hKey, AppDesc, ByVal %Null, %REG_SZ, AppPath, Len(AppPath): _
      RegCloseKey hKey
End Sub

Function ToDay() As Long
  Local st As SYSTEMTIME, lt As LARGETIME
  GetLocalTime st
  SystemTimeToFileTime st, lt.ft
  Function = lt.qt \ %NaturalDay
End Function

Sub DeleteTempFiles(directory As String, mask As String)
  Local fd As WIN32_FIND_DATA, fh As Long, NextFile As Long
  Local szFileMask As Asciiz * %MAX_PATH
  Local lt As LARGETIME, DayNbr As Long
  szFileMask = directory + mask + Chr$(0)
  fh = FindFirstFile(szFileMask, fd)
  If fh = %INVALID_HANDLE_VALUE Then Exit Sub
  Do
    FileTimeToLocalFileTime fd.ftLastWriteTime, lt.ft
    DayNbr = lt.qt \ %NaturalDay
    If DayNbr < ToDay Then
        Kill directory + fd.cFileName
    End If
    NextFile = FindNextFile(fh, fd)
  Loop Until NextFile = 0
  FindClose fh
End Sub


Function FSO_IsValidFolder(ByVal Path$)Export As Long
    Local Tmp$,FS$,SH$
    Path$ = UCase$(RTrim$(Path$,Any " \")) & "\"
    If (Mid$(Path$,1,1)>= "A" And Mid$(Path$,1,1)<="Z") And (Mid$(Path$,2,1)=":") Then
        Tmp$ = Mid$(Path$,1,2) & "\"
        Function = (Tmp$ <> Path$)
    ElseIf Mid$(Path$,1,2)="\\" Then
        FS$ = RTrim$(Parse$(Path$,"\",3))
        SH$ = RTrim$(Parse$(Path$,"\",4))
        If Len(FS$)< 2 Then Function = 0:Exit Function
        If Len(SH$) < 1 Then Function = 0:Exit Function
        Tmp$ = "\\" & FS$ & "\" & SH$ & "\"
        Function = (Tmp$ <> Path$)
    Else
        Function = 0
    End If
End Function

Function FSO_FolderExists(ByVal FolderSpec$)Export As Long
    Local fd As WIN32_FIND_DATA
    Local fAttr As Dword
    Local hFind&
    If Len(FolderSpec$)=0 Then Function = 0:Exit Function
    FolderSpec$ = RTrim$(FolderSpec$,Any " \")
    hFind& = FindFirstFile(ByVal StrPtr(FolderSpec$), fd)
    If hFind& = %INVALID_HANDLE_VALUE Then Function = 0 :Exit Function
    Call FindClose(hFind&)
    fAttr = fd.dwFileAttributes
    Function = %True
    If (Bit(fAttr, 4)=0) Or (Bit(fAttr,8)=1) Then Function = 0
End Function

Function FSO_DELTREE(ByVal PathSpec$,ByVal Force&) As Long
    Local fd As WIN32_FIND_DATA
    Local fAttr As Dword
    Local hFind&, FilNamn$,ToRemove$
    Local FilMask$,rc&
    If Len(PathSpec$) = 0 Then Function = -100:Exit Function
    If IsFalse FSO_IsValidFolder(PathSpec$) Then Function = -100:Exit Function
    If IsFalse FSO_FolderExists(PathSpec$) Then Function = -100:Exit Function
    On Error Resume Next
    PathSpec$ = RTrim$(PathSpec$,Any " \") & "\"
    FilMask$ = PathSpec$ & "*.*"
    hFind& = FindFirstFile(ByVal StrPtr(FilMask$), fd)
    If hFind& = %INVALID_HANDLE_VALUE Then Function = -100 :Exit Function
    Do
    FilNamn$ = RTrim$(fd.cFileName,Any Chr$(0,32))
    If (Bit(fd.dwFileAttributes,4)= 0) Then
    ToRemove$ = PathSpec$ & FilNamn$
    If (Bit(fd.dwFileAttributes,0)= 1) And (Force& <> 0) Then
    If IsFalse SetFileAttributes(ByVal StrPtr(ToRemove$),%FILE_ATTRIBUTE_NORMAL) Then
    Call FindClose(hFind&)
    Function = -100:Exit Function
    End If
    End If
    If IsFalse DeleteFile(ByVal StrPtr(ToRemove$)) Then
    Call FindClose(hFind&)
    Function = -100:Exit Function
    End If
    Else
    If FilNamn$ = "." Then Exit If
    If FilNamn$ = ".." Then Exit If
    ToRemove$ = PathSpec$ & FilNamn$
    If FSO_DELTREE(ToRemove$,Force&)<> 0 Then
    Call FindClose(hFind&)
    Function = -100:Exit Function
    End If
    End If
    If IsFalse FindNextFile(hFind&,fd) Then Call FindClose(hFind&):Exit Do
    Loop
    PathSpec$ = RTrim$(PathSpec$,"\")
    fd.dwFileAttributes = GetFileAttributes(ByVal StrPtr(PathSpec$))
    If (Bit(fd.dwFileAttributes,0)= 1) And (Force& <> 0) Then
    If IsFalse SetFileAttributes(ByVal StrPtr(PathSpec$),%FILE_ATTRIBUTE_NORMAL) Then
    Function = -100:Exit Function
    End If
    End If
    If IsFalse RemoveDirectory(ByVal StrPtr(PathSpec$)) Then
    Function = -100:Exit Function
    End If
    Function = 0
End Function


Function GetFilesEx(ByVal sSrch As String, Optional ByVal nSearchSubs As Long, Optional ByVal nDirsOnly As Long) As String
  Local i As Long, p As Long, f As Long, zSearch As Asciiz * %MAX_PATH
  Local sFiles As String, wfd As WIN32_FIND_DATA, hSearch As Long
  Local zPath As Asciiz * %MAX_PATH, zCrit As Asciiz * %MAX_PATH, sSubFolders As String
  zSearch = sSrch
  Replace "/" With "\" In zSearch
  zPath = UCase$(Left$(sSrch, InStr(-1, sSrch, Any "\")-1))
  zCrit = UCase$(Mid$(sSrch, InStr(-1, sSrch, Any "\")+1))
  zCrit = Mid$(zCrit, InStr(-1, zCrit, ".")+1)
  hSearch = FindFirstFile(zPath + "\*.*", wfd)
  If hSearch <> %INVALID_HANDLE_VALUE Then
     Do
        If (wfd.cFileName <> "") And (Peek(VarPtr(wfd.cFileName)) <> Asc(".")) Then
           If (wfd.dwFileAttributes And %FILE_ATTRIBUTE_DIRECTORY) = %FILE_ATTRIBUTE_DIRECTORY Then
              If (IsTrue nDirsOnly) Then sFiles = sFiles + RTrim$(zPath, Any "\/") + "\" + wfd.cFileName + "|"
              If (IsTrue nSearchSubs) Then
                 sSubFolders = GetFilesEx(zPath + "\" + wfd.cFileName + "\*.", %True, %True)
                 If Len(sSubFolders) Then
                    sFiles = RTrim$(sFiles, "|")
                    For f = 1 To ParseCount(sSubfolders, "|")
                        sFiles = sFiles + GetFilesEx(Parse$(sSubFolders, "|", f) + "\*." + zCrit, %False, %False) + "|"
                    Next f
                 End If
              End If
           Else
              If (IsFalse nDirsOnly) Then
                 If (zCrit = "*") Then
                    sFiles = sFiles + zPath + "\" + wfd.cFileName + "|"
                 Else
                    If Mid$(UCase$(wfd.cFileName), InStr(-1, wfd.cFileName, ".")+1) = zCrit Then sFiles = sFiles + zPath + "\" + wfd.cFileName + "|"
                 End If
              End If
           End If
        End If
     Loop While FindNextFile(hSearch, wfd)
     FindClose hSearch
     Function = RTrim$(sFiles, "|")
  End If
End Function


Function PBMain
  Local szTemp As Asciiz * %MAX_PATH, envSize As Long
  Local folders As String
  Local i As Long
  envSize = GetEnvironmentVariable("TMP", szTemp, %MAX_PATH)
  If envSize = 0 Then
    envSize = GetEnvironmentVariable("TEMP", szTemp, %MAX_PATH)
  End If
  If envSize = 0 Then Exit Function
  AddToBootUp "DustMan - clear TEMP folder", EXE.Full$
  DeleteTempFiles szTemp + "\", "*.*"
  folders= GetFolders(szTemp)
  For i=1 To ParseCount(folders, Any "|")
   Call FSO_DELTREE(Parse$ (folders, Any "|", i),0)
  Next i
End Function

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение BV » 28.02.2012 (Вт) 13:46

Хакер писал(а):Так вот, несмотря на длинные пути с пробелами, для драйверов всё-таки лучше 8.3 без пробелов.

Интересно, почему?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Почему, почему разработчики не доделвыют свои программы?

Сообщение Хакер » 28.02.2012 (Вт) 13:53

На правах шутки: длинное имя в BSOD не влезет.
Изображение
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList  
cron