The Wokbook interface have the boolean Saved property:
if xls.Workbooks.Item[i].Saved then
...
The Wokbook interface have the boolean Saved property:
if xls.Workbooks.Item[i].Saved then
...
Вчера заказал и забрал в Соколе жесткий диск WD Caviar Black (WD1001FALS)
Выбирал между ним и WD10EADS из “зеленой” серии. С одной стороны зеленая серия потише и не так греется. Да и скорость не так важна – диск больше под хранилище архивов будет использоваться.
С другой стороны из-за бага с постоянной парковкой головок (и как следствие щелканье диска и износ SMART’а) отказался от него.
В принципе месяц назад WD выпустил новый зеленый терабайтник WD10EARS и у него даже объем кеша 64Mb вместо 32, но он же не поддерживается в Windows XP, т.е. можно будет поставить на него только Vista/Windows7 из-за размера физического сектора в 4Kb вместо стандарных 512байт. Хотя вроде бы каким-то джампером можно добиться работы в XP. В любом случае скорость 5200rpm+кеш 64Mb даст такую же скорость как 7200rpm+кеш 32Mb у WD1001FALS
На выходных попробую поставить его на старый комп через переходник IDE<->SATA. Вчера с мороза он был очень холодным и я не рискнул сразу его подключать… Надеюсь, что в старом системном блоке он будет работать. Иначе придется еще искать-покупать нормальный контроллер для SATA, т.к. сейчас там только IDE
Today I paid for domain in GoDaddy.
I used the ‘gda111x’ coupon with 30% discount. So I paid the $15.32 for 2 years
byte[] arrData = new byte[myLength];
Stream.Read(arrData, 0, myLength);
String s = System.Text.ASCIIEncoding.ASCII.GetString(arrData);
1. read from stream:
byte[] arrData = {0, 0, 0, 0, 0, 0, 0xF0, 0xBF};
Double dbl;
MemoryStream ms = new MemoryStream();
ms.Write(arrData, 0, 8);
ms.Position = 0;
BinaryReader br = new BinaryReader(ms);
dbl = br.ReadDouble();
2. copy/convert from buffer:
dbl = BitConverter.ToDouble(arrData, 0);
In Delphi we can cast the double value as datetime:
var
dbl: Double;
dt: TDateTime;
begin
dbl := 65985.3333;
dt := dbl;
end;
But in .NET we need call the FromOADate method for DateTime class:
Double dbl = 65985.3333;
DateTime dt = DateTime.FromOADate(dbl)
GoDaddy is offering Domain Name Registration for $0.99 for 1 year with code BUYCOM99.
This offer is for new domains only, not for renew
Я довольно редко обновляю установленный софт. Ну не фанат я лазить по сайтам в ожидании выхода версии 0.0.1.599 вместо моей текущей 0.0.1.598 В конце-то концов если я его поставил и он меня устраивает, то я даже не хочу знать про выход новой версии. В частности FireFox у меня стоял без обновлений уже года два и я все время игнорировал нотификации про новые версии.
Не знаю почему, но вчера на свою голову решил проапдейтиться. Он довольно долго качал несчастные 8Мб, что-то устанавливал и попросил перезагрузиться. Ну надо, так надо. Но во время загрузки Windows, вылазит chkdsk, о существовании которого я уже забыл и начинает ругаться(+исправлять indexes) на кучу файлов и каталогов. Разумеется в 90% там присутствует злосчастный FireFox
В этом момент остатки моих волос чуть не поседели. Через 10 минут все загрузилось и я запустил browser. Вылезло окно о том, что сейчас будем наконец-то обновляться и где-то на 50% прогрессбара я получаю дивный prompt в духе “У тебя запущен еще один FireFox, мы его сейчас выгрузим и начнем заново”. После чего это все повторяется раз пять. При все при этом в памяти еще одного запущенного FireFox нет и в помине (судя по Task Manager)
Когда мне это надоело, снес к чертям этот updater.exe и скачал с сайта mozilla дистрибутив еще раз руками. Запустил инсталляху и все заработало.
Судя по всему встроенный updater выкачивает какой-то другой набор файлов и как-то “ручками” их копирует на диск (раз слетели индексы у Windows).
В общем не скоро я его еще раз буду обновлять:-)
Инструкции как прикрутить прием платежей в PayPal на своем сайте:
http://www.askdev.ru/question/946/%D0%9F%D1%80%D0%B8%D0%B5%D0%BC-PayPal-%D0%BD%D0%B0-%D1%81%D0%B0%D0%B9%D1%82%D0%B5/
Нужно будет написать новый парсер для этого формата в свой SMWord suite
http://fantaseour.livejournal.com/141276.html
**************************************************************
Ответ на мои грустные вздохи о смерти CHM и не возможности читать архивы прямо из браузера лежал на поверхности.
Это EPUB (electronic publication) (also sometimes ePub, EPub, or epub) — открытый стандарт для электронных книг.
В основе решения все те же xhtml+css. Правда в стандарте набор тегов и возможностей ограничен, но это скорее для того, чтобы читалки можно было совместимые делать.
Итак внутри xhtml+css+media, плюс xml-файлы с мета-информацией, шрифт можно тоже положить и указать потом в css. Все это пакуется в несколько специфичный зип: Метаинформация идет в начале зип-файла и она не сжимается, дальше остальной контент, уже пожатый. Делается двумя командами:
zip -X0 “full path to new epub file” mimetype
zip -rDX9 “full path to new epub file” * -x mimetype
Читается практически всеми читалками, кроме Kindle, но легко переводится в совместимый формат, и скорее всего будет читаться в будущем. Свободных конвертилок из chm в epub я не нашел, ну не велика беда — понятно, что это можно и самому написать.
На десктопе есть несколько читалок разной степени паршивости, плагин для Mozilla, виджет для Оперы, и читалка в онлайне (см. далее).
Для Сафари плагина не нашел, но в айфоне Сафари читает книжки из веба по протоколу epub://, значит скоро и на десктопе будет поддержан.
DRM тоже как-то предусмотрен, но я в подробности не вдавался.
Книжки в таком формате уже довольно популярны. На epubBooks.com, можно взять бесплатных книг и поиграть с ними. O’Reilly широко использует этот формат для своих книжек. У Гугла есть поиск по книгам, где также ищутся книги в этом формате.
Книжку можно собрать, как руками из нужных файлов (т.е. своей программой:), так и с помощью бесплатного кросс-платформенного редактора Sigil. Кроме того Adobe Indesign, также поддерживает этот формат, а из документов офиса можно получить epub через конвертор Callibre.
Звучит неплохо.
Теперь про читалки для десктопа.
Adobe Digital Editions
Ридер бесплатный.
Я его сейчас ставить не стал, т.к. я им немного пользовался. Он на флеше, по ощущениям неуклюж, по отзывам верстка там едет (хотя редеринг сделан на WebKit).
Вот описание его глюков от конкурирующей фирмы:
Adobe Digital Editions Quirk
Calibre
www.calibre-ebook.com
Open Source, Кросс-платформенный.
Читалка и конвертилка практически из любого формата в любой. CHM не умеет.
Рендеринг — WebKit. На вид приятен и опрятен.
Может сделать epub из архива с html, но перепутает порядок файов и вложенность, т.к. нет xml-файла с оглавлением.
Показывает хорошо, но на больших длинных файлах fb2 тормозит безбожно. И вообще немного задумчив.
Позволяет закачивать выкачивать книги из мобильных девайсов (не проверял).

