понедельник, 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. Просили оригинальный картридж. Пришлось доставать. Но теперь храню один новый картридж на время гарантии принтера, на всякий случай .

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

Новая прошивка для HP 4350 Сервис Мануал для HP 4515

Спешу поделиться новостями. Появилась новая прошивка для HP4350 08.017.01. http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&prodNameId=412171&prodTypeId=18972&prodSeriesId=412160&swEnvOID=228&taskId=135&swLang=33
В нем два фикса:
1. Random 49.4C02 or 49.4C06 errors may occur with firmware revisions 08.015.0 or 08.016.2, particularly when using stored jobs
2.In rare cases, postscript files may not print correctly.
Меня очень серьезно достает ошибка 49.4C02. Сейчас стоит прошивка 08.014. Посмотрим, поможет ли.

И еще одно, делюсь ссылкой на сервис мануал (Service manual ) для HP 4515:
http://www.scribd.com/doc/15089448/HP40104015-Service-Manual