вторник, 11 декабря 2012 г.

понедельник, 10 декабря 2012 г.

Vbs-скрипт для удаления старых файлов и папок


     Накатал скрипт на VBScript для удаления старых файлов (в моем случае - накапливающихся бэкапов). Удаляет все файлы старше указанного количества дней из указанной директории. Также рекурсивно удаляются все её подпапки, не содержащие файлов, измененных после указанной даты.

'*  deleteoldbackups.vbs
'*  Создан:    07/12/2012
'*  Назначение: Удаляет файлы и папки старше NumOfDays дней

'Переменные для настройки
NumOfDays = 15 'число дней, все что старше - будет удалено
StartFolderPath = "X:\OLDBACKUPS"     'Путь к папке с которой будет начинаться удаление файлов и папок

'Перехват и обработка ошибок
On Error Resume Next
Dim fso
Dim objFolder
Dim objFile
Dim objSubfolder
Set fso = CreateObject("Scripting.FileSystemObject")

Set objFolder = fso.GetFolder(StartFolderPath)
DeleteOldFilesAndFolders(objFolder)

'Функция рекурсивно удаляет старые файлы и пустые папки из переданной в параметре директории
Function DeleteOldFilesAndFolders(Folder)
'сначала удаляем все старые файлы в папке старше NumOfDays
for each objFile in Folder.Files
if DateDiff("d", objFile.DateLastModified, Now) > NumOfDays Then
objFile.Delete true
end if
next
'удаляем пустые директории
for each objSubfolder in Folder.Subfolders
   if objSubfolder.Files.Count = 0
       objSubfolder.Delete true
   end if
'Повторяем для подпапок
for each objSubfolder in Folder.Subfolders
DeleteOldFilesAndFolders(objSubfolder)
next
End Function

вторник, 14 августа 2012 г.

.NET + OpenOffice. FileNotFoundException 0x8007007E.

При программном формировании отчетности через OpenOffice на платформе Windows, в программе во время выполнения на клиентской машине может возникнуть следующая ошибка :

System.IO.FileNotFoundException was unhandledMessage. The specified module could not be found. (Exception from HRESULT:0x8007007E)
Решается добавлением пути к OpenOffice\program в системную переменную PATH.

Удаление панели и компонента "Гарант" из MS Word.

После удаления правовой системы "Гарант" в случае появления ошибок при запуске MS WORD, на клиентских машинах необходимо один раз запустить на выполнение следующий скрипт:
reg delete HKCU\Software\Microsoft\Office\Word\Addins\F1ShellDriver.F1Shell /f

OpenOffice. Ошибка 1714.

     Иногда возникает при попытке установить новую версию или переустановить существующую. При этом появляется сообщение:
 Ошибка 1714. Невозможно удалить старую версию. Обратить к администратору.
(Error 1714. The older version of open office org 3.2 cannot be removed. Contact technical support)
    Если все другие способы не помогают, проблема решается следующим образом:

  1. Удаляем OpenOffice и папку, куда он был установлен
  2. Чистим реестр утилитами типа RegCleaner или jv16 PowerTools - удаляем все ветки и ключи, содержащие "OpenOffice"
  3. В реестре удаляем все строки, начинающиеся с BA9B53C7

понедельник, 14 мая 2012 г.

Партионная почта. Неправильный вывод штрих-кодов.

Если в программе "Партионная почта" при печати конвертов выводятся квадраты вместо шрих-кода, проблема решается правкой ветки реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1252.nls"

пятница, 4 мая 2012 г.

Работа с jQuery-плагином Tablesorter и tablesorter.pager. Создание настриваемых таблиц, отображаемых постронично.

Плагин Tablesorter служит для создания сортируемых таблиц. Рассмотрим как можно создать многостраничную таблицу с помощью tablesorter и tablesorter.pager.

1. Подключение плагина
   Подключаем необходимые библиотеки в заголовке страницы
<script type="text/javascript" src="путь/jquery.metadata.js"></script>
<script type="text/javascript" src="путь/jquery.tablesorter.js"></script>
<script type="text/javascript" src="путь /jquery.tablesorter.pager.js"></script>

2. Далее, создаем и заполняем нашу табличку для примера

<table id="#mytable" class="tablesorter">
    <thead>
       .....

пятница, 27 апреля 2012 г.

Зависимые checkbox в jQuery. Как выделить все чекбоксы и отменить выбор.

Постановка задачи:
   На форме имеются несколько чекбоксов, которые зависят от одного главного чекбокса. При щелчке на главном чекбоксе нужно выделить все подчиненные чекбоксы. Если все подчиненные чекбоксы выделены и снимается выделение с одного из них - с гланого так же нужно снять выделение.
В моем варианте это выглядит так (в верхней строке главный чекбокс):
 


Решение:

среда, 25 апреля 2012 г.

Если IE ломится на http://go.microsoft.com/fwlink/?LinkId=74005. Исправляем стартовую страницу.

Если IE игнорирует явно указанную стартовую страницу и ломится на адрес http://go.microsoft.com/fwlink/?LinkId=74005 (надо заметить что при такой проблеме игнориется даже стартовая страница, указанная через доменные групповые политики), то данную проблему можно решить следующим образом:

