Sandor Korozsi’s linkblog

  .NET Framework, C#, Smartphone, Pocket PC, Managed DirectX, Game development
Smartphone, Development, LinkJune 23, 2005 10:46

Alex Yakhnin indroduced a way to search a value in a lisbox faster.

“As you know, the intrinsic controls (ListBox, TextBox, ComboBox etc..) in the .NET Compact Framework are just a wrappers around its native counterparts. It is also known that the managed versions do not expose all available functionality. For example, it is possible to search the items in the ListBox or ComboBox just simply sending a windows messages such as LB_FINDSTRINGEXACT or LB_FINDSTRING. In order to illustrate its usage I’ve created the ListBoxExtender class, that will expose Search methods in the easy to use form.”

Smartphone, Link, Tool 10:13

My favourite commander Total Commander was released for Windows Mobile
at last!

Total Commander

Development, ToolJune 17, 2005 14:47

There is a newer post on this plugin here in my blog!

I found some articles on the resource handling, so I made the retriving of the data which was mentioned in Wordpress/Blogsome plugin for Omea Reader post more simple . I can use context.SelectedPlainText; instead of JetBrains.Omea.OpenAPI.Core.WebBrowser.SelectedText; to retrieve the selected text of the resource. The other thing, that I can user context.SelectedResources[0].GetStringProp("Subject"); to retrieve the Title of the page. I thing I made it too complicated at first glance. :-) In exuse of this complicated implementation I need to mention that the articles are almost "hidden". I read one a day before yesterday but I didn’t manage to find it next day at the omea site. It seems if the authors wants to hide the important informations about plugin development. ;-) Fortunatelly I’ve found it in the history. This is the new Execute() method implementation: /// <summary>
/// Initializes the popup and displayes it
/// </summary>
/// <param name="context">Actioncontext</param>
public void Execute( IActionContext context )        
{
    IResourceList list 
context.SelectedResources;

    if(list.Count == 1
    {
        
//Retrieves the subject of the resource.
        
string popupTitle HttpUtility.UrlEncode(list[0].GetStringProp("Subject"));
        string 
selectedText "";
        if
(context.SelectedPlainText != null
        {
            
//Retrieves the selected text on the currently displayed resource
            
selectedText HttpUtility.UrlEncode( context.SelectedPlainText.Trim() );
        
}
        
//Retrieves the URL of the displayed resource
        
string currentUrl HttpUtility.UrlEncode( list[0].GetStringProp("Link"));
        
//Lets show the popup window
        
Process.Start( String.Format("http://skorozsi.blogsome.com/wp-admin/bookmarklet.php?text={0}&popupurl={1}&popuptitle={2}",selectedText, currentUrl, popupTitle));            }

} This is the new Update() method implementation: /// <summary>
/// Enable the action only if there is a selected resource.
/// </summary>
public void Update( IActionContext context, ref ActionPresentation presentation )
{
    presentation.Visible 
context.SelectedResources.Count == 1;
}


Colorized by: CarlosAg.CodeColorizer

Link, Game developmentJune 16, 2005 21:52

Axiom 3D Engine

“The Axiom 3D Engine Project is a fully object oriented 3D graphics engine development effort using C# and the Microsoft.Net platform to create an easy to use, flexible, extendable, and powerful engine that allows for rapid development of games and other graphical applications. By using the .Net framework as the target platform, developers can focus more on core functionality and logic, rather than dealing with the complexities of languages like C++.

The core of Axiom is a port of the very popular OGRE graphics engine, which was chosen based on its clean object-oriented design, powerful features, and flexibilty.”

Link, Game development 21:49
RealmForge GDK 3D engine

“The RealmForge GDK is the cross-platform game development platform for .NET. It is written entirely in C# to ensure portability and allow the productivity, flexibility, and dynamic nature of the .NET Framework to be leveraged in all aspects of game development. This middleware is architected with both power and ease of use in mind and is released under the LPGL so that it is the free and ideal solution for both commercial and hobbyist projects.

This game development kit is characterized by its productivity, ease of use, and highly flexible and intuitive component-oriented architecture. This game engine and development environment consists of a framework, rendering engine, run-time development toolset (In-Game Editor), script and media libraries, and a growing showcase of demo games and tutorials which assist in rapid prototyping.”

Development, Tool 11:48

I use omea reader for reading news, blogs etc. Omea reader is written in c# and it is extendable through plugins developed in c#. It has an Open API that describes the base classes and interfaces which are usable for development. There is an artice about Extending Omea with New Resource Types. And here is another article about OmniaMea Data Model. I googled for any plugin with which I can blog the article I read in my wordpress blog. I didn’t find any plugin. So I decided to implement one. I had a little problem about retrieving the Title of the browser window. I think I didn’t find the best solution, but I found one. Probably I could read it from the resource instead of the control which displayes the content. I will try it later. Therefore sometimes the title is not correct. :-S Omea has a "Blog This" action defined in the menu system, but I didn’t manage to find out how to write a plugin like this, so I’ve created an action. If I read an article in the browser a menu item appears if the context menu called "Blog this in WordPress". I was a little bit confused about the implementation of the posting mechanism. Finally I decided to use the bookmarklet of blogsome. So if I want to blog something, I invoke the action and I get a popup window which is initialized from the details of the current post in Omea Reader. The selected text is copied into the Post area, the Title is copied to title and the link of the page is copied into the post as a link. I asked myself a couple of times if it is useful or not. In fact if I open the links in the browser then I can use the bookmarklet. :-) But I wanted to do it "myself"! And here is the source code of the plugin, it is really simple!

There is a newer post on this plugin here in my blog!

Development, Link, Tool 11:01

Steve Tibbet’s blog

I googled for c# string formatting options when I found an article about String formatting in C# in Steve’s blog. I started to look around and I found a lot of articles what I liked. Finally I found a tool called Clipr, which was developed to upload images from your clipboard to your Flickr gallery. It comes whith source code. When I took a look at the about box, I found another treasure: a link to Flickr .NET Library. I didn’t know that something like that exist on the planet. I’m really happy now. :-)

Link, ToolJune 9, 2005 9:26
Reify Turnabout

“What is Turnabout?

Turnabout is an Internet Explorer plugin that runs user scripts of your choice on any website. User scripts are like plugins for websites. They can enhance your web experience in a lot of ways:

Block pop-ups
Change text URLs into clickable links
Add features, like adding custom search links in your Gmail account
Enlarge text fields that are too small
…And more!
Essentially, Turnabout does for IE what Greasemonkey does for Firefox.”

Dare Obasanjo writted a post about it and sad that is better then Trixie and the development of Trixie is finished. I’ll give it a chance.

DirectX, Link, Game developmentJune 8, 2005 10:54

A new DirectX 9.0 SDK Update is available at MS.

Development, LinkJune 7, 2005 12:01

The Code Project - Exception Handling SOAP Extension - SOAP and XML

In a previous ASP.NET project I sadly realized that the only exception which was returned from the webservice was SoapException. I wanted to return a lot of thing about the error for example when the user wanted to log in to the system. I wanted to know if he provided a wrong password or the user doesn’t exist etc. I had my own exceptions for these cases, but I returned integers instead of exceptions… I think I could use this article to handle my custom exceptions at that situation well.