30 ноября 2009 г.

Игра «Крестики-Нолики»

В целях тренировки написал на Flash игру «Крестики-Нолики», со всякими наворотами.

Кому скучно - можете развлечься.

Играть!

4 ноября 2009 г.

Калькулятор - простой и удобный

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

Итак, первая работа - Калькулятор. Простой, с большими цифрами, с отображением содержимого памяти, с историей расчетов и другими приятностями. Написан на Flash, и работает прямо в окне браузера.

Благодаря большим цифрам может быть использован людьми с недостаточно хорошим зрением.

Пользуйтесь для собственной выгоды!

Начать использование.

Flash не сбрасывает фокус ввода (AS2)

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

Кроме того, в ролике есть много кнопок – которые можно нажимать НЕСКОЛЬКО РАЗ ПОДРЯД – каждое последующее нажатие выполняет полезную работу.

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

Попытки исследовать все это безобразие привели вот к чему.

При выделении текста динамическое текстовое поле получает фокус ввода. А при нажатии кнопки оно отдает его кнопке только на время, а после нажатия фокус ввода снова возвращается к текстовому полю.

Исследования проводились с помощью обработчика события onSetFocus – вот код, взял прямо из книги Д. Гурского:


Так вот, попытки снять выделение программно, с помощью кода


, почему-то не подействовало.

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

Но выход надо было найти, и он был найден.

Итак, был создан маленький невидимый клип, который расположен на рабочем пространстве в сторонке.

Затем было указано, что этот клип может получить фокус программно, и что он не будет участвовать в клавиатурном обходе по нажатию Tab. Ну а после этого написана небольшая функция dropFocus () – которая переводит фокус на данный клип, а потом просто убирает с него фокус в никуда.

Вот весь код:


После чего вызов данной функции был вставлен в начало обработчиков событий кнопок. И все заработало как положено.

Хотя, в чем причина того, что текущий фокус ввода не сбрасывается самостоятельно – непонятна. А данный способ решения проблемы – ну, немного кривой :)

Впрочем, проблема решена, а это главное.

 

1 октября 2009 г.

Как сделать, чтобы Flash-ролик не перекрывал другие элементы веб-страницы

Делая кое-какое задание на работе, столкнулся с проблемой – флеш-ролик, помещенный на страницу, начал перекрывать всплывающее меню (которое выводится с помощью блоков <div>, css и JavaSript. Выглядит паскудно – так что поискал, нашел и решил.

Но поскольку это – на работе, то вроде и показать нету как. Так что сделал и забыл.

Однако, как говорится «свежо предание». Захожу (опять же, по работе) на русский сайт компании Wacom – и на тебе, та же ерунда! :)

На этом сайте, на главной, стоит внедренное видео с YouTube. А оно, как известно, сделано на Flash.

И закрывает собой всплывающее меню.

Выглядит это безобразие вот так:

А решается очень просто.

В Flash IDE (Macromedia Flash, или Adobe Flash – какая у Вас там версия…), в окне настройки параметров публикации (Publish Settings, вызывается по Ctrl-Shift-F12), на вкладке HTML надо установить для параметра Windows Mode значение Opaque Windowsless (по умолчанию там стоит Window).

Вот так вот:

 

При публикации – уже с учетом данной установки – в html-файле, в теге <embed> появляется новый параметр  – wmode="opaque"

А в теге <object><param name="wmode" value="opaque" />

Так что можно и не делать повторную публикацию клипа, а просто вставить нужный параметр – в тег <embed>, или <object> (или в оба – что вы там используете; а если вы встраиваете Flash через JavaSript, то разработчики скрипта, по идее, должны были тоже предусмотреть смену данного параметра).

После того, как данный параметр вставлен, браузер начинает отображать все так, как и ожидалось с самого начала – никакие блоки <div> под Flash уже не прячутся.

28 сентября 2009 г.

Есть ли iPhone розового цвета?

Из серии "Отвечая на вопросы посетителей".

Итак, некоторых посетителей блога интересует вопрос:

Есть ли iPhone розового цвета?

Если кратко - нет.

Если развернуто:

Apple выпускает телефоны iPhone только двух цветов (имеется в виду цвет задней крышки телефона). Это белый цвет и черный цвет. Белые iPhone 3GS иногда розовеют - из-за того, очевидно, что там использован пластик с каким-то хитрым химическим составом, и при нагревании (от аккумулятора, который за этой пластиковой крышкой расположен), пластик вступает в реакции с различными телами (с чехлом, к примеру), и изменяет свой цвет. Эту "розовость" можно стереть жидкость, в которой есть спирт. (Лучше всего, конечно, обычным медицинским спиртом).

Если же Вас инетересует именно розовый iPhone - то есть, "гламурный" вариант, то можно либо купить себе силиконовый чехол розового цвета. К примеру, производства Luardi:

