<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8861690609459881792</id><updated>2011-11-28T10:48:48.626+10:00</updated><category term='Vista'/><category term='Windows'/><category term='Email'/><category term='Delphi'/><title type='text'>A Geek's Voice</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://voiceofgeek.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://voiceofgeek.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Samir Kumar Mishra</name><uri>http://www.blogger.com/profile/14088080259482491311</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_5jYh7n4e07Y/RsJslP6lHGI/AAAAAAAAAZw/KDzjxH67zdQ/s320/Me.PNG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8861690609459881792.post-3210523473363706093</id><published>2009-06-25T11:24:00.002+10:00</published><updated>2009-06-25T11:27:44.260+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Locate Open Unit on Disk</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Delphi can open Windows Explorer and highlight the open file as well. Here is how to setup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Tools -&gt; Configure Tools -&gt; Add&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Title: Explorer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Program: Explorer.exe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Working Dir: &lt;leave&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Parameters: /select, $EDNAME&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Next time you want to locate a file from IDE on disk. Select Tools-&gt;Explorer.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8861690609459881792-3210523473363706093?l=voiceofgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voiceofgeek.blogspot.com/feeds/3210523473363706093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://voiceofgeek.blogspot.com/2009/06/locate-open-unit-on-disk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/3210523473363706093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/3210523473363706093'/><link rel='alternate' type='text/html' href='http://voiceofgeek.blogspot.com/2009/06/locate-open-unit-on-disk.html' title='Locate Open Unit on Disk'/><author><name>Samir Kumar Mishra</name><uri>http://www.blogger.com/profile/14088080259482491311</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_5jYh7n4e07Y/RsJslP6lHGI/AAAAAAAAAZw/KDzjxH67zdQ/s320/Me.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8861690609459881792.post-4147453964258362053</id><published>2009-04-03T08:59:00.004+10:00</published><updated>2009-04-03T09:07:13.498+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><title type='text'>Validating Email ID</title><content type='html'>&lt;div style="text-align: justify;"&gt;Sometimes we are in a situation where we need to validate an email id in our applications.  Recently I had one such requirement in one of my project and found this piece of code that validates an email id (string) and returns a &lt;span style="font-weight: bold;"&gt;boolean &lt;/span&gt;value indicating whether the email id is a well formed email id.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; InvalidEmailFormat(&lt;span style="font-weight: bold;"&gt;const &lt;/span&gt;AEmailAddress: String): Boolean;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;var&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  LIndex: Integer;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  LTemp : string;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;  // ' ', ä, ö, ü, ß, [, ], (, ), : in EMail-Address&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-family:courier new;"&gt;Result := (Trim(AEmailAddress) = '') &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos(' ', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos('ä', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos('ö', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos('ü', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos('ß', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos('[', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos(']', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos('(', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos(')', AnsiLowerCase(AEmailAddress)) &gt; 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           (Pos(':', AnsiLowerCase(AEmailAddress)) &gt; 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="font-weight: bold;"&gt;if&lt;/span&gt; Result &lt;span style="font-weight: bold;"&gt;then&lt;/span&gt; Exit; // @ not in EMail-Address;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  LIndex  := Pos('@', AEmailAddress);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Result  := (LIndex = 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; (LIndex = 1) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; (LIndex = Length(AEmailAddress));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="font-weight: bold;"&gt;if&lt;/span&gt; Result &lt;span style="font-weight: bold;"&gt;then&lt;/span&gt; Exit;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Result  := (Pos('@', Copy(AEmailAddress, LIndex + 1, Length(AEmailAddress) - 1)) &gt; 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="font-weight: bold;"&gt;if&lt;/span&gt; Result &lt;span style="font-weight: bold;"&gt;then&lt;/span&gt; Exit; // Domain &lt;= 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  LTemp   := Copy(AEmailAddress, LIndex + 1, Length(AEmailAddress));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Result  := Length(LTemp) &lt;= 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   &lt;span style="font-weight: bold;"&gt;if&lt;/span&gt; Result &lt;span style="font-weight: bold;"&gt;then&lt;/span&gt; Exit;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  LIndex  := Pos('.', LTemp);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Result  := (LIndex = 0) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; (LIndex = 1) &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; (LIndex = Length(LTemp));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This piece of code proved to be very handy for me whenever I needed to validate the email address entered by user.&lt;br /&gt;&lt;br /&gt;Until Next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8861690609459881792-4147453964258362053?l=voiceofgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voiceofgeek.blogspot.com/feeds/4147453964258362053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://voiceofgeek.blogspot.com/2009/04/validating-email-id.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/4147453964258362053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/4147453964258362053'/><link rel='alternate' type='text/html' href='http://voiceofgeek.blogspot.com/2009/04/validating-email-id.html' title='Validating Email ID'/><author><name>Samir Kumar Mishra</name><uri>http://www.blogger.com/profile/14088080259482491311</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_5jYh7n4e07Y/RsJslP6lHGI/AAAAAAAAAZw/KDzjxH67zdQ/s320/Me.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8861690609459881792.post-3819049053081007426</id><published>2009-03-09T13:43:00.000+10:00</published><updated>2009-03-09T13:49:08.912+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Media Player Play State in Delphi</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:verdana;"&gt;Ever wondered or spent lots of time figuring out how to manipulate the Windows Media Player in Delphi. I mean TWindowsMediaPlayer (ActiveX control). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Today I had to retrieve the status of media being played in Media player to find out whether the media is paused or not. After hunting for almost 30 mins I found a way to read the same.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;type&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  WMPPlayState = TOleEnum;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;const&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsUndefined = $00000000;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsStopped = $00000001;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsPaused = $00000002;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsPlaying = $00000003;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsScanForward = $00000004;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsScanReverse = $00000005;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsBuffering = $00000006;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsWaiting = $00000007;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsMediaEnded = $00000008;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsTransitioning = $00000009;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsReady = $0000000A;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsReconnecting = $0000000B;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  wmppsLast = $0000000C;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family: courier new;"&gt;WMPlayer.playState&lt;/span&gt; can be used to retrieve the same. The possible values are the ones mentioned above.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Until Next Time.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8861690609459881792-3819049053081007426?l=voiceofgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voiceofgeek.blogspot.com/feeds/3819049053081007426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://voiceofgeek.blogspot.com/2009/03/media-player-play-state-in-delphi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/3819049053081007426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/3819049053081007426'/><link rel='alternate' type='text/html' href='http://voiceofgeek.blogspot.com/2009/03/media-player-play-state-in-delphi.html' title='Media Player Play State in Delphi'/><author><name>Samir Kumar Mishra</name><uri>http://www.blogger.com/profile/14088080259482491311</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_5jYh7n4e07Y/RsJslP6lHGI/AAAAAAAAAZw/KDzjxH67zdQ/s320/Me.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8861690609459881792.post-7572355790675641020</id><published>2009-02-24T09:20:00.000+10:00</published><updated>2009-02-24T09:22:50.574+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Memory Mapped File in Delphi</title><content type='html'>&lt;div style="text-align: justify;"&gt;One of the recent learning of mine is to use Memory Mapped File in Delphi. These are the great ways to share data among various libraries within the same application instance.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 1:&lt;/b&gt; Define a &lt;b&gt;Record&lt;/b&gt; Structure and a &lt;b&gt;Pointer&lt;/b&gt; to the record.&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;type&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  PRecordInfo = ^TRecordInfo;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  TRecordInfo = packed record&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Field1 : ShortString;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Field2 : Integer;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Field3 : Integer;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end; //TInstanceInfo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 2 :&lt;/b&gt; Variable Declaration. I prefer to do it in implementation section for many good reasons known to Delphi Programmers.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: courier new;"&gt;var&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  FMappingHandle : THandle    = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  FRecordInfo    : PRecordInfo= nil;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  FMappingName   : String     = '';&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Step 3:&lt;/b&gt; Manipulate Memory mapped file. Use the code snippets below to perform the operation as per your business logic.&lt;br /&gt;&lt;br /&gt;{ To Create a Mapping File }&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: courier new;"&gt;FMappingHandle := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, SizeOf(TRecordInfo), @FMappingName[1]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;FRecordInfo    := MapViewOfFile(FMappingHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TRecordInfo));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;FRecordInfo.Field1 := 'Value 1';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;FRecordInfo.Field2 := 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;FRecordInfo.Field3 := 1;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;{ To Open the Memory Map File }&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: courier new;"&gt;FMappingName   := 'SomeNametoUniquelyIdentifyTheMappingFile';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;FMappingHandle := OpenFileMapping(FILE_MAP_ALL_ACCESS, false, @FMappingName[1]);&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;{ To Read the File Contents}&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: courier new;"&gt;FRecordInfo := MapViewOfFile(FMappingHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TRecordInfo));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;LVariable1 := FConfigInfo^.Field1;//Read the Contents &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;LVariable2 := FConfigInfo^.Field2;//Read the Contents &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;LVariable3 := FConfigInfo^.Field3;//Read the Contents&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Enjoy working with Memory mapped files. I found them best way to share data among different modules of the application. They are quite useful if you have one EXE and multiple DLLs in an application.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8861690609459881792-7572355790675641020?l=voiceofgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voiceofgeek.blogspot.com/feeds/7572355790675641020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://voiceofgeek.blogspot.com/2009/02/memory-mapped-file-in-delphi.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/7572355790675641020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/7572355790675641020'/><link rel='alternate' type='text/html' href='http://voiceofgeek.blogspot.com/2009/02/memory-mapped-file-in-delphi.html' title='Memory Mapped File in Delphi'/><author><name>Samir Kumar Mishra</name><uri>http://www.blogger.com/profile/14088080259482491311</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_5jYh7n4e07Y/RsJslP6lHGI/AAAAAAAAAZw/KDzjxH67zdQ/s320/Me.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8861690609459881792.post-2186603932311055659</id><published>2009-02-19T21:37:00.001+10:00</published><updated>2009-02-19T21:41:13.195+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Vista - Lost Network Icon and Volume Icon</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: verdana;"&gt;For sometime I'm having this problem with my Vista machine. I am loosing the Volume Icon, Power , Network icon located in the task bar (System Tray). I tried multiple ways to get them back but so far only one resource helped more than anything else. This is the help from &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://support.microsoft.com/kb/945011"&gt;Microsoft Knowledgebase&lt;/a&gt;&lt;span style="font-family: verdana;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;But last week after I lost my icon even the trick mentioned in this document did not bring it back. Now I am searching for some ways to get those icons back. Has anyone experienced the similar problem and have a full-proof solutions? I would love to hear from you.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8861690609459881792-2186603932311055659?l=voiceofgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voiceofgeek.blogspot.com/feeds/2186603932311055659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://voiceofgeek.blogspot.com/2009/02/vista-lost-network-icon-and-volume-icon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/2186603932311055659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/2186603932311055659'/><link rel='alternate' type='text/html' href='http://voiceofgeek.blogspot.com/2009/02/vista-lost-network-icon-and-volume-icon.html' title='Vista - Lost Network Icon and Volume Icon'/><author><name>Samir Kumar Mishra</name><uri>http://www.blogger.com/profile/14088080259482491311</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_5jYh7n4e07Y/RsJslP6lHGI/AAAAAAAAAZw/KDzjxH67zdQ/s320/Me.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8861690609459881792.post-2218070934701885310</id><published>2009-02-18T16:57:00.000+10:00</published><updated>2009-02-18T21:48:54.059+10:00</updated><title type='text'>Introducing Geek's Voice</title><content type='html'>&lt;div style="text-align: justify; font-family: verdana;"&gt;A Warm Hello and Welcome to my readers on this new blog of mine. For past 2+ years I've been blogging about various things be it &lt;a href="http://semanticdb.blogspot.com/"&gt;Semantic Database&lt;/a&gt;, &lt;a href="http://www.mithilacuisine.com/"&gt;Mithila Cuisine&lt;/a&gt; or various other blogs. But one thing that was missing in all those blogs were the voice of the inner geek of mine. The opinion about the technology I play with sometime and some of the findings of mine.&lt;br /&gt;&lt;br /&gt;I as a geek have my opinions about the technology I use and also what I learn in my day to day life. Some of those I can share with people I work and some of them are kept aside. But here I am going to share the unbiased opinion about what I learn in my day-to-day life as a geek.&lt;br /&gt;&lt;br /&gt;With these ideas in mind, I started this blog. I hope to share lots of technical insights with the readers in coming days / weeks / months / years.&lt;br /&gt;&lt;br /&gt;Until Next Time....&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8861690609459881792-2218070934701885310?l=voiceofgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voiceofgeek.blogspot.com/feeds/2218070934701885310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://voiceofgeek.blogspot.com/2009/02/introducing-geeks-voice.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/2218070934701885310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8861690609459881792/posts/default/2218070934701885310'/><link rel='alternate' type='text/html' href='http://voiceofgeek.blogspot.com/2009/02/introducing-geeks-voice.html' title='Introducing Geek&apos;s Voice'/><author><name>Samir Kumar Mishra</name><uri>http://www.blogger.com/profile/14088080259482491311</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_5jYh7n4e07Y/RsJslP6lHGI/AAAAAAAAAZw/KDzjxH67zdQ/s320/Me.PNG'/></author><thr:total>0</thr:total></entry></feed>
