• Авторизация


Засада в WPF 16-11-2007 18:24


При смене свойства Button.CommandParameter у экземпляра Button.Command НЕ РЕЭВАЛУЭЙТИТСЯ CanExecute!

    1 using System;
    2 using System.Windows;
    3 using System.Windows.Controls;
    4 using System.Windows.Input;
    5 
    6 class MainWindow: Window
    7 {
    8     class MyCommand: ICommand
    9     {
   10         private Window owner;
   11 
   12         public MyCommand(Window owner)
   13         {
   14             this.owner = owner;
   15         }
   16 
   17         public event EventHandler CanExecuteChanged;
   18 
   19         public void Execute(object parameter)
   20         {
   21             MessageBox.Show(owner, "Command Executed");
   22         }
   23 
   24         public bool CanExecute(object parameter)
   25         {
   26             return parameter != null;
   27         }
   28 
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
S.T.A.L.K.E.R.: Shadow of Chernobyl 13-11-2007 16:39


[470x104]

Прошёл на выходных. Понравилось. Атмосферно!
комментарии: 4 понравилось! вверх^ к полной версии

Ржунемагу... 08-11-2007 16:28


[показать]
комментарии: 0 понравилось! вверх^ к полной версии
Сериализуем несериализуемое ;) 08-11-2007 16:08


Так сложилось что в одном из моих проектов используется XmlSerializer для передачи значений между клиентом и сервером. И всё было бы прекрасно пока не понадобилось передвавать объекты не поддерживаемые XmlSerializer-ом... На помощь пришла универсальная обёрточка ;)
    1 using System;
    2 using System.IO;
    3 using System.Runtime.Serialization.Formatters.Binary;
    4 using System.Xml;
    5 using System.Xml.Schema;
    6 using System.Xml.Serialization;
    7 
    8 namespace dimzon.Utils
    9 {
   10     [Serializable]
   11     public sealed class XmlSerializable<T>: IXmlSerializable
   12     {
   13 
   14         private static readonly BinaryFormatter bf = new BinaryFormatter();
   15         private T originalValue;
   16 
   17         public static implicit operator T(XmlSerializable<T> x)
   18         {
   19             return x.originalValue;
   20         }
   21 
   22         public static implicit operator XmlSerializable<T>(T x)
   23         {
   24             XmlSerializable<T> a = new XmlSerializable<T>();
   25             
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Забавная фотожаба... 08-11-2007 15:58


Ничего не напоминает?
[699x525]
комментарии: 4 понравилось! вверх^ к полной версии
Сделай сам... 06-11-2007 20:02


Наткнулся на бумажный сувенир, посвящённый Portal-у...
Вид изделия в сборе:
[400x362]
"Выкройка" (при шелчке откроется полноразмерное изображение):
[516x699]
Рецепт изготовления: печатаем выкройку на плотной A4, вырезаем и склеиваем...
комментарии: 0 понравилось! вверх^ к полной версии
WPF и обработка исключений 06-11-2007 17:54


Натолкнулся на проблемку при обработке исключительных ситуаций в Windows Presentation Foundation. Рассмотрим код:
    1 using System;
    2 using System.Windows;
    3 
    4 class ExceptionDemoForm: Window
    5 {
    6     [STAThread]
    7     public static void Main(string[] args)
    8     {
    9         Application application = new Application();
   10         ExceptionDemoForm form = new ExceptionDemoForm();
   11         application.Run(form);
   12     }
   13 
   14     public ExceptionDemoForm()
   15     {
   16         Title = "title of ExceptionDemoForm";
   17         Loaded += windowLoaded;
   18     }
   19 
   20     private void windowLoaded(object sender, RoutedEventArgs e)
   21     {
   22         Content = "Before Exception";
   23         throw new ApplicationException("Some Exception");
   24         Content =  "After Exception" ;
   25     }
   26 }

В строке 23 генерируется Exception при этом Runtime его "проглатывает", т.е. никоим образом не индицирует что произошло исключение...
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Полураспад 06-11-2007 17:24


[470x86]
[470x131]
[470x69]
Будучи под впечатлением новинок из OrangeBox-а решил освежить в памяти классику. Освежил. Думаю VALVE могли поднять дополнительные $ выполнив полноценный римейк этих игр на новом движке. Причём по сути работу можно было отдать на сторону, сюжет уже известен, геймплей отлажен, спецификации готовы... Есть конечно проект Black Mesa: A Half-Life 2 modification, но боюсь не вытянут они на одном лишь энтуазизме...
комментарии: 0 понравилось! вверх^ к полной версии
Ballmer Peak 06-11-2007 16:55


[показать]
комментарии: 0 понравилось! вверх^ к полной версии
Полезные ссылки на библиотеки 06-11-2007 16:51


Полезные ссылки на библиотеки

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

Читать далее...
комментарии: 3 понравилось! вверх^ к полной версии
THE CAKE IS A LIE!!!! 30-10-2007 17:37


[500x213]
Да, данная игра, воспринимаемая мной изначально как довесок к великому и могучему Half-Life 2: Episode Two преподнесла приятный сюрприз! Это - ШЕДЕВР!
[699x437]
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Сказка о том как садовый гномик в космос летал... 29-10-2007 19:06


Вступление
XBOX (вернее Games For Windows) принёс в игры такое нововведение как "достижения". Грубо говоря это некоторые трюки которые необходимо выполнить в процессе прохождения игры, например "найти все тайники" или "убить такого-то монстра именно таким идиотским способом" и.т.п. В результате выполнения подобных условий игрок получает некоторые "очки", которые он может потратить на "покупку" дополнений к игре (например на бонусные карты). Есть подобные фичи и в Half-Life 2: Episode Two. Ниже приведён вольный перевод исходной статьи I Played Through Episode Two Holding A Goddamn Gnome (Spoilers).

Около месяца назад, когда я был на полпути в написании рецензии на эпизод 2, Дуг Ломбарди, PR менеджер валв, спросил меня, известно ли мне что-либо о "гномьем" достижении.
- Нет
- Ты находил гнома в начале игры?
- Ага
- Его надо запихнуть в ракету перед стартом.
- Но ведь это самый конец игры?
- Ага
- Но это же значит, что надо ...
- Ага
- Черт возьми! Я это сделаю!
Через месяц или около того, я сделал.

[показать]
Очевидно, каждый раз, когда вы уверены, что будете возвращаться в какую-либо зону, вы можете поставить его на земалю и отправиться в одиночку. Моя склонность бросать его в местах, где я знал, что случится что-то значительное, пару раз стоила мне моего гнома.
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Half-Life 2: Episode Two 29-10-2007 16:24


[470x180]
Благодаря добрым людям обзавёлся пиратской (ну нету у меня дома сейчас интернета чтобы активизировать этот Steam) копией Half-Life 2: The Orange Box...

За воскресенье прошел Episode Two на одном дыхании! Супер, ещё хочу!
[699x437]
[699x437]
комментарии: 0 понравилось! вверх^ к полной версии
Ржунемагу 29-10-2007 16:03

Это цитата сообщения Chuma_1 Оригинальное сообщение

Падонки в реале

Рассказа (а): Кошмарик

Время позднее, 11 часов, сижу в асе апщаюсь, пью колу, и тут с улицы доносится такой диалог:
-(парень под окнами, кричит) Киса, куку, выхади, Креведко пришел.
-(кто-то из дома, тоже кричит) на.. х.. й пошел, боянщик х.. ев, щас выйду е...... ло разобью, люди спят.
-(из другого окна, басом) Плюс адин!
Подавился колой.
комментарии: 0 понравилось! вверх^ к полной версии
Новая версия eBookDownloader 26-10-2007 17:01


брать на CodePlex
комментарии: 4 понравилось! вверх^ к полной версии
Half-Life 2 + Episode One 25-10-2007 20:45


[470x170]
[470x160]
Прошёл на прошлой неделе с ОГРОМНЫМ удовольствием... Особенно порадовало окружение - все родное, и архитектура и автотранспорт ;) Надеюсь в ближайшее время достать Half-Life 2: The Orange Box.

[700x560]
комментарии: 4 понравилось! вверх^ к полной версии
Посмотрел на Гришковца вживую... 25-10-2007 20:18


[310x248]
Совершенно случайно попал на "одноврЕмЕнно"... Впечатления крайне положительные ;)
Гришковец: фан-клуб
комментарии: 0 понравилось! вверх^ к полной версии
Unreal 25-10-2007 20:08


[470x113]
Совсем недавно прошёл эту замечательную игрушку, можно сказать классику. Надо заметить что во многих аспектах игра была революционна, например тот-же ботматч официально появия именно в 1-м Unreal. Также альтернативный огонь - тоже до Unreal я нигде не видел. Ну и скриптовые сцены на движке - тоже нововведение того времени. В общем - классика ;)
[640x480]
комментарии: 0 понравилось! вверх^ к полной версии
CopySourceAsHtml (CSAH) 25-10-2007 19:49