Ссылка, где можно его купить

Но вот вид у телефона в этом чехле какой-то "селянский".

Уж лучше тогда взять чехол iSkin Solo FX - он намного "гламурнее":

Ссылка, где можно купить

Либо же, можно купить виниловую наклейку на iPhone. К примеру, от того же производителя Luardi. Их много разных, однотонных там нету, но есть весьма неплохие. Вот, к примеру, с большим количеством красного цвета (розовых, увы, пока не наблюдая, но и красная выглядит очень гламурненько):

Ссылка, где можно купить

Ну а если все же кровь из носу нужен розовый однотонный цвет, то можно заказать у мастеров, которые делают роспись iPhone. Влетит,  конечно, в копеечку, зато будет нужный результат - эксклюзивный розовый iPhone.

Ускоряем работу в интернете

Сегодня расскажу о маленьком приеме, который позволяет сэкономить несколько драгоценных минут при активной работе в интернете.

Мне очень часто приходится выискивать в интернете различную информацию.

Разумеется, для этого я пользуюсь поисковыми системами – Яндексом и Гуглом.

Но вот когда мы переходим на страницу, предложенную поисковой системой, то тут – чтобы не терять времени зря – надо открыть окно поиска браузера (как правило – Ctrl-F), и уже самим браузером поискать то, что нам надо, на загруженной странице.

Здорово экономит время!

5 августа 2009 г.

Выбираем практичный мобильный телефон

Многих людей перед покупкой интересует – «какой телефон самый практичный».

Ну оно и понятно – не хочется ведь купить какую-то ерунду, чтобы через пару месяцев выбросить.

Но здесь надо определиться с термином «практичный».

Что именно Вы вкладываете в понятие «самый практичный мобильный телефон»?

Лично для меня, к примеру, это телефон, у которого надежная конструкция, крепкий корпус, весьма емкий аккумулятор. Плюс этот телефон должен быть удобным в использовании, с достаточно крупными клавишами.

Да и дизайн у него должен быть приличным – а то ведь стыдно будет перед людьми вытянуть. Ну и плюс чтобы там была фотокамера, карточку памяти можно было всунуть, интернет... Ведь если эти вещи не нужны именно сегодня, они могут понадобиться завтра – не покупать же ради модуля Bluetooth новый телефон.

В общем, понятие «наиболее практичный мобильный телефон» я бы выразил словами «телефон, у которого оптимальное соотношение цена / качество / характеристики».

Выбор фирмы

Перед тем, как выбирать телефон, лучше определиться с фирмой-производителем. Более-менее сносные телефоны научились делать уже все компании. Это как с компьютерными мониторами – когда-то, когда технологии были развиты слабо, нормальные мониторы выпускали только 2-3 фирмы. Те, которые имели собственные технологические разработки. Как Sony, например, с ее кинескопом Black Trinitron. А остальные – наподобие Daewoo, выпускали такой хлам, за которым даже сидеть не хотелось...

Но и сейчас, хотя технологии развиты, одни фирмы выпускают телефоны получше, другие – похуже.

Причина проста – кто дольше на рынке, тот лучше разбирается в своем деле. Компания, которая выпускает телефоны еще со времен дисковых аппаратов, имеет намного больше опыта. Ну и плюс, она постоянно развивает новые технологии. А новички – они либо покупают эти технологии, либо только начинают доводить свои разработки до приемлемого уровня.

Но перейдем к практической части.

Из фирм производителей стоит отметить шесть:

1. Apple 2. Sony Ericsson 3. Nokia 4. LG 5. Samsung 6. Siemens

Apple выпускает неплохую технику. Но во многом она имеет вау-эффект, и не очень хорошо подходит для интенсивной эксплуатации. По своей функциональности ей трудно найти равных, но при этом – дерут в три дорога! Или даже в четыре...

Sony Ericsson. Вначале это были телефоны компании Ericsson. Истоки этой шведской коммуникационной компании восходят еще к 1876 – и с того времени у нее всегда была крайне качественная продукция. Но затем... Затем отделение мобильных телефонов Ericsson слилось с корпорацией Sony. Очевидно – для расширения рынков сбыта и покорения новых маркетинговых высот. Аппараты, которые они выпускают, весьма хорошего качества, с оригинальным дизайном, неплохой функциональностью. Но, опять таки, они направлены скорее на молодежный сегмент, да и по отношению «цена / качество / функциональность» далеки от совершенства.

LG и Samsung. Трудно удержаться от улыбки, но их продукция пока что далека от совершенства. Уж очень небольшое время эти компании на рынке мобильной телефонии. Это новички.

Siemens. Вначале делала очень надежные телефоны. Причина тому – Siemens выполняет еще и военные заказы. И военную надежность они перенесли на телефоны. Но после того, как подразделение мобильных телефонов было продано Benq (точнее, материнской компании Acer), от былой военной надежности осталось только громкое имя.

