<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mohammed Al-Atari</title>
	<atom:link href="http://al-atari.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://al-atari.net</link>
	<description>The Gate to .Net Technology</description>
	<lastBuildDate>Wed, 16 May 2012 15:46:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Use UITableView</title>
		<link>http://al-atari.net/?p=648</link>
		<comments>http://al-atari.net/?p=648#comments</comments>
		<pubDate>Wed, 16 May 2012 15:46:22 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=648</guid>
		<description><![CDATA[Sample code here Create new Xcode project Add UITableView to ViewController.xib RightClick on UiTableView and link Datasource  to file owners code for ViewController.h as below #import &#60;UIKit/UIKit.h&#62;@interface ViewController : UIViewController&#60;UITableViewDataSource&#62; { NSArray *names; } @end code for ViewController.m as below #import &#8220;ViewController.h&#8221;@implementation ViewController -(void)dealloc{ [names release]; [super dealloc]; } -(void)viewDidLoad{ [super viewDidLoad]; //Load Array with init. data [...]]]></description>
			<content:encoded><![CDATA[<div>Sample code here</div>
<ol>
<li>Create new Xcode project</li>
<li>Add UITableView to ViewController.xib</li>
<li>RightClick on UiTableView and link Datasource  to file owners</li>
<li>code for ViewController.h as below<br />
#import &lt;UIKit/UIKit.h&gt;@interface ViewController : UIViewController&lt;UITableViewDataSource&gt;</p>
<p>{</p>
<p>NSArray *names;</p>
<p>}</p>
<p>@end</li>
<li>code for ViewController.m as below<br />
#import &#8220;ViewController.h&#8221;@implementation ViewController</p>
<p>-(void)dealloc{</p>
<p>[names release];</p>
<p>[super dealloc];</p>
<p>}<br />
-(void)viewDidLoad{</p>
<p>[super viewDidLoad];</p>
<p>//Load Array with init. data to be shown in table view</p>
<p>names = [[NSArray alloc]</p>
<p>initWithObjects:@&#8221;Mohammed&#8221;,@&#8221;Hasan&#8221;,@&#8221;Ahmad&#8221;,@&#8221;Abdallah&#8221;, nil];</p>
<p>//Below code for load the array data from static file</p>
<p>//NSString *filepath =  [[NSBundle mainBundle]</p>
<p>//                       pathForResource:@&#8221;data&#8221;</p>
<p>//                       ofType:@&#8221;plist&#8221;];</p>
<p>//</p>
<p>//names =  [[NSArray alloc] initWithContentsOfFile:filepath];</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{</p>
<p>return [names count];</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{</p>
<p>//Ask the table for a reusable cells</p>
<p>UITableViewCell *cell =</p>
<p>[tableView dequeueReusableCellWithIdentifier:@"cell"];</p>
<p>//If no reusable cells exist, then create a new one</p>
<p>if (cell == nil) {</p>
<p>cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@&#8221;cell&#8221;] autorelease];</p>
<p>}</p>
<p>//Configure the cell</p>
<p>cell.textLabel.text = [names objectAtIndex:indexPath.row];</p>
<p>return cell;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>@end</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=648</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Dismiss the Keyboard when using a UITextView</title>
		<link>http://al-atari.net/?p=631</link>
		<comments>http://al-atari.net/?p=631#comments</comments>
		<pubDate>Sun, 13 May 2012 15:11:55 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=631</guid>
		<description><![CDATA[Oddly this was more tricky then I would have thought … perhaps for a veteran Cocoa developer this would have been obvious, but for the rest of us struggling to get rid of the keyboard on a UITextView here is the secret sauce … The short answer is to send the UITextViewController the “resignFirstResponder” message [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Oddly this was more tricky then I would have thought … perhaps for a veteran Cocoa developer this would have been obvious, but for the rest of us struggling to get rid of the keyboard on a UITextView here is the secret sauce …</p>
<p style="text-align: justify;">The short answer is to send the UITextViewController the “resignFirstResponder” message … the trick however is when to send the message. In my case, and I assume it would be the same for others, is to listen for any changes to the text in the UITextView and if the carridge return character ‘\n’ is detected then send the “resignFirstResponder” message to the UITextView.</p>
<p style="text-align: justify;"><strong>Step 1.</strong> The first step is to make sure that you declare support for the UITextViewDelegate protocol. This is done in your header file, as example here is the header called <code>EditorController.h</code>:</p>
<div style="text-align: justify;">
<table>
<tbody>
<tr>
<td>
<pre>1
2
3
4
5
6
7</pre>
</td>
<td>
<pre>@interface EditorController : UIViewController  {
  UITextView *messageTextView;
}

@property (nonatomic, retain) UITextView *messageTextView;

@end</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;"><strong>Step 2.</strong> Next you will need to register the controller as the UITextView’s delegate. Continuing from the example above, here is how I have initialize the UITextView with EditorController as the delegate …</p>
<div style="text-align: justify;">
<table>
<tbody>
<tr>
<td>
<pre>1
2
3
4
5
6
7
8
9
10
11</pre>
</td>
<td>
<pre>- (id) init {
    if (self = [super init]) {
        // define the area and location for the UITextView
        CGRect tfFrame = CGRectMake(10, 10, 300, 100);
        messageTextView = [[UITextView alloc] initWithFrame:tfFrame];
        // make sure that it is editable
        messageTextView.editable = YES;

        // add the controller as the delegate
        messageTextView.delegate = self;
    }</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;"><strong>Step 3.</strong> And now the final piece of the puzzle is to take action in response to the “shouldCahngeTextInRange” message as follows:</p>
<div style="text-align: justify;">
<table>
<tbody>
<tr>
<td>
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14</pre>
</td>
<td>
<pre>- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
  replacementText:(NSString *)text
{
    // Any new character added is passed in as the "text" parameter
    if ([text isEqualToString:@"\n"]) {
        // Be sure to test for equality using the "isEqualToString" message
        [textView resignFirstResponder];

        // Return FALSE so that the final '\n' character doesn't get added
        return FALSE;
    }
    // For any other character return TRUE so that the text gets added to the view
    return TRUE;
}</pre>
</td>
</tr>
</tbody>
</table>
</div>
<div id="fb-root" style="text-align: justify;"></div>
<p style="text-align: justify;"><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=631</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Important XCode Tips</title>
		<link>http://al-atari.net/?p=621</link>
		<comments>http://al-atari.net/?p=621#comments</comments>
		<pubDate>Fri, 04 May 2012 13:36:57 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[objective c]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=621</guid>
		<description><![CDATA[&#160; &#160; Declare a string variable and release it from memory manually  NSString *str1 = [[NSString alloc] initWithString:@&#8221;Hello World &#8230;&#8221;];  NSLog(@&#8221;%@&#8221;,str1);  [str1 release]; &#160; Declare a string variable and automatically release it from memory  NSString *str1 = [NSString stringWithString:@"Hello World ..."];  NSLog(@&#8221;%@&#8221;,str1);  OR  NSString *str1 = @&#8221;Hello World &#8230;&#8221;;  NSLog(@&#8221;%@&#8221;,str1); &#160; Append string variable with [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li><strong>Declare a string variable and release it from memory manually </strong></li>
</ul>
<p style="padding-left: 30px;"> NSString *str1 = [[NSString <strong>alloc</strong>] initWithString:@&#8221;Hello World &#8230;&#8221;];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;,str1);</p>
<p style="padding-left: 30px;"> [str1 release];</p>
<p>&nbsp;</p>
<ul>
<li><strong>Declare a string variable and automatically release it from memory</strong></li>
</ul>
<p style="padding-left: 30px;"> NSString *str1 = [NSString stringWithString:@"Hello World ..."];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;,str1);</p>
<p style="padding-left: 30px;"> OR</p>
<p style="padding-left: 30px;"> NSString *str1 = @&#8221;Hello World &#8230;&#8221;;</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;,str1);</p>
<p>&nbsp;</p>
<ul>
<li><strong>Append string variable with new string</strong></li>
</ul>
<p style="padding-left: 30px;"> NSString *str1 = @&#8221;Hello World &#8230;&#8221;;</p>
<p style="padding-left: 30px;"> str1 =  [str1 <strong>stringByAppendingString</strong>:@", Goodbye world"];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;,str1);</p>
<p>&nbsp;</p>
<ul>
<li><strong>Grab a substring of a given string from start till character index </strong></li>
</ul>
<p style="padding-left: 30px;"> NSString *str1=@&#8221;Hollo World&#8221;;</p>
<p style="padding-left: 30px;"> str1=[str1 substringToIndex:3];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;, str1);</p>
<p style="padding-left: 30px;"> <strong>Output:</strong></p>
<p style="padding-left: 30px;"><strong> 2012-05-03 20:16:42.245 Project_7[74969:903] Hol</strong></p>
<p>&nbsp;</p>
<ul>
<li><strong>Grab a substring of a given string from character index till end of string</strong></li>
</ul>
<p style="padding-left: 30px;"> NSString *str1=@&#8221;Hollo World&#8221;;</p>
<p style="padding-left: 30px;"> str1=[str1 substringFromIndex:3];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;, str1);</p>
<p style="padding-left: 30px;"> <strong>Output:</strong></p>
<p style="padding-left: 30px;"><strong> 2012-05-03 20:16:42.245 Project_7[74969:903] lo World</strong></p>
<p>&nbsp;</p>
<ul>
<li><strong>Use Dynamic array with memory allocation</strong></li>
</ul>
<p style="padding-left: 30px;"> NSMutableArray *DynArray = [[NSMutableArray <strong>alloc</strong>] initWithObjects:@&#8221;Hello World&#8221;, nil];</p>
<p style="padding-left: 30px;"> [DynArray addObject:@"Goodbye World"];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;,DynArray);</p>
<p style="padding-left: 30px;"> [DynArray <strong>release</strong>];</p>
<p style="padding-left: 30px;"> <strong>Output:</strong></p>
<p style="padding-left: 30px;"> <strong>2012-05-03 19:57:21.555 Project_7[74850:903] (</strong></p>
<p style="padding-left: 30px;"><strong>    &#8220;Hello World&#8221;,</strong></p>
<p style="padding-left: 30px;"><strong>    &#8220;Goodby World&#8221;</strong></p>
<p style="padding-left: 30px;"><strong> )</strong></p>
<p>&nbsp;</p>
<ul>
<li><strong>Change array index order</strong></li>
</ul>
<p style="padding-left: 30px;"> NSMutableArray *DynArray = [[NSMutableArray alloc] initWithObjects:@&#8221;Hello   World&#8221;,@&#8221;Goodbye World&#8221;, nil];</p>
<p style="padding-left: 30px;"> [DynArray <strong>exchangeObjectAtIndex</strong>:0 <strong>withObjectAtIndex</strong>:1];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;,DynArray);</p>
<p style="padding-left: 30px;"> [DynArray release];</p>
<p style="padding-left: 30px;"> <strong>Output:</strong></p>
<p style="padding-left: 30px;"> <strong>2012-05-03 20:01:58.293 Project_7[74896:903] (</strong></p>
<p style="padding-left: 30px;"><strong>    &#8220;Goodby World&#8221;,</strong></p>
<p style="padding-left: 30px;"><strong>    &#8220;Hello World&#8221;</strong></p>
<p style="padding-left: 30px;"><strong>  )</strong></p>
<p><strong> </strong></p>
<ul>
<li><strong>Remove object index from array</strong></li>
</ul>
<p style="padding-left: 30px;"><strong> </strong>NSMutableArray *DynArray = [[NSMutableArray alloc] initWithObjects:@&#8221;Hello World&#8221;,@&#8221;Goodbye World&#8221;, nil];</p>
<p style="padding-left: 30px;"> [DynArray <strong>removeObject</strong>:@"Goodby World"];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;,DynArray);</p>
<p style="padding-left: 30px;"> [DynArray release];</p>
<p style="padding-left: 30px;"> <strong>Output:</strong></p>
<p style="padding-left: 30px;"> <strong>2012-05-03 20:05:52.639 Project_7[74933:903] (</strong></p>
<p style="padding-left: 30px;"><strong>    &#8220;Hello World&#8221;</strong></p>
<p style="padding-left: 30px;"><strong> )</strong></p>
<p><strong> </strong></p>
<ul>
<li><strong>Use NSDictionary for store one table name</strong></li>
</ul>
<p style="padding-left: 30px;"> NSDictionary *DicObj = [NSDictionary dictionaryWithObjectsAndKeys:</p>
<p style="padding-left: 30px;">                            @"Mohammed", @"FirstName",</p>
<p style="padding-left: 30px;">                            @"Al-Atari", @"LastName",</p>
<p style="padding-left: 30px;">                            @"23", @"Age", nil];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221; , DicObj);</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;, [DicObj objectForKey:@"FirstName"]);</p>
<p style="padding-left: 30px;"> <strong>Output:</strong></p>
<p style="padding-left: 30px;"><strong> 2012-05-03 20:36:41.401 Project_7[75304:903] {</strong></p>
<p style="padding-left: 30px;"><strong>    Age = 23;</strong></p>
<p style="padding-left: 30px;"><strong>    FirstName = Mohammed;</strong></p>
<p style="padding-left: 30px;"><strong>    LastName = &#8220;Al-Atari&#8221;;</strong></p>
<p style="padding-left: 30px;"><strong> }</strong></p>
<p style="padding-left: 30px;"><strong> 2012-05-03 20:37:40.666 Project_7[75332:903] Mohammed</strong></p>
<p>&nbsp;</p>
<ul>
<li><strong> Use NSMutableDictionary for store one table name with initializing the object</strong></li>
</ul>
<p style="padding-left: 30px;"> NSMutableDictionary *DicObj = [NSMutableDictionary dictionaryWithObjectsAndKeys:</p>
<p style="padding-left: 30px;">                            @"Mohammed", @"FirstName",</p>
<p style="padding-left: 30px;">                            @"Al-Atari", @"LastName",</p>
<p style="padding-left: 30px;">                            @"23", @"Age", nil];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221; , DicObj);</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221;, [DicObj objectForKey:@"FirstName"]);</p>
<p style="padding-left: 30px;"> <strong>Output:</strong></p>
<p style="padding-left: 30px;"><strong> 2012-05-03 20:36:41.401 Project_7[75304:903] {</strong></p>
<p style="padding-left: 30px;"><strong>    Age = 23;</strong></p>
<p style="padding-left: 30px;"><strong>    FirstName = Mohammed;</strong></p>
<p style="padding-left: 30px;"><strong>    LastName = &#8220;Al-Atari&#8221;;</strong></p>
<p style="padding-left: 30px;"><strong> }</strong></p>
<p style="padding-left: 30px;"><strong> 2012-05-03 20:37:40.666 Project_7[75332:903] Mohammed</strong></p>
<p>&nbsp;</p>
<ul>
<li><strong>Convert string to integer </strong></li>
</ul>
<p style="padding-left: 30px;">int value =  [textbox1.text intvalue];</p>
<p>&nbsp;</p>
<ul>
<li><strong>Convert integer or decimal to string to show in text field</strong></li>
</ul>
<p style="padding-left: 30px;">CtrlLbl_Equal.text =  [NSString stringWithFormat:@"%d", 1234];</p>
<p><strong><br />
</strong></p>
<ul>
<li><strong> Use NSMutableDictionary for store one table name without initializing the object</strong></li>
</ul>
<p style="padding-left: 30px;"> NSMutableDictionary *DicObj = [NSMutableDictionary dictionary];</p>
<p style="padding-left: 30px;"> [DicObj setObject:@"Mohammed" forKey:@"FirstName"];</p>
<p style="padding-left: 30px;"> [DicObj setObject:@"Al-Atari" forKey:@"LastName"];</p>
<p style="padding-left: 30px;"> NSLog(@&#8221;%@&#8221; , DicObj);</p>
<p style="padding-left: 30px;"> <strong><span style="text-decoration: underline;">Output:</span></strong></p>
<p style="padding-left: 30px;"><strong> 2012-05-03 20:36:41.401 Project_7[75304:903] {</strong></p>
<p style="padding-left: 30px;"><strong>    Age = 23;</strong></p>
<p style="padding-left: 30px;"><strong>    FirstName = Mohammed;</strong></p>
<p style="padding-left: 30px;"><strong>    LastName = &#8220;Al-Atari&#8221;;</strong></p>
<p style="padding-left: 30px;"><strong> }</strong></p>
<p>&nbsp;</p>
<ul>
<li><strong>Generate a random number </strong></li>
</ul>
<p style="padding-left: 30px;">int intrnd;</p>
<p style="padding-left: 30px;">intend = arc4random%10 // will generate a random # from 0 &#8211; 9</p>
<ul>
<li><strong>Use UiAlertView for showing a message box</strong></li>
</ul>
<p style="padding-left: 30px;">UIAlertView *Alert =  [[UIAlertView alloc]</p>
<p style="padding-left: 60px;">initWithTitle:@&#8221;Colors&#8221;</p>
<p style="padding-left: 60px;">message:@&#8221;Please choose a color&#8221;</p>
<p style="padding-left: 60px;">delegate:nil</p>
<p style="padding-left: 60px;">cancelButtonTitle:@&#8221;Cancel&#8221;</p>
<p style="padding-left: 60px;">otherButtonTitles:@&#8221;Red&#8221;, @&#8221;Blue&#8221;, @&#8221;Green&#8221;, nil];</p>
<p style="padding-left: 30px;">[Alert show];</p>
<p style="padding-left: 30px;">[Alert release];
</p>
<ul>
<li><strong>Use UiAlertView for showing a message box and get the selected value</strong></li>
</ul>
<p style="padding-left: 30px;">implement UIAlertViewDelegate on ViewController interface</p>
<p style="padding-left: 30px;">@interface ViewController : UIViewController<strong>&lt;UIAlertViewDelegate&gt;</strong></p>
<p style="padding-left: 30px;">- (IBAction)BtnChooseColor:(id)sender {</p>
<p style="padding-left: 30px;">    UIAlertView *Alert =  [[UIAlertView alloc]</p>
<p style="padding-left: 30px;">                           initWithTitle:@&#8221;Colors&#8221;</p>
<p style="padding-left: 30px;">                           message:@&#8221;Please choose a color&#8221;</p>
<p style="padding-left: 30px;">                           <strong>delegate:self</strong></p>
<p style="padding-left: 30px;">                           cancelButtonTitle:@&#8221;Cancel&#8221;</p>
<p style="padding-left: 30px;">                           otherButtonTitles:@&#8221;Red&#8221;, @&#8221;Blue&#8221;, @&#8221;Green&#8221;, nil];</p>
<p style="padding-left: 30px;">    [Alert show];</p>
<p style="padding-left: 30px;">    [Alert release];</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{</p>
<p style="padding-left: 30px;">    //NSLog(@&#8221;%i&#8221;, buttonIndex);</p>
<p style="padding-left: 30px;">    switch (buttonIndex) {</p>
<p style="padding-left: 30px;">        case 1:</p>
<p style="padding-left: 30px;">            self.view.backgroundColor =  [UIColor redColor];</p>
<p style="padding-left: 30px;">            break;</p>
<p style="padding-left: 30px;">        case 2:</p>
<p style="padding-left: 30px;">            self.view.backgroundColor =  [UIColor blueColor];</p>
<p style="padding-left: 30px;">            break;</p>
<p style="padding-left: 30px;">        case 3:</p>
<p style="padding-left: 30px;">            self.view.backgroundColor =  [UIColor greenColor];</p>
<p style="padding-left: 30px;">            break;</p>
<p style="padding-left: 30px;">        default:</p>
<p style="padding-left: 30px;">            break;</p>
<p style="padding-left: 30px;">    }</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">
<ul style="font-weight: bold;">
<li><strong></strong><strong>Use UIActionSheet </strong><strong></strong><strong>for showing a message box</strong></li>
</ul>
<p style="padding-left: 30px;"> UIActionSheet *sheet =  [[UIActionSheet alloc]</p>
<p style="padding-left: 30px;">                             initWithTitle:@&#8221;Colors&#8221;</p>
<p style="padding-left: 30px;">                             delegate:self</p>
<p style="padding-left: 30px;">                             cancelButtonTitle:@&#8221;Cancel&#8221;</p>
<p style="padding-left: 30px;">                             destructiveButtonTitle:@&#8221;Delete&#8221;</p>
<p style="padding-left: 30px;">                             otherButtonTitles:@&#8221;Red&#8221;, @&#8221;Blue&#8221;, @&#8221;Green&#8221;, nil];</p>
<p style="padding-left: 30px;">    [sheet showInView:self.view];</p>
<p style="padding-left: 30px;">    [sheet release];</p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=621</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kuwait international Bank has become the first Kuwait bank to launch interactive mobile financial services through Zain’s new unstructured supplementary service data (USSD) technology (*866#).</title>
		<link>http://al-atari.net/?p=613</link>
		<comments>http://al-atari.net/?p=613#comments</comments>
		<pubDate>Sat, 31 Mar 2012 22:34:56 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[Al-Dawli Connect]]></category>
		<category><![CDATA[USSD]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=613</guid>
		<description><![CDATA[Oh … Finally; I lunch Al-Dawli Connect banking service for Kuwait International Bank (KIB) through Zain USSD Technology. Zain’s USSD technology allows interactive communication between the bank and a customer using their mobile phone. Unlike SMS banking, the USSD technology allows customers to conduct secure real time transactions through their mobile phones, and get information [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Oh … Finally; I lunch Al-Dawli Connect banking service for Kuwait International Bank (KIB) through Zain USSD Technology. Zain’s USSD technology allows interactive communication between the bank and a customer using their mobile phone.</p>
<p style="text-align: justify;">Unlike SMS banking, the USSD technology allows customers to conduct secure real time transactions through their mobile phones, and get information on a broad range of banking services offered by KIB.</p>
<p style="text-align: justify;">Available for all Zain prepaid and postpaid customers free of charge, the service is accessible through any mobile phone (non-smart phone also) and does not require any special downloads or software installations, It is like having a KIB branch on your mobile phone.</p>
<p style="text-align: justify;">Al-Dawli Connect mobile banking allows customers to perform a number of banking functions, including transfers between a customer’s accounts, credit card inquiry, Finance inquiry and it will have zain bill payments.</p>
<p style="text-align: justify;">Only Dail <strong>*866#</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=613</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>High Level Design Document Template</title>
		<link>http://al-atari.net/?p=608</link>
		<comments>http://al-atari.net/?p=608#comments</comments>
		<pubDate>Mon, 05 Mar 2012 12:04:08 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=608</guid>
		<description><![CDATA[The High Level Design Document is a pretty important document for a project, covering at a high level the overall design of the solution. If one were to try and present a very succinct summary of the High Level Document, it could be something like this: - Detailed use case scenarios of key process flows [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">The High Level Design Document is a pretty important document for a project, covering at a high level the overall design of the solution. If one were to try and present a very succinct summary of the High Level Document, it could be something like this:<br />
- Detailed use case scenarios of key process flows of the application<br />
- The class model and relationships<br />
- The sequence diagrams which outline key use case scenarios<br />
- The data/object model with relational table design<br />
- User interface style and design<br />
Another definition of the High Level Design Document would be:<br />
High-level design is the transitional step between WHAT [requirements for sub-systems] the system does, and HOW [architecture and interfaces] the system will be implemented to meet the system requirements. This process includes the decomposition of system requirements into alternative project architectures and then the evaluation of these project architectures for optimum performance, functionality, cost, and other issues [technical and non-technical]. Stakeholder involvement is critical for this activity. In this step, internal and external interfaces are identified along with the needed industry standards. These interfaces are then managed throughout the development process.</p>
<p>Some examples of a High Level Document available at these links:<br />
<a href="http://www.bitformation.com/art/sample_sw_design_doc.doc" target="_blank">Link 1</a>, <a href="http://openacs.org/doc/openacs-4/filename.html" target="_blank">Link 2</a>, <a href="http://supreme.state.az.us/cot/Archives/FY07/060810&amp;11/efilingDesignDraft.pdf" target="_blank">Link 3</a>, <a href="http://www.csc.calpoly.edu/~jdalbey/205/Deliver/designDocFormat.html" target="_blank">Link 4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=608</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Verify Kuwait civil id number</title>
		<link>http://al-atari.net/?p=606</link>
		<comments>http://al-atari.net/?p=606#comments</comments>
		<pubDate>Sun, 26 Feb 2012 23:06:51 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=606</guid>
		<description><![CDATA[You can verify if the civil id number is correct or not by the following equation : 11 – Mod(( c1 * 2 ) + ( c2 * 1 ) + ( c3 * 6 ) + ( c4 * 3 ) + ( c5 * 7 ) + ( c6 * 9 ) + [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">You can verify if the civil id number is correct or not by the following equation :<br />
<strong>11 – Mod(( c1 * 2 ) + ( c2 * 1 ) + ( c3 * 6 ) + ( c4 * 3 ) + ( c5 * 7 ) + ( c6 * 9 ) + ( c7 * 10 ) + ( c8 * 5 ) + ( c9 * 8 ) + ( c10 * 4 ) + ( c11 * 2 )),11) = check digit</strong></p>
<p style="text-align: justify;">CX: present digit number</p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=606</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validate a URL using regular expressions</title>
		<link>http://al-atari.net/?p=600</link>
		<comments>http://al-atari.net/?p=600#comments</comments>
		<pubDate>Sun, 26 Feb 2012 01:41:50 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=600</guid>
		<description><![CDATA[URL:http://www.regular-expressions.info Today, I had to build web form that took user input from standard ASP.NET input controls. In one of the text boxes the user must to enter a valid URL, so I had to make some validation logic. But first of all, I had to find out what kind of URL’s we would accept [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.regular-expressions.info">URL:http://www.regular-expressions.info</a></p>
<p style="text-align: justify;">Today, I had to build web form that took user input from standard ASP.NET input controls. In one of the text boxes the user must to enter a valid URL, so I had to make some validation logic. But first of all, I had to find out what kind of URL’s we would accept as being valid. These are the rules we decided upon:</p>
<ul style="text-align: justify;">
<li>    The protocol must be http or https</li>
<li>    Sub domains are allowed</li>
<li>    Query strings are allowed</li>
</ul>
<p style="text-align: justify;">Based on those rules, I wrote this regular expression:</p>
<p style="text-align: justify;"><strong>(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?</strong></p>
<p style="text-align: justify;">It is used in a RegularExpressionValidator control on the web form and on a business object in C#.</p>
<p style="text-align: justify;">&lt;asp:RegularExpressionValidatorrunat=&#8221;Server&#8221;</p>
<p style="text-align: justify;"><span style="color: #000000;">  </span>ControlToValidate=&#8221;txtUrl&#8221;</p>
<p style="text-align: justify;"><span style="color: #000000;">  </span>ValidationExpression=&#8221;(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?&#8221;</p>
<p style="text-align: justify;"><span style="color: #000000;">  </span>ErrorMessage=&#8221;Please enter a valid URL&#8221;</p>
<p style="text-align: justify;"><span style="color: #000000;">  </span>Display=&#8221;Dynamic&#8221;/&gt;</p>
<p style="text-align: justify;">Here is the server-side validator method used by the business object:</p>
<p>&nbsp;</p>
<p style="text-align: justify;">using<span style="color: #000000;"> System.Text.RegularExpressions; </span></p>
<p style="text-align: justify;"><span style="color: #000000;">  </span></p>
<p style="text-align: justify;">privatebool<span style="color: #000000;"> IsUrlValid(</span>string<span style="color: #000000;"> url) </span></p>
<p style="text-align: justify;"><span style="color: #000000;">{ </span></p>
<p style="text-align: justify;"><span style="color: #000000;">  </span>returnRegex<span style="color: #000000;">.IsMatch(url, </span>@&#8221;(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?&#8221;<span style="color: #000000;">); </span></p>
<p style="text-align: justify;"><span style="color: #000000;">}</span></p>
<p style="text-align: justify;">You can add more protocols to the expression easily. Just add them to the beginning of the regular expression:</p>
<p style="text-align: justify;"><strong>(http|https|ftp|gopher)://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?</strong></p>
<p style="text-align: justify;">You can also allow every thinkable protocol containing at least 3 characters by doing this:</p>
<p style="text-align: justify;"><strong>([a-zA-Z]{3,})://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=600</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DevExpress Webinars &#8211; Using CodeRush in XAF</title>
		<link>http://al-atari.net/?p=597</link>
		<comments>http://al-atari.net/?p=597#comments</comments>
		<pubDate>Fri, 24 Feb 2012 18:56:49 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=597</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/3HR38aD7TCo" frameborder="0" width="384" height="317"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=597</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DevExpress Webinars &#8211; XAF UI Customizations</title>
		<link>http://al-atari.net/?p=592</link>
		<comments>http://al-atari.net/?p=592#comments</comments>
		<pubDate>Thu, 23 Feb 2012 20:48:53 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=592</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/YTqa7rFBHn8" frameborder="0" width="350" height="317"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=592</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XAF &#8211; Creating an XAF Application</title>
		<link>http://al-atari.net/?p=586</link>
		<comments>http://al-atari.net/?p=586#comments</comments>
		<pubDate>Thu, 23 Feb 2012 13:55:04 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=586</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/eFLRvQXTBEA" frameborder="0" width="382" height="317"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=586</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XAF &#8211; The Security System</title>
		<link>http://al-atari.net/?p=583</link>
		<comments>http://al-atari.net/?p=583#comments</comments>
		<pubDate>Thu, 23 Feb 2012 13:54:13 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=583</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/fIczFFZeBFU" frameborder="0" width="395" height="317"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=583</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XAF &#8211; Extending Functionality</title>
		<link>http://al-atari.net/?p=580</link>
		<comments>http://al-atari.net/?p=580#comments</comments>
		<pubDate>Thu, 23 Feb 2012 13:52:26 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=580</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/UnlxDY-BBec" frameborder="0" width="488" height="317"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=580</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7 AJAX Loading Icon Generators</title>
		<link>http://al-atari.net/?p=574</link>
		<comments>http://al-atari.net/?p=574#comments</comments>
		<pubDate>Thu, 12 Jan 2012 15:48:41 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=574</guid>
		<description><![CDATA[ If you want to inform your websites’ visitor that there are more information to be displayed or still to be loaded on your page, you may need a “loading” or “wait” icon, or I simply called it a preloader image. AnAjaxloading icon is also most commonly used on AJAX-base sites and applications. However, not all [...]]]></description>
			<content:encoded><![CDATA[<p> If you want to inform your websites’ visitor that there are more information to be displayed or still to be loaded on your page, you may need a “loading” or “wait” icon, or I simply called it a preloader image. AnAjaxloading icon is also most commonly used on AJAX-base sites and applications. However, not all of us have the skills to design and create such icons. Here, we present to you online tools that will generate anAJAXloading icons and some sites which have a collection of it that are ready for download.</p>
<ol>
<li> <a href="http://preloaders.net/" target="_blank">Preloaders.net</a></li>
<li> <a href="http://ajaxload.info/" target="_blank">Ajaxload</a></li>
<li> <a href="http://www.loadinfo.net/" target="_blank">Load Info</a></li>
<li> <a href="http://www.webscriptlab.com/" target="_blank">Web Script Lab</a></li>
<li>
<h5><a href="http://www.chimply.com/" target="_blank">Chimply</a></h5>
</li>
<li>
<h5> <a href="http://mentalized.net/activity-indicators/" target="_blank">mentalized Activity Indicators</a></h5>
</li>
<li>
<h5><a href="http://www.sanbaldo.com/wordpress/1/ajax_gif/" target="_blank">SanBaldo Ajax Loading Animated GIF</a></h5>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=574</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clear IE7 Browsing History From the Command Line</title>
		<link>http://al-atari.net/?p=572</link>
		<comments>http://al-atari.net/?p=572#comments</comments>
		<pubDate>Thu, 12 Jan 2012 15:45:50 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=572</guid>
		<description><![CDATA[If you like to build batch files to automate cleanup on your computer, you’ll probably want to include at least one of these commands in your batch script. You can automate any one of the functions on the Internet Explorer 7 Delete Browsing History dialog. And here’s the commands that correspond to the different buttons. [...]]]></description>
			<content:encoded><![CDATA[<p>If you like to build batch files to automate cleanup on your computer, you’ll probably want to include at least one of these commands in your batch script. You can automate any one of the functions on the Internet Explorer 7 Delete Browsing History dialog.</p>
<p>And here’s the commands that correspond to the different buttons. The most important one from a cleanup perspective is the first, which will delete just the temporary internet files that are cluttering up your computer. </p>
<p>To use these commands, just run them from the command line, the start menu search box in vista, or a batch file.</p>
<p><strong>Temporary Internet Files</strong></p>
<p>RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8</p>
<p><strong>Cookies</strong></p>
<p>RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2</p>
<p><strong>History</strong></p>
<p>RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1</p>
<p><strong>Form Data</strong></p>
<p>RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16</p>
<p><strong>Passwords</strong></p>
<p>RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32</p>
<p><strong>Delete All</strong></p>
<p>RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255</p>
<p><strong>Delete All – “Also delete files and settings stored by add-ons”</strong></p>
<p>RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351</p>
<p> These commands should work in Internet Explorer 7 on XP or on Windows Vista.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=572</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create Your Own DotNetNuke “Keep Alive” Service</title>
		<link>http://al-atari.net/?p=569</link>
		<comments>http://al-atari.net/?p=569#comments</comments>
		<pubDate>Thu, 12 Jan 2012 15:44:50 +0000</pubDate>
		<dc:creator>Mohammed Al-Atari</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://al-atari.net/?p=569</guid>
		<description><![CDATA[Does your DotNetNuke (DNN) or ASP.net website running on the Microsoft .Net technology perform poorly when someone visits it? Have you tried performance tuning without success? Most often, these DNN performance issues are due to the website application code having to load into memory. Typically, an ASP.net application stays running in memory until a certain [...]]]></description>
			<content:encoded><![CDATA[<p>Does your DotNetNuke (DNN) or ASP.net website running on the Microsoft .Net technology perform poorly when someone visits it? Have you tried performance tuning without success?</p>
<p>Most often, these DNN performance issues are due to the website application code having to load into memory. Typically, an ASP.net application stays running in memory until a certain period of inactive time has elapsed. At this point, the operating system removes the application code from memory until the next time a website application request occurs. In a shared hosting environment, this allows for more efficient usage of memory resources for the websites which are active.</p>
<p>However, the downside for your inactive website is usually a big performance hit the first time your website application loads into memory again. A typical solution used by many website owners to overcome this performance problem is to use a “Keep Alive” service, which forces your application code to stay in memory.</p>
<p>“Keep Alive” services accomplish this by “pinging” your website at configured intervals. This simply keeps the website application from reaching the set “inactivity setting” where it is removed from memory.</p>
<p>While Microsoft does have a <a href="http://www.iis.net/expand/ApplicationWarmUp" target="_blank">Application Warm-Up</a> feature in progress for the IIS 7.5 environment, not everyone has their IIS environment upgraded to the 7.5 version. Also, those sites running on shared hosting environments may not even have this option available for them to use.</p>
<p>There are websites available which will provide this service for you, some free, many for a fee. The reality though is that it is very simple to create your own “Keep Alive” service.</p>
<p>All this requires is a copy of the Visual Basic Express development environment, which you can download for free from Microsoft’s website. Once downloaded and installed, simply create a new console application, which will create a new module file by default.</p>
<p>Simply replace the default code Visual Studio added to this new module with the code below. You can add lines in the Main procedure to check as many sites as needed.</p>
<p>Compile the application and then copy the application executable file from the project bin folder to a place on your hard drive. You can use Windows scheduler to run the application every 5, 10 or 15 minutes. It will then ping your website for you automatically.</p>
<p>As an added benefit, the application will send you an email if it does not receive a valid response code from the ping operation. Using these emails gives you a simple site monitor, so that you can know if your site goes down for any reason and approximately when based on the time of the email.</p>
<p>&nbsp;</p>
<pre>Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Net.Mail

Module Startup

    Sub Main()
        Call CheckOneSite("http://www.part-time-work-at-home-opportunities.com/keepalive.aspx")
        Call CheckOneSite("http://www.site2.com")
        Call CheckOneSite("http://www.site3.com")
        Call CheckOneSite("http://www.siten.com")
    End Sub

    Private Sub CheckOneSite(ByVal pUrl As String)
        Try
            ' Create a request for the URL.       
            Dim lRequest As WebRequest = WebRequest.Create(pUrl)

            ' If required by the server, set the credentials.
            lRequest.Credentials = CredentialCache.DefaultCredentials

            ' Get the response.
            Dim lResponse As HttpWebResponse = _
                    CType(lRequest.GetResponse(), HttpWebResponse)

            'Check the response code
            If lResponse.StatusCode &lt;&gt; HttpStatusCode.OK Then
                Dim lSb As New StringBuilder
                lSb.AppendFormat("Received an invalid Http response code: {0}", _
                                    lResponse.StatusCode.ToString)
                Call SendNotification(pUrl, lSb.ToString)
            End If

            lResponse.Close()

            Console.WriteLine(Now.ToString &amp; " - Site Check Ok: " &amp; pUrl)

        Catch ex As Exception
            Call SendNotification(pUrl, ex.Message)
        End Try
    End Sub

    Private Sub SendNotification(ByVal pUrl As String, ByVal pMessage As String)
        'Start by creating a mail message object
        Dim MyMailMessage As New MailMessage()

        'From requires an instance of the MailAddress type
        MyMailMessage.From = New MailAddress("&lt;email&gt;@gmail.com")

        'To is a collection of MailAddress types
        MyMailMessage.To.Add("&lt;email&gt;@gmail.com")

        MyMailMessage.Subject = String.Format("SiteChecker error: {0}", pUrl)
        MyMailMessage.Body = pMessage

        'Create the SMTPClient object and specify the SMTP GMail server
        Dim SMTPServer As New SmtpClient("smtp.gmail.com")
        SMTPServer.Port = 587
        SMTPServer.Credentials = New  _
            System.Net.NetworkCredential("&lt;email&gt;@gmail.com", "&lt;password&gt;")
        SMTPServer.EnableSsl = True

        Try
            SMTPServer.Send(MyMailMessage)
        Catch ex As SmtpException
            Console.WriteLine(ex.Message)
        End Try

    End Sub

End Module</pre>
<pre> </pre>
]]></content:encoded>
			<wfw:commentRss>http://al-atari.net/?feed=rss2&#038;p=569</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

