Искусственные мухи

Вот это да! Искусственный рой пчёл практически! Выглядит то как красиво!

Красотень!

Обновление ПО "МС2" - с версии 2.1.5.1 до 2.1.5.2

1: Добавлена проверка связи с сервером С-Маркет.
2: Добавлена возможность работы со старыми версиями С-Маркет на старом Interbase без поддержки EXECUTE BLOCK.
3: Исправлена ошибка при файловой загрузке из Домино.
4: Исправлена ошибка возникшая при изменении VIEW_EXPORT при выводе сличительных ведомостей.
5: Добавлен механизм работы с мягкими чеками.

( Читать дальше )

Как не стоит поступать в супермаркете.

Одному парню запретили появляться в супермаркете потому что он:

15 июня: Взял 24 упаковки презервативов и разложил их в корзины других покупателей, пока те не видели.
2 июля: Установил все будильники в отделе товаров для дома так, что они звонили с 5-минутным интервалом.
7 июля: Сделал дорожку из томатного сока, ведущую в туалет.
19 июля: Подошел к сотруднику магазина и официальным тоном заявил ей: «Код три в отделе товаров для дома». Наблюдал за реакцией.
4 августа: Просил у администратора оформить покупку пакета M&M в рассрочку.
14 сентября: Передвинул предупреждающий знак «Осторожно. Мокрый пол» в зал с ковровым покрытием.
15 сентября: В отделе туристических товаров поставил палатку и приглашал остальных покупателей зайти к нему, если они захватят с собой подушки.
23 сентября: В ответ на предложения сотрудников помочь в выборе товара начинал плакать и кричать «Люди, почему бы вам просто не оставить меня в покое».
4 октября: Смотрел в видеокамеры наблюдения, делал вид, что смотрится в зеркало и ковырял в носу.
10 ноября: В отделе огнестрельного оружия спрашивал у продавца, где можно купить антидепрессанты.
3 декабря: Носился по магазину, подозрительно громко, напевая музыкальнуютему из кинофильма «Миссия невыполнима».
6 декабря: В отделе автомобильных запчастей изображал Мадонну, используя воронки разных размеров.
18 декабря: Прятался в стоках с одеждой и пугал покупателей криками «Выбери меня, Выбери меня».
21 декабря: Услышав объявление по громкой связи в зале магазина, принял позу эмбриона и закричал «О нет. Снова эти голоса!»
23 декабря: Заперся в примерочной кабинке и спустя некоторое время громко кричал: «Здесь нет туалетной бумаги!

С наступающим 2012 годом!


Пусть он принесёт вам много радостных событий!

( Читать дальше )

Стив Джобс и компания Next - 1986 год

Интересный короткий документальный фильм о Стиве Джобсе и о его компании Next. Сейчас то уже известно чем всё кончилось.

Получаем программно серийный номер на ТСД Cipher 9300

Публикация в дополнение вот к этой: Программируем лазерный считыватель на терминалах сбора данных Cipher (9300).

У терминалов сбора данных Cipher с Windows CE — есть одна особенность, в отличие от всех других ТСД (во всяком случае Motorola(Symbol) и Datalogic) стандартными способами получить серийный номер не получится. Получить то он получится — но будет на всех устройствах одинаковый, что лично меня не устраивает.

Однако этот глюк можно обойти и получить серийный номер при помощи API с библиотекой SystemApi_Ce_Net.DLL которая поставляется на диске с терминалом.

Ниже маленький примерчик кода — как это сделать:
using Cipherlab.SystemAPI;


int err = 0;

DataType.DataStruct.SYSINFO sysinfo = new DataType.DataStruct.SYSINFO();
            
err = SystemAPI.Function.GetSysInfo(ref sysinfo);

string serial = Encoding.UTF8.GetString(sysinfo.SerialNum,0,sysinfo.SerialNum.Length);

Полагаю комментарии излишни, и так всё достаточно просто и понятно.

Удаление временных таблиц в MSSQL

Иногда возникает необходимость, в ходе работы процедуры, удалить временно созданную таблицу которая может быть либо создана либо нет, тогда не достаточно просто написать например drop table #myTempTable — потому что в случае если таблицы не существует то запрос не выполнится и выдаст ошибку. Пример ниже показывает как правильно удалять временные таблицы в таком случае:
if exists (
	select * from tempdb.dbo.sysobjects o
	where o.xtype in ('U') 

	and o.id = object_id(N'tempdb..#myTempTable')
)
BEGIN
  DROP TABLE #myTempTable; 
END

Примеры процедур, для минимизации кода при работе с БД в Delphi.

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

Теперь о том, как я делал давным давно и как (к моему удивлению) многие программисты делают до сих пор.

Ох уж эти базы данных, чего может быть проще, кинул на форму DBGrid, Connection, Query или Table, DataSource, связал всё это хозяйство и работает — Красота!.. Только если этих таблиц много и выборки очень разнообразны (даже в случае когда мы всё вынесем на отдельную формочку) получится жуть в которой очень легко запутаться и это только на форме, в то что творится внутри кода и заглядывать страшно — бардак.

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


( Читать дальше )