И, наконец, Nokia. Я специально оставил ее напоследок, поскольку Nokia, в настоящий момент – лучший из производителей мобильников. Причем лучший именно с точки зрения потребителя.

Эта компания производит коммутационное оборудование уже более 40 лет – и вот именно поэтому ее телефоны надежны в каждой детали. Кстати, ее телефоны надежны даже в том случае, если они собраны не в Финляндии (где и расположена штаб-квартира Nokia), а где-то на Тайвани.

К слову, не стоит полагать, что тайваньская сборка никуда не годится. Если это телефоны Nokia, то в Тайване они собираются на заводе Nokia, по утвержденному самой компанией техпроцессу, и с должным уровнем контроля качества.

Впрочем, если хочется супер-качества, то перед покупкой можно снять заднюю крышку, вынуть аккумулятор, и посмотреть на наклейку с маркировкой. И если там написано «Made in Finland» - то вот оно, счастье :) – оригинальная финская сборка!

Кстати, Nokia владеет 70% всего мирового рынка мобильных телефонов. И не потому, что она вышла на рынок раньше других компаний - а потому, что ее телефоны имеют хорошее соотношение "цена / качество / функциональность". Что, кстати, подтверждается отзывами самих пользователей телефонов. (пару отзывов приведу ниже)

Итак, мое предпочтение в выборе производителя – Нокиа. Почему – написал выше.

Теперь к выбору модели

Наиболее практичны, как показывает опыт, моноблоки. И из всех моноблоков, по дизайну, функциональности, удобству и цене в настоящий момент ярко выделяется только один.

Это Nokia 6300. Очень практичный мобильник. Функционально вполне соответствует современным требованиям, при этом корпус у него из нержстали, весьма объемный аккумулятор, цена не кусается, а еще... Впрочем, это уже похоже на рекламу.

Но телефон именно таким и получился – без всяких видимых недостатков. Критиковать там особо нечего. По сравнению с другими – с моделями самой Nokia, не говоря уже о других производителях, - у него оптимальное соотношение «цены / качества / функциональности».

Отметим, что у Nokia 6300 есть преемник – Nokia 6700. Тоже очень достойный телефон, но... Он дороже чуть ли не в четыре раза! О какой практичности может идти речь?

И под конец – несколько отзывов пользователей.

------

Отзыв с сайта allo.ua:

skrim Погода назая я уронил свою N6300 в ведро с водой ))) но он работает до сих пор ))

Отзыв с сайта mobilearsenal.com.ua:

Niger Поменял два дня назад своего любимца - 8800 (батарея очень достала) на 6300. И понял, что я не то любил. 6300 – дизайн у него просто бомба (стоит только в руки взять); функциональность – тоже бомба (вы уж простите за тавтологию). Ну батарея - после 8800 кажется, что там аккумулятор стоит от джипа :). Рекомендую мужчинам. И не комплектуйте, что 6300 стоит в два раза дешевле чем 8800.

------

SotMarket.Ru

Когда же iPhone 3GS появится в России?

Начало продаж (официальных продаж) iPhone 3GS в Росии было запланировано на август 2009 года.

Однако...

Печальные новости

Как сообщает деловая газета РБК daily, начало поставок iPhone 3GS в Россию может быть задержано. На неопределенный срок.

Причина проста. "Большая тройка" - то есть три ведущих мобильных оператора, МТС, Вымпелком и МегаФон - не смогли пока договориться с Apple за нормальные условия реализации iPhone 3GS.

В Америке этот телефон продается по цене 199 дол. за модель 16 ГБ, и 299 дол. за модель 32 ГБ.

Для России же Apple установила закупочную цену на iPhone 3GS на уровне примерно 550 евро. И это еще не включая НДС и таможенных сборов. Вместе получается, что только закупочная цена составит порядка 750-760 евро. В результате iPhone 3GS будет стоить покупателю за 30 тыс. руб.

Но как показала практика продаж iPhone 3G, при таких цена аппараты раскупаются очень неохотно.

Так что "большая тройка" ведет активные переговоры, в попытках "выбить" из Apple какие-то более-менее реальные условия.

В противном случае, если договориться не удастся, то iPhone 3GS может и вовсе не продаваться на территории РФ.

И новости получше

Впрочем, на такие они уж и новости. Телефон iPhone 3GS все же можно купить в России. Как и полностью "серый" - так и "полусерый". Полусерый можно взять в Сотмаркете, по цене в 45 тыс. руб., с гарантией (не фирменной, конечно, но от самого магазина - а он на рынке давно, так что его гарантия кое-что да значит).

Вот такие вот новости...

Купить iPhone 3GS в России

29 июля 2009 г.

Удаленный помощник в Windows XP (забавное)

