<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: application code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 16 May 2008 22:12:34 GMT</pubDate>
    <description>DZone Snippets: application code</description>
    <item>
      <title>A QT 'Hello World' application</title>
      <link>http://snippets.dzone.com/posts/show/5253</link>
      <description>- getting started - (Using Ubuntu Linux 7.10)&lt;br /&gt;1) Installed Qt bindings for Ruby &lt;br /&gt;&lt;br /&gt;- Running the application&lt;br /&gt;1) From the command line I typed ruby helloworld_qt.rb&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#file: helloworld_qt.rb&lt;br /&gt;&lt;br /&gt;require 'Qt'&lt;br /&gt;&lt;br /&gt;    a = Qt::Application.new( ARGV )&lt;br /&gt;&lt;br /&gt;    hello = Qt::PushButton.new( "Hello world!", nil )&lt;br /&gt;    hello.resize( 100, 30 )&lt;br /&gt; &lt;br /&gt;    Qt::Object::connect( hello, SIGNAL('clicked()'), a, SLOT('quit()') )&lt;br /&gt; &lt;br /&gt;    a.setMainWidget( hello )&lt;br /&gt;    hello.show()&lt;br /&gt; &lt;br /&gt;    a.exec()&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Source code copied from  &lt;a href="http://developer.kde.org/language-bindings/ruby/kde3tutorial/p1.html"&gt;KDE Tutorial - p1&lt;/a&gt; [kde.org]</description>
      <pubDate>Wed, 19 Mar 2008 09:21:33 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5253</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>A Glade 'Hello World' application</title>
      <link>http://snippets.dzone.com/posts/show/5251</link>
      <description>- getting started - (Using Ubuntu Linux 7.10)&lt;br /&gt;1) Installed glade-3,libglade2-ruby&lt;br /&gt;2) Executed glade-3&lt;br /&gt;&lt;br /&gt;- Within glade-3 -&lt;br /&gt;1) Selected from the glade-3 top menu View -&gt; Palette appearance -&gt; Text beside icons&lt;br /&gt;2) Created a window (Toplevels)&lt;br /&gt;3) Created a button on the window (Control and Display)&lt;br /&gt;3) With button selected, from the properties panel I selected the Signals tab and chose 'clicked', then for the Handler -&gt; on_button1_clicked and pressed enter.&lt;br /&gt;4) With window select, from the properties panel I select the Signals tab and chose GtkWidget-&gt;delete-event, then for the Handler I typed on_quit and pressed enter.&lt;br /&gt;&lt;br /&gt;- Generating and editing the code&lt;br /&gt;&lt;br /&gt;-- From the command line -&lt;br /&gt;1) Typed ruby-glade-create-template helloworld3.glade &gt; helloworld3.rb&lt;br /&gt;&lt;br /&gt;-- From the file helloworld3.rb - (see helloworld3.rb and how it relates to helloworld3.glade)&lt;br /&gt;1) Implemented the initialise window routine&lt;br /&gt;2) Implemented the button event handler&lt;br /&gt;&lt;br /&gt;- Running the application&lt;br /&gt;1) From the command line I typed ruby helloworld3.rb&lt;br /&gt;2) stretched the window to a comfortable dimension.&lt;br /&gt;3) clicked the button and observed the Window title change to 'Hello World!'&lt;br /&gt;&lt;br /&gt;file: helloworld3.glade&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/env ruby&lt;br /&gt;#&lt;br /&gt;# This file is generated by ruby-glade-create-template 1.1.4.&lt;br /&gt;#&lt;br /&gt;require 'libglade2'&lt;br /&gt;&lt;br /&gt;class Helloworld3Glade&lt;br /&gt;  include GetText&lt;br /&gt;&lt;br /&gt;  attr :glade&lt;br /&gt;  &lt;br /&gt;  def initialize(path_or_data, root = nil, domain = nil, localedir = nil, flag = GladeXML::FILE)&lt;br /&gt;    bindtextdomain(domain, localedir, nil, "UTF-8")&lt;br /&gt;    @glade = GladeXML.new(path_or_data, root, domain, localedir, flag) {|handler| method(handler)}&lt;br /&gt;    @window1 = @glade.get_widget("window1") # hand coded&lt;br /&gt;    @window1.show # hand coded      &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  def on_button1_clicked(widget)&lt;br /&gt;    #puts "on_button1_clicked() is not implemented yet." # removed this code by hand&lt;br /&gt;    @window1.title = 'Hello World!' # hand coded  &lt;br /&gt;  end&lt;br /&gt;  def on_quit(widget, arg0)&lt;br /&gt;    #puts "on_quit() is not implemented yet." # removed this code by hand&lt;br /&gt;    Gtk.main_quit # hand coded&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;# Main program&lt;br /&gt;if __FILE__ == $0&lt;br /&gt;  # Set values as your own application. &lt;br /&gt;  PROG_PATH = "helloworld3.glade"&lt;br /&gt;  PROG_NAME = "YOUR_APPLICATION_NAME"&lt;br /&gt;  Helloworld3Glade.new(PROG_PATH, nil, PROG_NAME)&lt;br /&gt;  Gtk.main&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;file: helloworld3.glade&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;&lt;br /&gt;&lt;!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"&gt;&lt;br /&gt;&lt;!--Generated with glade3 3.4.0 on Tue Mar 18 17:39:53 2008 --&gt;&lt;br /&gt;&lt;glade-interface&gt;&lt;br /&gt;  &lt;widget class="GtkWindow" id="window1"&gt;&lt;br /&gt;    &lt;property name="events"&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;&lt;br /&gt;    &lt;signal name="delete_event" handler="on_quit"/&gt;&lt;br /&gt;    &lt;child&gt;&lt;br /&gt;      &lt;widget class="GtkButton" id="button1"&gt;&lt;br /&gt;        &lt;property name="visible"&gt;True&lt;/property&gt;&lt;br /&gt;        &lt;property name="can_focus"&gt;True&lt;/property&gt;&lt;br /&gt;        &lt;property name="receives_default"&gt;True&lt;/property&gt;&lt;br /&gt;        &lt;property name="events"&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;&lt;br /&gt;        &lt;property name="label" translatable="yes"&gt;button&lt;/property&gt;&lt;br /&gt;        &lt;property name="response_id"&gt;0&lt;/property&gt;&lt;br /&gt;        &lt;signal name="clicked" handler="on_button1_clicked"/&gt;&lt;br /&gt;      &lt;/widget&gt;&lt;br /&gt;    &lt;/child&gt;&lt;br /&gt;  &lt;/widget&gt;&lt;br /&gt;&lt;/glade-interface&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Tue, 18 Mar 2008 19:29:06 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5251</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>bScan - Simple Web Aplications Scanner</title>
      <link>http://snippets.dzone.com/posts/show/5094</link>
      <description>// Web application scanner (ex: phpBB, myCMS, myBlog, mySite etc..) - Only in PHP !&lt;br /&gt;// Find XSS, sql injection, remote file inclusion&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#####################################################################################&lt;br /&gt;#	Black_H  / Nooz -- 30:01:07 &lt;br /&gt;#	Bl4ck.H&lt;&gt;gmail&lt;&gt;com&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;class BScan&lt;br /&gt;&lt;br /&gt;#####################################################################################&lt;br /&gt;#	Regex&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;@@space    = '([[:space:]]*)'&lt;br /&gt;&lt;br /&gt;@@userdat  = '('&lt;br /&gt;@@userdat += '(\$_SERVER\[([\'\"]*)HTTP_)|'&lt;br /&gt;@@userdat += '(\$_GET)|'&lt;br /&gt;@@userdat += '(\$_POST)|'&lt;br /&gt;@@userdat += '(\$_COOKIE)|'&lt;br /&gt;@@userdat += '(\$_REQUEST)|'&lt;br /&gt;@@userdat += '(\$_FILES)|'&lt;br /&gt;@@userdat += '(\$_ENV)|'&lt;br /&gt;@@userdat += '(\$_HTTP_COOKIE_VARS)|'&lt;br /&gt;@@userdat += '(\$_HTTP_ENV_VARS)|'&lt;br /&gt;@@userdat += '(\$_HTTP_GET_VARS)|'&lt;br /&gt;@@userdat += '(\$_HTTP_POST_FILES)|'&lt;br /&gt;@@userdat += '(\$_HTTP_POST_VARS)|'&lt;br /&gt;@@userdat += '(\$_HTTP_SERVER_VARS\[([\'\"]*)HTTP_)'&lt;br /&gt;@@userdat += ')'&lt;br /&gt;&lt;br /&gt;@@regex = Hash.new&lt;br /&gt;@@regex = &lt;br /&gt;	{'TYPE' =&gt; 'vars overwrite','LEVEL' =&gt; '2','REGEX' =&gt; /extract#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'vars overwrite','LEVEL' =&gt; '2','REGEX' =&gt; /import_request_variables#{@@space}\((.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'fopen vuln','LEVEL' =&gt; '3','REGEX' =&gt; /fopen#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'copy vuln','LEVEL' =&gt; '3','REGEX' =&gt; /copy#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'fwrite vuln','LEVEL' =&gt; '3','REGEX' =&gt; /fwrite#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'sql injection','LEVEL' =&gt; '2','REGEX' =&gt; /(mysql_query|mssql_query|mysqli_query)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'crlf injection','LEVEL' =&gt; '1','REGEX' =&gt; /mail#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'cross site scripting','LEVEL' =&gt; '1','REGEX' =&gt; /\&lt;\?\=#{@@space}(.*)#{@@userdat}/i},&lt;br /&gt;	{'TYPE' =&gt; 'cross site scripting','LEVEL' =&gt; '1','REGEX' =&gt; /(print|echo|print_r|var_dump)#{@@space}(|\(|\")(.*)#{@@userdat}/i},&lt;br /&gt;	{'TYPE' =&gt; 'php code execution','LEVEL' =&gt; '3','REGEX' =&gt; /eval#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'php code execution','LEVEL' =&gt; '3','REGEX' =&gt; /file_put_contents#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'variable attribution', 'LEVEL' =&gt; '2','REGEX' =&gt; /(.*)\$#{@@userdat}(.*)/i},&lt;br /&gt;	{'TYPE' =&gt; 'chmod affectation','LEVEL' =&gt; '1','REGEX' =&gt; /chmod#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'file disclosure','LEVEL' =&gt; '2','REGEX' =&gt; /(readfile|file_get_contents|file)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'file disclosure','LEVEL' =&gt; '2','REGEX' =&gt; /(show_source|highlight_file)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'bzopen vuln','LEVEL' =&gt; '2','REGEX' =&gt; /bzopen#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'file deletion','LEVEL' =&gt; '2','REGEX' =&gt; /(rmdir|unlink|delete)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'command execution','LEVEL' =&gt; '3','REGEX' =&gt; /(exec|system|passthru|shell_exec|proc_open|pcntl_exec)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'buffer overflow','LEVEL' =&gt; '3','REGEX' =&gt; /(confirm_phpdoc_compiled|mssql_pconnect|mssql_connect|crack_opendict|snmpget|ibase_connect)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'ip falsification','LEVEL' =&gt; '1','REGEX' =&gt; /(.*)(HTTP_CLIENT_IP|HTTP_X_FORWARDED_FOR|HTTP_PC_REMOTE_ADDR)(.*)/i},&lt;br /&gt;	{'TYPE' =&gt; 'putenv vuln','LEVEL' =&gt; '2','REGEX' =&gt; /putenv#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'full path disclosure','LEVEL' =&gt; '1','REGEX' =&gt; /(htmlentities|htmlspecialchars)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'magic_quotes_gpc bypass','LEVEL' =&gt; '1','REGEX' =&gt; /(stripslashes|urldecode)#{@@space}\((.*)#{@@userdat}(.*)\)/i},&lt;br /&gt;	{'TYPE' =&gt; 'file inclusion','LEVEL' =&gt; '3','REGEX' =&gt; /(include|include_once|require|require_once)#{@@space}(|\(|\")(.*)#{@@userdat}/i}&lt;br /&gt;&lt;br /&gt;#####################################################################################&lt;br /&gt;#	Main&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;  def initialize()&lt;br /&gt;&lt;br /&gt;	################&lt;br /&gt;	#	Usage&lt;br /&gt;&lt;br /&gt;if (ARGV.length &lt; 4)&lt;br /&gt;puts  '&lt;br /&gt; ---------------------------------------------------------------------&lt;br /&gt;|             Credits: Black_H &lt;bl4ck.h@gmail.com&gt;                    |&lt;br /&gt;|                 URL: Lemon-Inside.sup.fr                            |&lt;br /&gt;|                Note: Premier code Ruby                              |&lt;br /&gt; ---------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt; ---------------------------------------------------------------------&lt;br /&gt;|   Usage:  scan.rb -d &lt;Dossier&gt; -i &lt;Save.html&gt;                       |&lt;br /&gt;|   Ex:  scan.rb -d ./ -i output.html                                 |&lt;br /&gt; ---------------------------------------------------------------------		&lt;br /&gt; '&lt;br /&gt; end&lt;br /&gt; &lt;br /&gt;	################&lt;br /&gt;	#	Options &amp; Vars&lt;br /&gt;	&lt;br /&gt;	@@scan_alldir =  self.options('d')&lt;br /&gt;	@@out_file =  self.options('i')&lt;br /&gt;	&lt;br /&gt;	@@ban = [".", "..", "scan.rb", @@out_file.to_s]&lt;br /&gt;&lt;br /&gt;	@@scan_buffer = Array.new&lt;br /&gt;	&lt;br /&gt;	################&lt;br /&gt;	#	Options Error ?&lt;br /&gt;	&lt;br /&gt;	if (@@scan_alldir != false and @@scan_alldir.empty? == false)&lt;br /&gt;	self.dscan(@@scan_alldir)&lt;br /&gt;	self.output(@@scan_buffer)&lt;br /&gt;	@@scan_buffer = ''&lt;br /&gt;	end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;	&lt;br /&gt;&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;#####################################################################################&lt;br /&gt;#	Dir Scan &lt;br /&gt;#&lt;br /&gt;  &lt;br /&gt;  def dscan(dir)&lt;br /&gt;      &lt;br /&gt;	d = Dir.open(dir.to_s)&lt;br /&gt;	d = d.sort - @@ban&lt;br /&gt;	&lt;br /&gt;      d.each { |fichier|&lt;br /&gt;&lt;br /&gt;      case File.ftype(dir+fichier)&lt;br /&gt;        when "directory"&lt;br /&gt;          self.dscan(dir + fichier + "/")&lt;br /&gt;        when "file"&lt;br /&gt;		  puts  'Scan =&gt; ' + dir + fichier &lt;br /&gt;          self.fscan(dir + fichier)&lt;br /&gt;      end&lt;br /&gt;&lt;br /&gt;	  }&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;#####################################################################################&lt;br /&gt;#	File Scan &lt;br /&gt;#&lt;br /&gt;  &lt;br /&gt;  def fscan(file)&lt;br /&gt;&lt;br /&gt;	fichier = File.readlines(file)&lt;br /&gt;	i = 1&lt;br /&gt;&lt;br /&gt;	fichier.each { |line|&lt;br /&gt;						&lt;br /&gt;		@@regex.each  { |info|&lt;br /&gt;			&lt;br /&gt;			test = (line  =~ info['REGEX']) &lt;br /&gt;		&lt;br /&gt;				if (test) &lt;br /&gt;			&lt;br /&gt;				@@scan_buffer += ['FILE' =&gt; file, 'LINE' =&gt; i.to_s, 'MATCH' =&gt; line, 'LEVEL' =&gt; info['LEVEL'], 'TYPE' =&gt; info['TYPE']]&lt;br /&gt;				#	5 , 1 , 3 , 4 , 2&lt;br /&gt;				next @@scan_buffer&lt;br /&gt;				end&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;	i += 1&lt;br /&gt;  	} &lt;br /&gt;	&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;#####################################################################################&lt;br /&gt;#	Output buffer&lt;br /&gt;#&lt;br /&gt;  &lt;br /&gt;  def output(buffer)&lt;br /&gt;  &lt;br /&gt;	@html_hmodel = '&lt;html&gt;'&lt;br /&gt;	@html_hmodel += '&lt;style type="text/css"&gt;'&lt;br /&gt;	@html_hmodel += '&lt;!--'&lt;br /&gt;	@html_hmodel += '.level0 {background-color: #CCCCCC;}'&lt;br /&gt;	@html_hmodel += '.level1 {background-color: #33FF66;}'&lt;br /&gt;	@html_hmodel += '.level2 {background-color: #FFFF33;}'&lt;br /&gt;	@html_hmodel += '.level3 {background-color: #FF0000;}'&lt;br /&gt;	@html_hmodel += '--&gt;&lt;/style&gt;&lt;body&gt;&lt;h1&gt;BScan v1.0&lt;/h1&gt;&lt;pre&gt;'&lt;br /&gt;&lt;br /&gt;	code = @html_hmodel&lt;br /&gt;	&lt;br /&gt;	buffer.each { |infos|&lt;br /&gt;	&lt;br /&gt;	keys = infos.keys&lt;br /&gt;	code += "&lt;span class='level" + infos["LEVEL"] + "'&gt;" + keys[1].to_s + ' : ' + infos["TYPE"] + '&lt;/span&gt;&lt;br /&gt;'&lt;br /&gt;	code += "&lt;span class='" + infos["LEVEL"] + "'&gt;" + keys[3].to_s + ' : ' + infos["LEVEL"] + '&lt;/span&gt;&lt;br /&gt;'&lt;br /&gt;	code += "&lt;span class='" + infos["LEVEL"] + "'&gt;" + keys[4].to_s + ' : ' + infos["FILE"] + '&lt;/span&gt;&lt;br /&gt;'&lt;br /&gt;	code += "&lt;span class='" + infos["LEVEL"] + "'&gt;" + keys[0].to_s + ' : ' + infos["LINE"] + '&lt;/span&gt;&lt;br /&gt;'&lt;br /&gt;	code += "&lt;span class='" + infos["LEVEL"] + "'&gt;" + keys[2].to_s + ' : ' + infos["MATCH"] + '&lt;/span&gt;&lt;br /&gt;'&lt;br /&gt;	&lt;br /&gt;&lt;br /&gt;	}&lt;br /&gt;		code += "&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;"&lt;br /&gt;		fhtml = File.open(@@out_file.to_s, "w")&lt;br /&gt;		fhtml.write code&lt;br /&gt;		code = ''&lt;br /&gt;&lt;br /&gt;	&lt;br /&gt;  end&lt;br /&gt;#####################################################################################&lt;br /&gt;#	Parse &amp; Get Options&lt;br /&gt;#&lt;br /&gt; &lt;br /&gt;  def options(param)&lt;br /&gt;  &lt;br /&gt;	i = 0&lt;br /&gt;		ARGV.each  { |valeur|&lt;br /&gt;		&lt;br /&gt;    		if (valeur == '-' + param.to_s)&lt;br /&gt;				return ARGV[i+1]&lt;br /&gt;			elseif (valeur != '-' + param.to_s)&lt;br /&gt;				return false&lt;br /&gt;			end&lt;br /&gt;		i += 1&lt;br /&gt;		}&lt;br /&gt;		&lt;br /&gt;	end&lt;br /&gt;  &lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;scan = BScan.new&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sun, 03 Feb 2008 11:51:05 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5094</guid>
      <author>Black_H (Black_H)</author>
    </item>
    <item>
      <title>Toggle Text on Button (Single thread application)</title>
      <link>http://snippets.dzone.com/posts/show/4670</link>
      <description>// description of your code here&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; public partial class Form1 : Form&lt;br /&gt;    {&lt;br /&gt;        int iBtn = 0;&lt;br /&gt;        public Form1()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void button1_Click(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            ++iBtn;&lt;br /&gt;&lt;br /&gt;            if (iBtn == 3)&lt;br /&gt;            {&lt;br /&gt;                iBtn = 0;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            switch (iBtn)&lt;br /&gt;            {&lt;br /&gt;                case 0: button1.Text = "default";&lt;br /&gt;                    break;&lt;br /&gt;                case 1: button1.Text = "Love";&lt;br /&gt;                    break;&lt;br /&gt;                case 2: button1.Text = "Hate";&lt;br /&gt;                    break;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void Form1_Load(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            button1.Text = "default";&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 19 Oct 2007 06:59:20 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4670</guid>
      <author>dubby (Dave)</author>
    </item>
    <item>
      <title>No duplicate forms in MDI Parent</title>
      <link>http://snippets.dzone.com/posts/show/4499</link>
      <description>//This will ensure that no duplicate copies of a child form is created in an //MDI_Parent&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;            //"Display" is the form name&lt;br /&gt;            foreach (Form childForm in this.MdiChildren)&lt;br /&gt;            {&lt;br /&gt;                if (childForm.GetType() == typeof(Display))&lt;br /&gt;                {&lt;br /&gt;                    childForm.Focus();&lt;br /&gt;                    return;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            Display frmDisplay = new Display();&lt;br /&gt;            frmDisplay.MdiParent = this;&lt;br /&gt;            frmDisplay.Show();&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 06 Sep 2007 10:32:03 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4499</guid>
      <author>dubby (Dave)</author>
    </item>
    <item>
      <title>Reading Web.config / App.config settings</title>
      <link>http://snippets.dzone.com/posts/show/4496</link>
      <description>// VB.NET 2.0&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#If DEBUG Then&lt;br /&gt;    Private Shared _strConnectionString As String = My.Settings.Item("ConnStringDebug")&lt;br /&gt;#Else&lt;br /&gt;    Private shared _strConnectionString As String = My.Settings.Item("ConnString")&lt;br /&gt;#End If&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Web.Config/App.config file:&lt;br /&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="utf-8" ?&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;br /&gt;	&lt;appSettings&gt;&lt;br /&gt;		&lt;add key="ConnStringDebug" value="Data Source=time01;Initial Catalog=CWBIOSVRdave;UID=sa; PWD=Clockwatch" /&gt;&lt;br /&gt;		&lt;add key="ConnString" value="Data Source=time01;Initial Catalog=CWBIOSVRdave;UID=sa; PWD=Clockwatch"/&gt;&lt;br /&gt;	&lt;/appSettings&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 06 Sep 2007 10:24:16 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4496</guid>
      <author>dubby (Dave)</author>
    </item>
    <item>
      <title>Persisting Application data using Hashtable and IsolatedStorage</title>
      <link>http://snippets.dzone.com/posts/show/2774</link>
      <description>// nice way to store application data and settings&lt;br /&gt;// copied from: http://www.dotnetspider.com/kb/Article344.aspx&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.IO.IsolatedStorage;&lt;br /&gt;using System.Runtime.Serialization;&lt;br /&gt;using System.Runtime.Serialization.Formatters.Binary;&lt;br /&gt;&lt;br /&gt;namespace CustomStorage&lt;br /&gt;{&lt;br /&gt;    [Serializable]&lt;br /&gt;    public class ApplicationStorage : Hashtable&lt;br /&gt;    {&lt;br /&gt;        // File name. Let us use the entry assembly name with .dat as the extension.&lt;br /&gt;        private string settingsFileName = &lt;br /&gt;                        System.Reflection.Assembly.GetEntryAssembly().GetName().Name + ".dat";&lt;br /&gt;    &lt;br /&gt;        // The default constructor.&lt;br /&gt;        public ApplicationStorage()&lt;br /&gt;        {&lt;br /&gt;            LoadData();&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        // This constructor is required for deserializing our class from persistent storage.&lt;br /&gt;        protected ApplicationStorage (SerializationInfo info, StreamingContext context)&lt;br /&gt;            : base(info, context)&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        private void LoadData()&lt;br /&gt;        {&lt;br /&gt;            IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore( IsolatedStorageScope.User &lt;br /&gt;                        | IsolatedStorageScope.Assembly, null, null );&lt;br /&gt;            if ( isoStore.GetFileNames( settingsFileName ).Length == 0 )&lt;br /&gt;            {&lt;br /&gt;                // File not exists. Let us NOT try to DeSerialize it.&lt;br /&gt;                return;&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            // Read the stream from Isolated Storage.&lt;br /&gt;            Stream stream = new IsolatedStorageFileStream( settingsFileName, &lt;br /&gt;                        FileMode.OpenOrCreate, isoStore );&lt;br /&gt;            if ( stream != null )&lt;br /&gt;            {&lt;br /&gt;                try&lt;br /&gt;                {&lt;br /&gt;                    // DeSerialize the Hashtable from stream.&lt;br /&gt;                    IFormatter formatter = new BinaryFormatter();&lt;br /&gt;                    Hashtable appData = ( Hashtable ) formatter.Deserialize(stream);&lt;br /&gt;                    &lt;br /&gt;                    // Enumerate through the collection and load our base Hashtable.&lt;br /&gt;                    IDictionaryEnumerator enumerator = appData.GetEnumerator();&lt;br /&gt;                    while ( enumerator.MoveNext() )&lt;br /&gt;                    {&lt;br /&gt;                        this[enumerator.Key] = enumerator.Value;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                finally&lt;br /&gt;                {&lt;br /&gt;                    // We are done with it.&lt;br /&gt;                    stream.Close();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        public void ReLoad()&lt;br /&gt;        {&lt;br /&gt;            LoadData();&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        // Saves the configuration data to the persistent storage.&lt;br /&gt;        public void Save()&lt;br /&gt;        {&lt;br /&gt;            // Open the stream from the IsolatedStorage.&lt;br /&gt;            IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore( IsolatedStorageScope.User &lt;br /&gt;                        | IsolatedStorageScope.Assembly, null, null );&lt;br /&gt;            Stream stream = new IsolatedStorageFileStream( settingsFileName, &lt;br /&gt;                        FileMode.Create, isoStore );&lt;br /&gt;        &lt;br /&gt;            if ( stream != null )&lt;br /&gt;            {&lt;br /&gt;                try&lt;br /&gt;                {&lt;br /&gt;                    // Serialize the Hashtable into the IsolatedStorage.&lt;br /&gt;                    IFormatter formatter = new BinaryFormatter();&lt;br /&gt;                    formatter.Serialize( stream, (Hashtable)this );&lt;br /&gt;                }&lt;br /&gt;                finally&lt;br /&gt;                {&lt;br /&gt;                    stream.Close();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;//sample usage&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;CustomStorage.ApplicationStorage storage = new CustomStorage.ApplicationStorage();&lt;br /&gt;&lt;br /&gt;storage["name"] = "john";&lt;br /&gt;storage["age"] = 23;&lt;br /&gt;storage["address"] = "#10, Vasant Nagar";&lt;br /&gt;&lt;br /&gt;storage.Save();&lt;br /&gt;&lt;br /&gt;string name = storage["name"].ToString();&lt;br /&gt;int age = int.parse(storage["age"].ToString());&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 03 Oct 2006 15:49:23 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2774</guid>
      <author>sdorzak (Slawek)</author>
    </item>
    <item>
      <title>Switch application to foreground in pys60</title>
      <link>http://snippets.dzone.com/posts/show/814</link>
      <description>Taken from the 'appswitch' module &lt;a href=http://pymbian.sourceforge.net/misc/appswitch-v0.20051019.zip&gt;here&lt;/a&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import appswitch&lt;br /&gt;print appswitch.switch_to_fg(u"Menu")&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Updated (19 Oct 05)&lt;br /&gt;==================&lt;br /&gt;Now it can&lt;br /&gt;- listing running applications&lt;br /&gt;- switching them to foreground/background&lt;br /&gt;- closing/killing apps&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# listing&lt;br /&gt;apps = appswitch.application_list(True) # true = include all&lt;br /&gt;                                       # false = no hidden apps &lt;br /&gt;print apps&lt;br /&gt;&lt;br /&gt;# to background and closing&lt;br /&gt;print appswitch.switch_to_bg(u"TODO")&lt;br /&gt;print appswitch.end_app(u"TODO")&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Mon, 17 Oct 2005 21:06:29 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/814</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
  </channel>
</rss>