Lexcycle Stanza
www.lexcycle.com
Куплен Амазоном
Использует уже знакомый нам рендеринг WebKit. Работает на айфоне и десктопе. Умеет конвертить epub в формат Kindle.
Мне не понравился, тем, что не отображает слева разделов содержания, этот момент мне очень нравится в CHM.
Mobipocket
www.mobipocket.com
Еще один купленный Амазоном проект. Умеет читать EPUB, поддерживает свой формат, также представляющий собой архив с html+дополнительная информация. Свободно конвертирует между этими двумя форматами.
Работает на очень большом количестве карманных читалок.
Не работает на Линукс и Мак.
Формат mobipoket читается упомянутыми Stanza и Calibre, а также Okular
На десктопе также не показывает оглавление, что для меня является приговором.
Okular
http://okular.kde.org/
KDE-универсальная читалка. Читает буквально все — DJvu, CHM, PS, PDF, EPUB, FB2
болшой скриншот
bookworm
http://bookworm.oreilly.com/
Онлайновая читалка от O’Reilly. Регистрируешься и можешь закачивать книги. Потом можно читать. Выглядит красиво.
OpenSource, написана на С и Python, живет на googlecode.

EPUBReader
https://addons.mozilla.org/en-US/firefo
Плагин для Огнелиса. В замен устаревшего OpenBerg Lector.
Выглядит также весьма опрятно.

Opera Ebook reader
http://widgets.opera.com/widget/10312/
Виджет для Оперы. Читает вроде норомально, но оглавление показывает пулапрозрачно с заездом на текст, так, что после выбора главы, его надо отключать.

**************************************************************