среда, 17 февраля 2010 г.

Проблема с Microsoft Office 2003 (Не запускается,не удаляется,не устанавливается)

Проблема указана в заголовке. Выглядит это вот так:

 
Началось с того, что я удалил Офис, потом его установил. А затем сделал восстановление системы на контрольную точку, где офис уже стоял. После этого случается такая засада. Ни запустить, ни удалить, ни переустановить не могу - вылетает ошибка. Ищу в инете решение. "Office install problem" - вот строка поиска. И одна найденная страничка  отправила меня вот сюда : kb290301 . Windows Installer CleanUp - средство для решения таких проблем.

понедельник, 25 января 2010 г.

Новый принтер HP P4515x выдает ошибку 49.4С27

Пришли два новых принтера HP P4515x. Один пришел в ноябре, другой - в декабре. Абсолютно одинаковые принтера, а работают по разному. Так вот, первый принтер выдает постоянно ошибку 49.4С27, независимо от интерфейса подключения. Оказывается куплены принтера с разницой в месяц,а  firmware у них разный. Тут и гадать не пришлось в чем дело. Иду на сайт HP http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=us&prodTypeId=18972&prodSeriesId=3558888&prodNameId=3558895&swEnvOID=54&swLang=33&mode=2&taskId=135&swItem=hv-61299-5 и качаю прошивку ) 04.049.3. Старая прошивка была 04.48.4. Вот так покупаешь новый принтер и уже голову ломаешь над ошибками.
Несколько замечаний по эксплуатации HP P4515.
Термоузел на одном принтере заменил на 400000 пробеге, на другом 225000. Второй принтер выдал ошибку 50.4 и отказался дальше  печатать пока не заменил термоузел (CB389-67901 Ремкомплект LJ P4014/4015/P4515 CB389A).
Так как  замечено, картриджи для HP P4515 выдают меньше копий, чем картриджи для HP 4350, попробывал в драйверах выставить Econome mode. Качество копий в таком режиме меня устраивает. Экономию нужно еще посчитать.
Добавляю вдогонку. В Econom mode существенно экономит тонер. С 15000 страниц до 20000. Советую пользоваться. Качество документов - приемлимое.

среда, 20 января 2010 г.

Удаление стандартных игр WIndows XP

Много есть вариантов в инете. Но я реализовал вот этот, вот по этой ссылке:
http://www.tek-tips.com/viewthread.cfm?qid=1070019&page=14.
Итак, идея проста,  для удаления воспользоваться утилиткой sysocmgr.

Dim Fso : Set Fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
sPrograms = WshShell.SpecialFolders("AllUsersPrograms")
If (Fso.FolderExists(sPrograms & "\Игры")) Then ' Create file for uninstalling games
Set f = Fso.CreateTextFile("c:\windows\inf\wmdtocm.txt", True)
f.WriteLine("[Components]")
f.WriteLine("freecell=off")
f.WriteLine("hearts=off")
f.WriteLine("minesweeper=off")
f.WriteLine("msnexplr=off")
f.WriteLine("pinball=off")
f.WriteLine("solitaire=off")
f.WriteLine("spider=off")
f.WriteLine("zonegames=off")
f.Close
WshShell.Run "sysocmgr.exe /i:c:\windows\inf\sysoc.inf /u:""c:\windows\inf\wmdtocm.txt"" /q", 1, True
Fso.DeleteFolder(sPrograms & "\Игры"), True
End If


Код практически такой же, как в оригинале, только изменена папка, где хранятся игры. В русской версии WindowsXP - это "\Игры".
Этот код сохраните в файл с расширением ".vbs". Допустим remove_games.vbs
Для того чтобы удалить игры со всех компьютеров домена, можно использовать групповую политику. Я включил этот скрипт в автозагрузку.
"Конфигурация компьютера->Конфигурация Windows->Сценарии (запуск завершение)->Автозагрузка." Это работает и можно использовать

среда, 13 января 2010 г.

WinToDos. Как сохранить данные в DOS кодировке.

Думаете задача неактуальная. Ошибаетесь. Вы знаете, что Сбербанк принимает файлы на зачисление на пластиковые карты в DOS формате. Информация на зачисление выгружается из "1С Кадры и Зарплата" в формате XML, после этого нужно получить DOS-файл со списком на зачисление.
Сейчас это делается на VBA в EXCEL. Я решил переписать на VB2008. Вот как функция перекодировки  выглядит на VBA (Авторство не моё):

W = "": D = ""
For I = 192 To 255: W = W & Chr$(I): Next
For I = 128 To 175: D = D & Chr$(I): Next
For I = 224 To 236: D = D & Chr$(I): Next