Расскажу-ка я Вам забавный случай из своей практики. Да и не только забавный, но еще и свежий - поскольку произошло все прямо сегодня.

Кстати, рассказ поленый - поскольку пригодится в будущем. (Практическая часть - в самом конце.)

Итак, погнали.

Одному моему хорошему знакомому понадобился на компьютере Excel. Но компьютер он знает не очень хорошо - скачав какой-то дистрибутив из интернета, толком его установить он так и не смог.

Тогда я дал ему диск, на котором был Microsoft Office.

С ним у него тоже получились нелады. Я попробовал было описывать через Скайп, что и как запускать, но быстро понял, что дело это бесполезное.

Тогда - опять таки, через Скайп - я попробовал описать ему как активировать Удаленный помощник в Windows XP. Чтобы подключиться к его компьютеру самостоятельно, и самому все поставить и настроить.

Однако и тут дело далеко не продвинулось. Чтобы воспользоваться функцией Удаленный помощник, надо отправить приглашение - тому, кто будет помогать. А приглашение отправляется либо через сервис MSN (Windows Messenger), либо почтой через Outlook Express. Messenger, понятное дело, ни у него ни у меня не настроен - да я пока и не встречал людей, которые им пользуются. Но на беду, и Outlook у него не был настроен - он пользуется почтой напрямую через сайт Gmail.

Все, что удалось сделать через Скайп - рассказать ему, как включить удаленное управление Рабочим столом, и получить текущий (динамический) IP-адрес его компьютера в интернете.

И этого оказалось достаточно.

Попросив у него имя учетной записи и пароль, я подключился к его компьютеру через сервис терминалов. И получил полное управление компьютером - что мне и надо было. Правда, после этого подключения у моего знакомого потух экран, и выскочило окно входа в систему - что и понятно, поскольку я вошел в систему под учетной записью текущего пользователя. Он, видимо, немного опешил, и отключил соединение. Но после небольшого объяснения по Скайпу, он согласился на второй заход.

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

Но свое дело я сделать успел. В смысле, Офис поставить.

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

1. Чтобы можно было подключиться удаленно через сервис терминалов в Windows XP, надо чтобы такое подключение было разрешено. Включается оно так:

- на иконке Мой компьютер кликаем правой кнопкой мышки, выбираем "Свойства" - в появившемся окне переходим на вкладку "Удаленные сенсы" - в блоке "Дистанционное управление рабочим столом" устанавливаем флажок "Разрешить удаленный доступ к этому компьютеру" - нажимаем кнопку "ОК"

2. Нам потребуется узнать текущий IP-адрес данного компьютера. Посмотреть его можно в Свойствах активного сетевого соединения, с помощью которого компьютер подключен к интернету. Там он прописан как "IP-адрес клиента". (Само собой, если компьютер находится за брендмауэром, который делит интернет для нескольких ПК в локальной сети, то данный метод не пройдет. Увы.)

3. Нам надо будет получить от пользователя его имя учетной записи и пароль.

4. Запускаем программу "Подключение к удаленному рабочему столу" (чтобы ее запустить, пройдите в Пуск - Все программы - Стандартные - Связь).

5. В этой программе вводим полученный нами IP-адрес, имя пользователя и пароль.

6. Несколько секунд (или минут - все зависит от пропускной способности Вашего/его каналов) - и перед Вами его рабочий стол. И полное управление компьютером.

А у него перед глазами - окно входа в систему :)

Дальше - делаете все что надо (но только чур - не пакостить! ;)

P.S. После завершения удаленного сеанса не забудьте сказать Вашему протеже, чтобы отключил возможность удаленного управления компьютером (клик правой клавишей мышки на иконке Мой компьютер, Свойства, вкладка Удаленные сеансы и т.д.)

А то мало ли, хакеров сейчас много, пароли у людей слабые, всякое может случиться.

27 июля 2009 г.

Если Вы любите Маки и iPod, то можете здорово сэкономить

Наткнулся на крайне интересную вещь.

Компания re:Store (Москва + магазины по всей России) проводит какую-то бешеную распродажу - http://www.re-store.ru/sale/

Не знаю, что у них случилось, но некоторые товары отдают буквально по закупочной цене.

К примеру, можно купить себе неплохие наушники Griffin для плеера всего за 300 руб. Или взять профессиональные наушники AKG за 3-4 тыс. руб.

Распродажа там действительно серьезная, это не какие-нибудь 20% скидки.

Причем в распродажу попали и Маки (есть iMac, Mac mini и пара ноутбуков MacBook), и плеера iPod. Так, можно купить себе iPod nano 3-го поколения на 8ГБ за цену, которая сравнима с ценой iPod shuffle 4 ГБ последнего поколения. Причем у nano  - цветной экран, и просмотр фото и видео, а у "шафла" даже экрана нету.