Нашёл очень удобный плагин для Visual Studio 2005, позволяющий экспортировать исходный код в HTML с форматированием. Очень удобно постить на блогах ;)
комментарии: 0 понравилось! вверх^ к полной версии
Асинхронное выполнение длительных операций и взаимодействие с UI - Quick & Dirty 25-10-2007 19:37


[476x115]
Не секрет что время от времени приходится кодировать достаточно длительные операции. Реализация таких операций напрямую в обработчике пользователя ведёт к блокированию пользовательского интерфейса. Соответственно логично запускать подобные действия в отдельном потоке (нитке). При этом с особым пиететом надо относится к взаимодействию данного процесса с элементами пользователького интерфейса. Дело в том что элементы пользовательского интерфейса потоконебезопасны и доступ к ним надо синхронизировать. Ниже приведён достаточно элегантный вариант реализации подобного взаимодействия. Основное "волшебство" находится в строчках 58-76. Новый поток образуется посредством вызова метода BeginInvoke (стр. 75) у анонимного делегата (стр 64-74). Для взаимодействия с элементами пользовательского интерфейса используется SynchronizationContext.Send (стр 72 и 74), выполняющего в свою очередь анонимные делегаты в потоке UI...

    1 using System;
    2 using System.Drawing;
    3 using System.Threading;
    4 using System.Windows.Forms;
    5 
    6 public class AsyncExecutionDemoForm : Form
    7 {
    8     private Button startButton;
    9     private ProgressBar progressBar;
   10 
   11     public AsyncExecutionDemoForm()
   12     {
   13         createUI();
   14     }
   15 
   16     private void createUI()
   17     {
   18         startButton = new Button();
   19         progressBar = new ProgressBar();
   20         SuspendLayout();
   21         // 
   22         
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии