Инфокиоски в магазине - какими их вижу я.

Инфокиоски - какими их вижу яДумаю многие замечали что в некоторых магазинах, где нибудь в углу или на стене, иногда висит небольшое странное устройство со считывателем штриховых кодов. Подходишь к этому агрегату показываешь ему штрихкодом товар а он тебе цену говорит. Спору нет — вещь ценнейшая и полезная, но мало кому нужная. Бабульки ей вряд-ли умеют пользоваться, взрослым обеспеченным людям без разницы стоит этот батон на 5 рублей дороже или дешевле — большинство вам ещё бы 5 рублей заплатили сверху, только бы в очереди на кассе не стоять.
Вот здесь я начал размышлять, а каким бы я сам хотел видеть это устройство? Каким функционалом оно должно обладать, чтобы заинтересовать меня, как рядового посетителя магазина?

Итак, первое:
Устройство должно быть современным, обладать тачскрином, показывать мне нужную информацию — о промо акциях, скидках на товары, вот тогда я бы обратил на него внимание.
Читать дальше →

Программируем лазерный считыватель на терминалах сбора данных Motorola (Symbol)

Программируем лазерный считыватель на SymbolДавно хотел написать такое руководство к действию, но как-то всё руки не доходили, и вот наконец написал, всего делов то было…
Любители впихнуть везде и всюду 1С-ку (даже на терминал) с использованием DataWedge (это такая утилита для отправки того что считал сканер в буфер клавиатуры только специализированная для ТСД Symbol) могут дальше не читать, а заниматься и дальше тем что больше нравится. Обращать в свою веру никого не буду :).
Итак, что же я здесь продемонстрирую?.. Я приведу маленький пример того, как задействовать считывающее устройство на терминале сбора данных (Symbol Motorola) из вашего приложения, расскажу что для этого необходимо и приведу пример кода.
Читать дальше →

Многострочный ListView для .NET CF (описание, исходный код и пример работы).

Здесь я приведу описание основных свойств и методов компонента GraphListView.

Самое главное, как указать источник данных:
//1. Бросаем на форму GraphListView
//связываем компонент с данными и обновляем его.
graphListView1.GraphListDataSet = new DataSet();
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\dataset.xml";
//В данном случае источник данных загрузили из XML файла.
graphListView1.GraphListDataSet.ReadXml(path);

//Указываем наименование таблицы в источнике данных
graphListView1.DataTableName = "Table";
//Указываем наименование поля таблицы в котором передается значение
graphListView1.FieldValue = "ID_DOCHEAD";
//Указываем наименование поля таблицы в котором передается отображаемое наименование
graphListView1.FieldDisplay = "NAME";

//Количество строк в позиции, можно не указывать по умолчанию 2;
//Может принимать значение от 1 до 10;
graphListView1.RowCountByPos = 2;
//Цвет текста, можно не указывать по умолчанию Белый;
graphListView1.FontColor = Color.Red;

//Обязательная функция после применения всех обязательных параметров выше.
//Заполнит и отобразит Список.
graphListView1.RefreshList();

Читать дальше →

Многострочный ListView для .NET CF

Давно была необходимость в таком компоненте, и вот наконец дошли руки. Первая версия готова. Данный компонент, это ListView для мобильных устройств на базе Windiws Mobile в котором можно задавать количество строк в позиции (до 10 строк). Предназначен в первую очередь для современных устройств с большими экранами и довольно мощной аппаратной начинкой, но будет работать и на слабеньких устройствах с разрешением экрана 240X320, при этом ширина строк меньше но количество строк удваивается (для EGA — возможно только четное количество строк, задав 5 получите 10, задав 1 получите 2; 1,3 или 5 строк быть не может). В качестве фона используется произвольное изображение.

Скриншоты работы компонента:
GraphListViewGraphListViewGraphListView

Скачать компонент: GraphListView.rar

Читать дальше →

Программное добавление событий для элементов управления в C#

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

Пример будет получать источник данных в ComboBox, и по событию SelectedIndexChanged — будет выводить индекс выбранного элемента, вот это событие мы и создадим программно.

Итак приступаем:
DataSet ds = new DataSet(); //Создаем источник данных.
EventHandler handler; //Создаем делегат.

Читать дальше →

Спор о БАР-кодах

Раз тут и об автоматизации можно поговорить, вклад небольшой сделаю.

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

Итак — сформировать бар-код можно и в скрипте серверном этим не удивишь, но и прямо в браузере, для этого есть отличный плагин для jQuery BarCoder

Читать дальше →

Как заставить себя спроектировать БД

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

Волшебный пендаль творцы называют обычно красивым словом вдохновение. К чему тут в топике мускла я пишу о вдохновении? Да просто потому что процесс созидания новой схемы новой бд нового проекта у меня вызывает вполне ощутимую лень и небольшой трэмор перед стартом. Где ж брать вдохновение на создание БД, точнее структуры своей будущей БД. Я их беру вот тут Library of free data Models.
Возможно профи это ни к чему, но таким как я это часто просто необходимо — именно посмотреть как другие организовали свое хранилище для очень похожих задач.

Juniper Systems MESA Standard/Geo/Geo 3G - мобильное устройство повышенной надежности

На днях, бродя по интернету, наткнулся на интересный анонс мобильного компьютера от Juniper Systems MESA Geo 3G. Заинтриговал большой экран 5.7 дюймов, решил посмотреть характеристики на сайте производителя, и был неожиданно удивлён некоторыми из них. В особенности временем работы на одной подзарядке. Обещают от двух аккумуляторов (там есть два варианта с 1 и 2-мя аккумуляторами) время работы аж 16 часов. Ещё удивило наличие у новинки COM порта RS232, да ещё и с питанием 5 Вольт! Это открывает возможность использования специфического оборудования, например фискальных регистраторов ведь подавляющее большинство из них до сих пор работают через RS232. Ещё у устройства 2 USB порта, один только Client, другой Host. Теперь подробно о характеристиках устройства с картинками.

Устройство и его характеристики:
Juniper Systems MESA

Процессор
• 806 Mhz PXA320 Processor
Операционная система
• Microsoft® Windows Mobile® 6.5.3
Память
• 256 MB RAM
• 4 GB Flash Storage
• SD/SDHC слот, доступен пользователю
Дисплей
• Размер: 5.7" (145 mm) цветной VGA LCD (640 x 480)
• Подсветка LCD высокой яркости
• Портретная или альбомная ориентация
Читать дальше →