Ну и еще у них в распродаже куча чехлов для iPhone и iPod, сумки и чехлы для ноутбуков, и россыпь адаптеров, кабелей и переходников.

В общем, если Вы любитель техники Apple, то Вам определенно стоит посмотреть - вдруг найдете что-то полезное, да еще и за смешные деньги. К примеру, как рюкзак для ноутбука от Brenthaven за 990 руб. - который иначе как за 3,5-4 тыс. руб. ну никак не найти.

В общем, взгляните,  - http://www.re-store.ru/sale/

P.S. И если Вы вдруг знаете кого-то, кто был бы рад воспользоваться этой распродажей - перешлите ему ссылку, пожалуйста. Купить по дешевке хорошую вещь - не такая уж и частая удача. Так что не стоит жадничать - поделитесь! И Вам воздастся :)

26 июля 2009 г.

Пару слов о взломе iPhone 3GS

Для всех страждущих - кто уже имеет iPhone 3GS, и хочет сделать ему jailbreak. Зачем? Ну как зачем, чтобы ставить любое ПО. К примеру, Вы хоте закачать на свой iPhone 3GS пару гигабайт "клубнички", а у Apple с этим делом строго.

А так - взломали, и можно ставить любое ПО через Cydia.

Только помните, что взлом iPhone 3GS ведет к потере официальной гарантии!

Итак, iPhone 3GS работает под управлением iPhone OS 3.0. Для этой системы есть уже два решения по взлому.

Первое - от юного хакера, которому то-ли 20, то ли 19 лет.

Занимает его чудо-утилита всего 500 КБ. Называется purplera1n. Есть версия под Windows XP /Vista, и под Mac OS X.

Скачать (разумеется, бесплатно) можно с сайта http://purplera1n.com/

Для работы требует iTunes 8.2 и выше, ну и сам iPhone 3GS.

Вот ссылка на инструкцию по использованию (на сайте автора, на английском, но думаю, что никаких проблем не возникнет).

Отмечу, что данная утилита производит только взлом программной части - никих отвязок от мобильного оператора она не делает.

Второй вариант - от команды хакеров Dev Team.

Они предлагают две утилиты, одну для взлома (redsn0w), вторую для отвязки от оператора (ultrasn0w).

Все это добро можно найти по ссылкам со страницы блога команды, посвященной взлому iPhone 3GS.

Еще раз напоминаю, что взлом влечет за собой потерю фирменной гарантии на iPhone 3GS. Так что подумайте дважды - а оно Вам надо?

P.S. С вопросами касательно деталей взлома ко мне прошу не обращаться.

25 июля 2009 г.

И еще раз о новом iPhone 3GS

И снова плохое :)

Как указал один из западных экспертов по безопасности Джонатан Здзиарски (Jonathan Zdziarski), в iPhone 3GS не все в порядке с шифрованием данных.

Внутри этого телефона, если Вы не в курсе, стоит аппаратный кодер/декодер, который шифрует всю информацию по 256-битному алгоритму AES 256.

И оказывается, пользы с этой микросхемы немного. Если кто-то укрдет Ваш iPhone 3GS, то установив на него SSH-клиент, и создав SSH-туннель, он сможет спокойно скачать образ диска iPhone на компьютер. Со всеми личными данными - контактами, номерами кредиток и что еще там будет записано.

Причем, после установки SSH-туннеля крипто-чип AES 256 начинает сам расшифровывать всю информацию с iPhone 3GS, без всяких телодвижений со стороны злоумышленника.

Вот такая вот безопасность...

Но Apple, будем надеяться, прикроет эту дыру.

Ну и о других вещах, связанных с iPhone 3GS.

Интересные факты. Телефоны iPhone 3GS собирают в Китае, на фабриках компании Foxconn. Комплектующие для iPhone 3GS производят на Тайвани. Что в нем американского? Разработали его в Америке, вот что. Ну и еще ПО в Америке написали. (Хотя, это тоже под большим вопросом. Часть iPhone OS 3.0, скорее всего, написана программистами самых разных стран - от Индии до Румынии. В рамках аутсорсинга. Ведь так для Apple намного дешевле.)

Вас может удивить - что это я все плохое да плохое про iPhone 3GS? Неужели это настолько паскудный телефон?

Отнюдь.

Если сравнивать его с другими телефонами, то:

- более дорогие, класса "люкс" - те же Vertu, к примеру - стоят от 5 тыс. евро, а предлагают очень ограниченную функциональность. Зато корпуса у них из редких сортов кожи и золота или платины. Понты, короче говоря :) Но понты очень качественные.

- если брать самые современные модели от Nokia - скажем, Nokia N97 - то они хоть и дешевле, но беднее в функциональности, и под них нет столько ПО, как под iPhone 3GS. Да и по удобству использования (т.н. юзабилити) они сильно проигрывают.

