воскресенье, 17 апреля 2011 г.

Михалевски party


1. Сектор Газа - Лирика
2. No Doubt - Don't speak
3. Оскар - Бег по острию ножа
4. Сектор газа - 30 лет
5. Сектор газа - Life
6. "Здравствуй мама, вот пишу тебе письмо" (в исполнени Кондрата и Ко)
7. "Споем, жиган" (в исполнении Дмитрия и Константина)
8. Оскар - Пятый угол
9. Оскар - Ветер
10. Color of the night
11. Комбинация - Косые дожди
12. ...

понедельник, 11 апреля 2011 г.

Firebird 1.5 и 2.1 на одном сервере

Суть проблемы:
При установке двух версий СУБД Firebird, например:
- Firebird 1.5 и Firebird 2.1 (или выше);
- Firebird 2.0 и Firebird 2.1 (или выше);
сообщения в лог выводятся кривые (например, при бэкап-ресторе).

Пример правильных сообщений:
--restore.log Firebird 1.5 (или 2.0)--
gbak: opened file bo_2.25.11.110_20110310_170500.fbk
gbak: transportable backup -- data in XDR format
gbak: backup file is compressed
gbak: created database localhost/3050:D:\base.fdb, page_size 4096 bytes
gbak: started transaction
gbak: restoring domain RDB$1
gbak: restoring domain RDB$3


Пример неправильных сообщений:
--restore.log Firebird 2.1 (или выше)--
can't format message 12:169 -- message system code -4can't format message 12:100 -- message system code -4.
can't format message 12:169 -- message system code -4can't format message 12:100 -- message system code -4.
can't format message 12:169 -- message system code -4can't format message 12:100 -- message system code -4.


Причина:
В параметре HKLM\Software\Firebird Project\Firebird Server\Instances\DefaultInstance указывается значение одного из установленных СУБД: 'C:\Firebird_1_5'. Поэтому Firebird 2.1 (или выше) при процедуре рестора пытается извлечь сообщения из файла Firebird.msg, который находится в 'DefaultInstance' несоответствующей версии.


Решение:
Удалить строковый параметр HKLM\Software\Firebird Project\Firebird Server\Instances\DefaultInstance

P.S. Путь к ключику для Windows x64:
HKLM\Software\wow6432Node\Firebird Project\Firebird Server\Instances\DefaultInstance

пятница, 8 апреля 2011 г.

Не открываются ссылки в QIP 2005

Около 3-4 месяцев назад QIP 2005 перестал открывать ссылки. Только сегодня руки дошли погуглить. Ответ нашелся:
qip.exe /urldef

Публичные чаты Skype

Вчера узнал, что в Skype можно создавать публичные чаты. У такого чата есть ссылка, которую удобно передавать нужным людям (впервые подобное увидел в MS Lync), назначать пользователям роли, указывать пароль и т.д.

вторник, 5 апреля 2011 г.

И снова здравствуй, Ария.

Знакомлюсь с группой "Ария" заново:

Мания величия (1985)
С кем ты? (1986)
Герой асфальта (1987)
Игра с огнём (1989)
Кровь за кровь (1991)
Ночь короче дня (1995)
Генератор зла (1998)
Химера (2001)
Крещение огнём (2003)
Армагеддон (2006)

Себе про Delphi

FuncINI.pas:

function ReadIni(FName, ASection, AString : String) : String;
var
sIniFile: TIniFile;
begin
sIniFile:=TIniFile.Create(FName);
Result:=sIniFile.ReadString(ASection, AString, 'ReadIni_error');
sIniFile.Free;
end;

function ReadIniBool(FName, ASection, AString : String) : Boolean;
var
sIniFile: TIniFile;
begin
sIniFile:=TIniFile.Create(FName);
Result:=sIniFile.ReadBool(ASection, AString, False);
sIniFile.Free;
end;

// Пример использования
daIniFile := 'config.ini';
daLIO := ReadIniBool(ExtractFilePath(paramstr(0))+daIniFile,'Log','LogIsOn');
daLogFileName := ReadIni(ExtractFilePath(paramstr(0))+daIniFile,'Log','LogFileName');

Себе про Delphi

FuncLog.pas:

var daLogFile: TextFile;

procedure InitLog(fname:string; Lio:Boolean);
begin
if Lio then begin
AssignFile(daLogFile,fname);
if FileExists(fname) then Append(daLogFile) else Rewrite(daLogFile);
end;
end;

procedure WriteLog(Str:String; Lio:Boolean);
begin
if Lio Then begin
str:=DateToStr(now)+' '+TimeToStr(now)+' '+str;
Writeln(daLogFile,str);
Flush(daLogFile);
end;
end;

// Пример использования:
InitLog(daLogFileName, daLIO);
Writelog('Application started', daLIO);

Себе про Delphi

Обработка исключительных ситуаций в Delphi
Управление ошибками, или обработка исключений в Delphi

Пример использования:
...
try
idpop31.Connect();
// При ошибках подключения отписываемся в логе
except
on daExcepti: Exception do
begin
Writelog('Connection failed:'+#13#10+daExcepti.Message, daLIO);
end;
end;

Архив