Public Function WinToDos(ByVal S As String, ByVal W As String, ByVal D As String) As String
Dim R As String
Sym = S: Ltext = Len(S)
If Ltext > 0 Then
For I = 1 To Ltext
k = InStr(W, Mid(S, I, 1))
If k > 0 Then
Mid(Sym, I, 1) = Mid(D, k, 1)
End If
Next I
End If
WinToDos = Sym
End Function

То есть понятно. Создается две строки. Одна содержит символы в Windows кодировке, другая в DOS. Первый параметр - строка,которую нужно перекодировать.Затем в цикле меняем один символ на другой.
Можно было использовать и этот код. Ну уж больно хотелось использовать возможности .NET.
И вот что получилось. Вот пример программы создающий файл с данными в DOS кодировке.

Imports System
Imports System.IO
Imports System.Text

Module Module1
Sub Main()
Dim Sym As String = "Привет от старых штиблет"
Dim encoding1 As Encoding = Encoding.GetEncoding(866)
Dim ioFile As New _
StreamWriter("c:\proba.txt", Boolean.Parse("False"), encoding1)
ioFile.WriteLine(Sym)
ioFile.Close()
End Sub
End Module

В файле proba.txt в DOS кодировке будет строчка "Привет от старых штиблет"

Gmer.exe снова помог

При включении сервер не появился в сети. Итак, приступаем к расследованию причин.  Оказалось, в устройствах компьютера в разделе "сетевые платы" плата Intel 82566DM помечена восклицательным знаком на фоне желтого круга. Устройство работает неверно. Пытаюсь установить драйвер снова. Не устанавливается. Удаляю плату . Удаляю драйвера. Все устанавливаю заново . Результат тот же. Итак я шаманил с часок, пока до меня не дошло, что возможно это вирус. Запускаю Gmer.exe. Сразу же бросается в глаза красным цветом выделенный процесс Net.exe.  Ну а дальше гашу этот процесс и удаляю файл, который его запускает. После этого все встаёт на свои места. В последнее время все чаще причиной разных проблем становяться вирусы. Поэтому, к самому распространенному совету по решению проблем "Перегрузись", я думаю, нужно еще добавить "Проверь на вирусы".

среда, 16 декабря 2009 г.

Подключение к базе Firebird в .NET

Для того чтобы подключиться к базе Firebird нужно скачать Firebird .Net Provider.
http://www.ibphoenix.com/main.nfs?page=ibp_download_dotnet
При установке в Program Files появляется папка "firebirdclient 2.0", а в ней firebirdsql.data.firebirdclient.dll . Создаем в Visual Studio 2008 новый проект. В обозревателе решений на элементе "Ссылки" кликаем правой клавишей и выбираем "Добавить"
Добавляем firebirdsql.data.firebirdclient.dll . Пример кода:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FirebirdSql.Data.FirebirdClient;

namespace FirebirdTry
{
class FirebirdConnect
{
static void Main()
{
try
{
string ConnectionString = "UserID=nameuser;Password=password;" +
"Database=./db/namedatabase.gdb; " + "DataSource=namecomp;Charset=NONE;";

FbConnection addDetailsConnection = new FbConnection(ConnectionString);
addDetailsConnection.Open();
Console.WriteLine("Удачно");
Console.ReadKey();
FbCommand readCommand = new FbCommand("Select count(*) From
table",dDetailsConnection);
FbDataReader myreader = readCommand.ExecuteReader();
while (myreader.Read())
{
Console.WriteLine(myreader[0]);

}
myreader.Close(); // we are done with the reader
Console.ReadKey();
addDetailsConnection.Close();
}
catch (Exception x)
{
Console.WriteLine(x.Message);
Console.ReadKey();
}

}
}
}


Как видно на примере в отличие от типов пространства имен System.Data.OleDB:
OleDbConnection, OleDBCommand, OleDBDataReader, "OleDB" меняется на "Fb"

вторник, 15 декабря 2009 г.

Что купить принтер за 90$ или картридж за 70$?

Вот такая дилемма была в сервисном центре у парня. Сломался принтер Samsung. Марку не помню, но из самых дешевых. А в сервисе не берут по гарантии в ремонт. А у вас, говорят, картридж перезаправленный. Вот если бы был оригинальный, новый, то тогда бы взяли. Купить оригинальный картридж по цене чуть дешевле, чем принтер и отдать его в ремонт по гарантии - согласитесь, не логично. С другой стороны принтеру меньше года и он сломался - это называется "попал на деньги". Кстати, цены на заголовок я взял для примера по принтеру Sumsung ML-1640. У меня точно такой же случай был, когда я сдавал по гарантии HP4515. Просили оригинальный картридж. Пришлось доставать. Но теперь храню один новый картридж на время гарантии принтера, на всякий случай .