- если сравнивать со схожими аппаратами от Samsung и других компаний... Нет, лучше не сравнивать, поскольку схожие аппараты являются обычными клонами с iPhone 3G - то есть, предыдущего поколения iPhone 3GS

Так что если посмотреть объективно, то iPhone 3GS вообще можно назвать лучшим в мире телефоном.

Но ведь это скучно. И Вас наверняка интересуют недостатки и особенности iPhone 3GS, а не его нахваливания.

Кстати, если Вы вдруг не знали, то официальное начало продаж iPhone 3GS в России назначено на 9 августа 2009 года. Точные цены пока неизвестны.

Однако, что касается начала продаж, то могут быть задержки. Недавно главный операционный директор Apple Тим Кук сказал, что спрос на новые iPhone 3GS столь велик, что компания не успевает производить их в нужном количестве. И что старт продаж в других странах может быть задержан на неделю-вторую. Но Apple постарается, чтобы продажи все-таки начались в запланированные даты.

А тем временем магазин СотМаркет (наш, родной, русский) сбросил цену на iPhone 3GS 32 ГБ c 85 тыс. руб. до каких-то 45 тыс. руб. И все так же обещает, что телефон придет под заказ через 2-3 дня.

Так что цена уже вполне нормальная, можно покупать.

Но вот что интересно. Откуда СотМаркет берет телефоны?

Купить iPhone 3GS в России

Отправка писем с сайта через PHP

Часто приходится реализовать отправку письма прямо с сайта. Ну, чтобы пользователь мог написать Вам сообщение прямо на страничке Вашего сайта, не используя почтовую программу.
Сделать такую отправку несложно. Для этого необходимо, чтобы Ваш хостинг поддерживал PHP.
Собственно отправка письма осуществляется одной командой PHP:



mail (<на какой почтовый адрес отправить>, <тема (название) письма>, <тело письма>, <заголовки сообщения>)
Разумеется, для отправки на страничке надо нарисовать форму – в которой будут поля для самого сообщения, имени пользователя и его e-mail (Вы ведь хотите знать, кому отсылать ответ :)
Итак, предположим что у нас есть форма (а создать ее действительно несложно), на которой имеется три текстовых поля:
- email – для почтового адреса пользователя
- fio – для его ФИО, или просто для имени
- data – для тела сообщения
Поле для темы письма я специально упустил. Ведь обычно написать тему письма человека заставляют именно разработчики сайта; хотя тема, по сути, не нужна – ведь в сообщении пользователь уже и так написал все, что хотел. В общем, отсутствие темы – это хорошее юзабилити, а саму тему письма можно сформировать программно из тех данных, что ввел пользователь.
Итак, у нас есть веб-форма с необходимыми полями, и мы передаем из нее данные при помощи метода POST.
Теперь обработаем эти данные с помощью PHP, и отправим письмо.
Простейший PHP-скрипт для отправки письма будет выглядеть следующим образом:


<?php
if (mail("test@gmail.com", "Письмо с сайта от $name", $_POST['data'], "From: $email"))
{
echo "Спасибо за отправленное сообщение.";
}
else
{
echo "Извините, но из-за технических проблем письмо отправить не удалось.";
}
?>


Вкратце разберем этот скрипт.
Команда if позволяет нам среагировать на отправку. Если все нормально, и письмо отправлено – мы выведем пользователю сообщение, что письмо отправлено.
Если вдруг возникли проблемы – напишем, что письмо не отправлено. Это, кстати, тоже хорошее юзабилити – а то бывает, что на некоторых сайтах после отправки письма тебя сразу перебросят на главную – и ты толком не понимаешь, то ли твое письмо ушло по назначению, то ли отправилось в мусорную корзину.
Теперь о строчке