1. Заходим в ветку реестра [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] 
2. Добавляем туда следующие параметры типа DWORD:
"RunOnceComplete"=00000001
"RunOnceHasShown"=00000001 

четверг, 19 апреля 2012 г.

PHP, Windows и библиотка php_ibm_db2.dll. Ошибка "Unable to load dynamic library php_ibm_db2.dll"

При возникновении ошибки "Unable to load dynamic library php_ibm_db2.dll" нужно скачать библиотеку, скомпилированную для используемой версии PHP и скомпилированной в той же версии компилятора, в котором был скомпилирован интерпретатор. После чего, поместить библиотеку в каталог расширений PHP.

Скачать нужную версию php_ibm_db2.dll можно здесь.

В случае возникновения других ошибок "Unable to load dynamic library ...", нужные версии библиотек для PHP можно поискать тут.




понедельник, 16 апреля 2012 г.

Ошибка при запуске программ. Источник: SydeBySide. Не найдена сборка Microsoft.VC90.CRT.

Ошибка поймана при установке новой версии WampServer 2.2a, который отказался запускаться после установки.

В логе системы два сообщения:

Resolve Partial Assembly завершилась не удачно для Microsoft.VC90.CRT
Зависимая сборка Microsoft.VC90.CRT не может быть найдена
Источник - SydeBySide

Решение:
Ошибка возникает из-за того, что не установлены распространяемые библиотеки Microsoft Visual C++ 2008 (VC++ 2008 Redistributable Package).
Взять можно тут - http://www.microsoft.com/downloads/ru-ru/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

воскресенье, 1 апреля 2012 г.

Eclipse IDE. Проблема с загрузкой обновлений и плагинов.

После установки Windows 7 x64 и свежей Eclipse IDE (Indigo) получил следующую проблему - Eclipse при обновлении самой среды разработки или попытке установки новых плагинов "зависает" во время загрузки обновлений - процесс загрузки останавливается на определенном этапе.

Решается проблема с загрузкой обновлений для Eclipse так:
  1.      В свойствах запускного файла на вкладке "Совместимость -> Изменить параметры для всех пользователей" указываем, что программа всегда должна выполняться от имени администратора.
  2.      В свойствах ярлыка программы прописываем следующий параметр запуска:
 -Djava.util.Arrays.useLegacyMergeSort=true

Если проблема не исчезла - проверяем файрволл, прокси и антивирус.



среда, 28 марта 2012 г.

Идиомы. Нейтральный к исключениям код на C#.

Под нейтральным к исключениям кодом понимается такой код, в котором не предумотрена явная обработка возможных исключений (try/catch) и который при этом в состояние справиться с возникшими исключениями.

В основе написания нейтрального к исключениям кода лежит идея, похожая на идею транзаций (commit/rollback) - фиксация изменений или откат всех действий и восстановление первоначального состояния объектов в случае возникновения исключения.

Реализация подобной схемы дает несколько преимуществ:
1) Улучшение читабельности кода за счет отсутствия конструкций try/catch/finnally.
2) Код гарантированно не генерирует исключения после изменения состояния обьектов, что вполне может произойти в блоках catch или finally.
3) Если возникает исключение до изменения состояния обьектов - все изменения откатываются и обьекты остаются в первоначальном состоянии.

Минусы подобной схемы:
1) Снижение эффективностикода во время выполнения за счет большего количества потребляемых системных ресурсов.

Расмотрим пример реализации подобного кода:

воскресенье, 18 марта 2012 г.

Ошибка в Windows 7. BOOTMGR is compressed.

В случае, если система Windows 7 не загружается, выдавая при загрузке ошибку "BOOTMBR is compressed", выполняем следующую последовательность действий:
  1. Загружаемся с диска ERD Commander или любого загрузочного диска.
  2. Переходим в коммандную строку, в которой последовательно набираем:
bootrec /FixMbr
bootrec /FixBoot
bootrec /RebuildBcd
exit
     3. Перезагружаемся с жесткого диска. Все должно работать.

Второй вариант, если ошибка возникла после включения сжатия диска - загрузитья с LiveCD в графический интерфейс, зайти через Проводник в свойства диска, на котором установлена ОС и убрать сжатие данных.



воскресенье, 29 января 2012 г.

Смена раскладки клавиатуры (языка по умолчанию) при входе в Windows

Если требуется изменить язык (раскладку клавиатуры) по умолчанию при входе в систему:

1. Запускаем редактор реестра regedit.exe, переходим в ветку
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
2. На первую позицию ставим нужную нам раскладку:
00000419 - Руская
00000409 - Английская

Настройка окна терминального Windows-клиента

1. Сохраняем параметры подключения в RDP-файле
2. Открываем RDP-файл в блокноте и правим
3. Для того, чтобы окно запускалось развернутым, правим параметр winposstr:i
    winposstr:s:0,WinMode,Left,Top,Right,Bottom
где WinMode:
1 - окно не развернуто
3 - развернуто

остальные параметры здесь: http://support.microsoft.com/kb/885187