5 июня 2012 г.

PySide 1.1.1

Наконецто появилась сборка 1.1.1 под Windows. На момент релиза этой версии на официальном сейте не имелось сборок для Windows и MacOS.
http://releases.qt-project.org/pyside/1.1.1/

2 мая 2012 г.

ActionLinq имплементация языка запросов LINQ для ActionScript.

Многие наверно читали или слышали про язык запросов LINQ.
Это чрезвычайно удобное средства обработки данных. По удобству использование не уступающий и иногда даже немного превосходящий старый добрый SQL. Собственно, почему я это пишу.
Несколько месяцев назад мне нужно было, как то сгруппировать и обработать данные в массиве внутри Flex ActionScript приложения. Но я не хотел обрабатывать объекты просто перебирая их в цикле. И я тогда нашел ActionLinq.
Итак, ActionLinq это практически полная имплементация языка запросов LINQ для ActionScript.
Вот простой пример
package
{
 import flash.display.Sprite;
 import System.Collection.Generic.IGrouping;
 import System.Linq.Enumerable;
 
 /**
  * ...
  * @author ami...[at]mail.ru
  */
 public class AcLinq extends Sprite
 {
  
  public function AcLinq()
  {
   var data:Array = [ { name: "Сергей", age: 20, city: "Москва" }, 
          { name: "Максим", age: 21, city: "Москва" }, 
          { name: "Володя", age: 25, city: "Минск" }, 
          { name: "Сергей", age: 19, city: "Минск" } ];
   
   var new_data:Array = Enumerable.from(data).groupBy(function(name:Object):String
    {
     return name.name;
    }, 
    function(values:Object):Object
    {
     return {age: values.age, city: values.city};
    }, 
    function(name:String, vals:IGrouping):Object
    {
     return { name: name, count:vals.count() };
    }).toArray();
    
    /*
     * А получаем мы в итоге нечто вроде
     * Сергей, 2
     * Володя, 1 
     * Максим, 1*/
    
    trace(new_data);
     
  }
 
 }

}
А самым удобным является что внутри конструкций function() можно определять любые стандартные операторы и конструкции ActionScript и возвращать нужные значения.
На странице wiki  ActionLinq можно прочитать, что поддерживаются многие операторы LINQ. Там же есть кое какие примеры . Так же если хотите больше примеров рекомендую посмотреть на юнит тесты проекта.

8 марта 2012 г.

Spyder среда разработки Python

Мощная среда разработки Spyder имеет функции автодополнения, интроспекции, Анализатор исходного кода. Также имеет Функции профилировшика отладки. Есть возможность непосредственного использования консоли IPython прямо из программы и просмотра документации pydoc. Программа использует библиотеки PyQt или PySide.

7 декабря 2011 г.

15-летней девочке нужна Ваша помощь! Помоги! / HELP! » Сбор средств / Fundraising

К сожалению, болезнь может прийти к любому человеку, вне зависимости от его пола, расы, и что самое страшное, возраста. 15-летняя девочка по имени Настя нуждается в помощи, у нее обнаружена редкая форма рака крови ХМЛ.
Помоги! / HELP! » Сбор средств / Fundraising
Источник

20 октября 2011 г.

Небольшой пример подключения PySide к SQLite.

Небольшой пример подключения PySide к SQLite.
# coding=utf-8
import sys

from PySide import QtGui, QtSql, QtCore

#приложение
main=QtGui.QApplication(sys.argv)
#подключение база
dbase = QtSql.QSqlDatabase.addDatabase('QSQLITE')
#файл базы
dbase.setDatabaseName('my_db.sqlite') 
dbase.open()
query=QtSql.QSqlQuery()
#Создаем базу
query.exec_('CREATE TABLE my_table (number integer PRIMARY KEY NOT NULL, address VARCHAR(255), age integer);')
query.exec_(u'INSERT INTO my_table(number, address, age) VALUES (1, "Варшавское 2", 54);')
query.exec_(u'INSERT INTO my_table(number, address, age) VALUES (2, "Ленина 5", 4);')
#типа DBGird
view = QtGui.QTableView()
#типа Table
model = QtSql.QSqlTableModel()
model.setTable('my_table')
model.select()
model.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)
view.setModel(model)
view.show()
main.exec_()
Подробнее на C++

30 августа 2011 г.

Валидация e-mail поля в MS Access

Сегодня нужно было решить добавить валидацию поля e-mail в таблице Access.
Думал нужно будет писать функцию и вызывать ее перед сохранением. А оказалось все весьма тривиально. Вот пример

Вот источник примера.