mail("test@gmail.com", "Письмо с сайта от $name", $_POST['data'], "From: $email")
- В первом параметре задан адрес, на который отправится письмо.
- Во втором параметре сформирован т.н. тема письма – то есть строка, которая в почтовом клиенте отображается в поле Subject.
- В третьем параметре передается непосредственно тело письма – то есть само сообщение.
- В четвертом параметре формируется служебный заголовок. Вообще-то служебный заголовок может быть не один – но здесь мы просто сформировали строку, в которой прописан обратный почтовый адрес отправителя.
Отмечу, что приведенный код работает – но подходит он далеко не всегда.
Если письма, отправленные таким методом, будут приходить Вам на Gmail – то все нормально, Gmail будет их отображать корректно.
Если же эти письма будут приходить в почтовую программу, то скорее всего возникнет проблема с кодировками. И в почтовике письма будут отображаться «кракозябрами» – а Вам каждый раз придется подбирать правильную кодировку (ну а заголовок письма вообще никогда не будет перекодирован правильно).
(Если Вас интересует, почему Gmail все отображает корректно – то все просто. В нем встроены весьма интеллектуальные алгоритмы декодирования – и они самостоятельно проводят декодирование для каждого письма. В большинстве почтовых программ таких алгоритмов нет – и если в письме кодировка не указана в явном виде, то ее надо подбирать вручную.)
Но пойдем дальше.
Чтобы в почтовой программе все отображалось как положено, нам надо перед отправкой письма провести ряд перекодировок.
Во-первых, надо грамотно закодировать текст письма, а также явно указать кодировку. Во вторых, надо закодировать заголовок, который отображается в поле Subject. (Не буду сильно вдаваться в детали, но так уж повелось, что заголовок кодируется ОТДЕЛЬНО от тела письма.)
Ну что ж, приступим (ниже приведен готовый к использованию код, так что если не хотите разбираться в деталях, можете сразу перейти к нему).
Как правило, веб-странички на русском оформляются в кодировке CP-1251 (русская кодировка Windows). А почтовые письма ходят в кодировке KOI8-R.
Для перекодировки используем всего одну функцию:
convert_cyr_string (<текст, который надо перекодировать>,w,k)
Где w и k – это задание кодировок, то есть «из CP-1251 в KOI8-R».
Что касается кодирования заголовка письма, то заголовок должен кодироваться по-особому, в т.н. MIME-кодировке.
Для перекодирования в MIME-кодировку используется функция
base64_encode(<текст, который надо перекодировать>)
Надо отметить, что при кодировании заголовка надо явно указать кодировку, из которой было проведено перекодирование. Ниже, в рабочем коде, все это уже проделано.
Итак, рабочий код, который отправляет письма с сайта с помощью PHP:

<?php
/*формируем переменные, которые содержат данные, полученные с html-формы*/
$email = $_POST['email'];
$name = $_POST['fio'];
$to = "test@gmail.com"; // адрес, куда слать письмо
// формируем Тему письма
$subject = "Письмо с сайта от $name";
// Конвертируем ее в кодировку KOI8-R
$subject = convert_cyr_string ($subject,w,k);
/* А теперь конвертируем ее в MIME-кодировку, заодно указывая, то это KOI8-R */
$subject = '=?koi8-r?B?'.base64_encode($subject).'?=';
// Конвертируем тело письма в KOI8-R
$msg = convert_cyr_string ($_POST['data'],w,k);
/* Составляем заголовки – служебную часть письма, где указываем тип кодировки и тип самого письма (plain text, т.е. простой текст) */
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/plain; charset=koi8-r' . "\r\n";
$headers .= 'To: '.$to. "\r\n";
$headers .= 'From:' .$email. "\r\n";
// Отправляем письмо
if (mail($to,$subject, $msg, $headers))
{
echo "Спасибо за отправленное сообщение.";
}
else
{
echo "Извините, но из-за технических проблем письмо отправить не удалось.";
}
?>


P.S. Если Вы – новичок в PHP, но понимаете, что знание этого языка может Вам здорово помочь при создании сайтов (а оно точно может – уж поверь на слово!), то могу порекомендовать Вам неплохой курс Евгения Попова.
Называется «PHP+MySQL для начинающих». В видео-формате, с толковыми объяснениями и примерами. Для новичков – самое то. Да и стоит немного – всего 1800 руб. Хорошая штука, полезная.

P.P.S. Если вдруг возникли какие-то проблемы, или что-то непонятно – пишите в комментариях.

Как преобразовать файл .xlsx в .xls

Извините за длительное молчание, было много работы.

Сегодня продолжу тему, начатую в предыдущем посте, и расскажу, как преобразовать файл .xlsx в .xls.

Капля теории. Файл с расширением .xlsx - это электронная таблица, созданная в Microsoft Excel 2007. Этот файл представляет собой бандл (то есть что-то типа папки), в котором находится много файлов xml - а в них содержится оформление таблицы, данные таблицы и другие необходимые (для Excel 2007) данные.

Чтобы открыть файл .xlsx без Excel 2007, в более старых версиях MS Office, можно воспользоваться описанным ранее Пакетом обеспечения совместимости MS Office 2000-2003 с MS Office 2007 (27 МБ, бесплатный, детище самого Microsoft).

Либо же, можно сконвертировать (преобразовать) файл .xlsx в файл .xls - который открывается предыдущими версиями Excel.

Бесплатных программ-конверторов пока не нашел (да и не прижало особо, чтобы их искать), но есть хороший бесплатный онлайн-сервис.

Вот его адрес - http://www.zamzar.com/

Работает довольно просто:

Шаг 1. Выбираете на диске нужный Вам файл .xlsx (или файлы), что Вы хотите сконвертировать. Ограничение на размер - 100 МБ (впрочем, если Вы оперируете такими объемными файлами, то Вам лучше будет скачать и установить упомянутый выше "Пакет совместимости").

Шаг 2. Выбираете формат, в который будет проведена конвертация. Можно .xls, можно .csv (текстовый файл, в котором данные разделены точкой с запятой - тоже открывается в Excel).

Шаг 3. Вводите свой адрес электронной почты - на него придет ссылка, по которой можно будет скачать переконвертированный файл.

Шаг 4. Нажимаете кнопку Convert ("Преобразовать").

Через 5-7-10 минут в Ваш почтовый ящик упадет письмо со ссылкой для скачивания преобразованного файла. Ссылка активна в течении 24 часов.

Сервис проверен, работает хорошо. Вот только задержка в 5-7-10 минут не очень радует - не спешат они обслуживать наши запросы :)

Впрочем, чего придираться к бесплатному сервису?

P.S. И еще - заметил, что OpenOffice свободно открывает файлы .xlsx. А затем эти файлы можно сохранить в формате .xls, для обработки в Excel. Так что если у Вас есть OpenOffice одной из последних версий, то конвертор .xlsx в .xls Вам не нужен.

14 июля 2009 г.

Как преобразовать документ .docx в .rtf

Сегодня по работе пришлось иметь дело с файлами .docx.

Это, как Вы наверное знаете, обычные документы, созданные в Microsoft Word 2007. Точнее, это бандлы (наборы файлов) - внутри которых лежат xml-файлы.

Но сейчас это неважно.

Самого Microsoft Office 2007 у меня нет (соответственно, нет и Word 2007). Да он мне и не нужен. У меня Office XP.

Но поскольку файлы .docx открыть все таки надо, пришлось что-то придумывать.

И вариантов 2:

1) Microsoft выпустила бесплатный Пакет обеспечения совместимости MS Office 2000-2003 с MS Office 2007

Он предназначен для открытия, редактирования и сохранения документов Word, Excel и PowerPoint в формате... Ну конечно, MS Office 2007. То есть, для открытия тех самых .docx (и .xlsx).

Занимает этот "Пакет" 27 МБ, скачать его можно - бесплатно - с сайта Microsoft. Вот страница, с которой можно скачать данный пакет совместимости с MS Office 2007

Правда, как-то я его ставил, но так и не разобрался что к чему... Впрочем, тогда не было острой необходимости :)

Так что перейдем ко второму варианту

2) Существуют утилиты - или конверторы - файлов .docx

К слову, некоторые по незнанию пишут расширение .docx как "расширение .docs" или ".dokx". Разумеется, все это подразумевает только одно - формат .docx, который по умолчанию создает текстовый процессор Word 2007.

Но вернемся к теме. Чтобы открыть файл .docx без наличия Word 2007, вначале его можно конвертировать (т.е. преобразовать) в формат, который понимают более ранние версии Word или другие офисные пакеты.

Таким форматом является RTF - его понимают практически все более-менее серьезные программы для работы с текстом. 

И есть прекрасный конвертер .docx в .rtf.

Его выпускает компания NativeWinds LLC. Называется этот converter docx - ну кто бы мог подумать? NW Docx Converter!

Его можно скачать бесплатно, инсталлятор (точнее - простой архив с программой) - занимет всего 3 МБ. Исталляция как таковая не требуется. Просто распакуйте содержимое и запустите программу.

Прямая ссылка - скачать конвертор docx NW Docx Converter (3 МБ)

Если эта ссылка вдруг не работает, то вот страница, посвященная данному конвертору .docx - http://www.softpedia.com/get/Office-tools/Other-Office-Tools/NW-Docx-Converter.shtml

Можно скачать и с нее - там кнопочка Download.

Пару слов о работе с программой

Эта программа проста как грабли.

Нажимаете на кнопочку Select File... (на картинке ниже обозначена цифрой 1). Выбираете нужный .docx файл, и в центральном окне появляется его содержимое.

Затем нажимаете на кнопочку Save as... (на картинке обозначена цифрой 2) - и сохраняете Ваш .docx файл в нужное место уже в формате .rtf.

Ну а как и чем открыть RTF, думаю, Вы и сами знаете :) В Windows его откроет даже стандартная программа WordPad, в Mac OS X - TextEdit.

P.S. Если Вы по каким-то причинам пока-что не являетесь опытным пользователем компьютера, но хотите им стать - чтобы не тратить время на такую вот ерунду, как к примеру поиск способов преобразования docx в другие форматы - то советую Вам пройти какой-нибудь толковый обучающий курс. К примеру, курс "Уверенный пользвователь ПК".

В нем и про работу с программами всякими, и про установку и настройку Windows, и даже как собирать и разбирать компьютер. Аж на 3-х дисках курс. И стоит мелочь - каких-то 2500 руб. - как для того объема информации, что в нем подается, так просто ерунда а не цена.

Курс, правда, не моего производства - сам бы для Вас записал, честное слово. Да времени нету, работы по-уши!.. :(