Microsoft Most Valuable Professional

Chris Pietschmann

An MVP From Wisconsin

PietschSoft.VE3 v0.03 plus Demo site!

The PietschSoft.VE3 library is really taking shape and has been downloaded 100+ times already. I've even had someone contact me about using my code as the basis for a mapping control they need to create for a project they are working on.

See it in action: http://simplovation.com/Page/WebMapsVE.aspx

In case you haven't heard of or seen this project; the PietschSoft.VE3 library is an ASP.NET server control that wraps up the functionality provided by  Microsoft Virtual Earth v3. The major goal of this project is to allow ASP.NET developers to use Microsoft Virtual Earth mapping in their applications without requiring them to do any JavaScript programming if they don't want to. Let's face it, most ASP.NET developers dislike JavaScript programming.

New in this release:

  • some small bug fixes
  • Added Polyline support

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by crpietschmann on Wednesday, July 26, 2006 1:04 AM
Permalink | Comments (0) | Post RSSRSS comment feed


CSS + DIV = Scrollable area for site content

Using the CSS Overflow property you can create a box of scrollable content in your page without using an IFrame. This means you can have the same visual and usability effect that an IFrame offers and still be search engine friendly.

Here's some example HTML w/ CSS:

<div style="overflow: auto; width: 200px; height: 50px; border: solid 1px blue;">
It's just this simple to do.
It really is!
Isn't CSS great?</div>

 

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Tuesday, July 25, 2006 9:59 PM
Permalink | Comments (0) | Post RSSRSS comment feed


Apple's iCal implemented in .NET/Mono

Now here's an idea that I've had since I first saw iCal and that someone else has now done. I haven't had a chance to install and play around with it yet, but the screenshots look good.

http://www.monocalendar.com/screenshots.html

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Monday, July 24, 2006 2:36 PM
Permalink | Comments (0) | Post RSSRSS comment feed


New Web Service that exposes MSDN content for your consuming needs!

Microsoft released a new XML Web Service that provides access to the content stored in the MSDN/TechNet Publishing System (MTPS). Using this new service, you can integrate documentation, technical articles, whitepapers, images and other content available from the MTPS system into your own application. This looks really cool! I can't wait to see what cool things people do with it.

Below are some links for more information:
Announcing the MTPS Content Service
MTPS Content Service Documentation
msdnman - Command-line MSDN documentation viewer

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: General
Posted by crpietschmann on Friday, July 21, 2006 10:29 PM
Permalink | Comments (0) | Post RSSRSS comment feed

DotNetKicks: Social bookmarking site for .NET

This site is similar to Digg, except that it's just for developers. DotNetKicks.com is a community driven, social bookmarking site for .NET and other Microsoft development technologies.

I encourage others to try out DotNetKicks.

http://dotnetkicks.com

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: General
Posted by crpietschmann on Thursday, July 20, 2006 11:26 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Vista Beta 2: Not my Primary OS anymore

It lasted only a week. I had Vista Beta 2 and Office 2007 Beta installed on my laptop (my primary machine.) Everything was fine (besides my machine running a bit slower) for a couple days, until .NET 2.0 decided not to let me debug code anymore. It was strange, all of a sudden, all breakpoints I set in code had stopped working. I was going to try reinstalling the .NET Framework 2.0, but it's not an option with Vista since it's "baked" in the OS. So I tried reinstalling Visual Studio 2005 in an attempt to fix it with no luck. Since I didn't want to take the chance of this happening again, I just decided to put WinXP back on my laptop.

Now, why did I install Vista Beta 2 on my primary machine? Well, it's the only one I have that can run Vista (too bad the graphics card sucks, so Aero wasn't enabled.)

Well, I wont be installing Vista again until after it RTM's since I don't plan on buying a new pc until after that.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: General
Posted by crpietschmann on Thursday, July 20, 2006 11:16 PM
Permalink | Comments (0) | Post RSSRSS comment feed

IIS7: Better Url Mapping support, well not yet...

Recently, I search for articles/documentation about Url Mapping in IIS7, but I couldn't find anything. So, I asked Scott on his blog, "What features does IIS7 offer for Url Mapping?"

Scott replied with the following:
The core IIS7 release provides all the infrastructure to do URL rewriting for all resources (ASP.NET, ASP, PHP, HTML, etc).
The Vista release won't have a URL rewriting rules engine built-in -- although we are looking at making one available as a download in the future.

I was going to enhance my urlMapping code to mirror whatever new features are to come, but apparently there wont be any soon. Oh well, I guess I just have time to work on something else for now.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: General
Posted by crpietschmann on Thursday, July 20, 2006 10:40 PM
Permalink | Comments (3) | Post RSSRSS comment feed

VB.NET: RegEx Syntax Highlighting RichTextBox

RegEx Syntax HighlighterHere is a version of my code for syntax highlighting in a RichTextBox that incorporates regular expressions.

 

Download RegEx Syntax Highlighting RichTextBox Source Code

Source Code Listed:

Public Class SyntaxRTB

Inherits System.Windows.Forms.RichTextBox

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _

(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, _

ByVal lParam As Integer) As Integer

Private Declare Function LockWindowUpdate Lib "user32" _

(ByVal hWnd As Integer) As Integer

Private _SyntaxHighlight_CaseSensitive As Boolean = False

Friend Words As New DataTable

'Contains Windows Messages for the SendMessage API call

Private Enum EditMessages

LineIndex = 187

LineFromChar = 201

GetFirstVisibleLine = 206

CharFromPos = 215

PosFromChar = 1062

End Enum

Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)

MyBase.OnTextChanged(e)

ColorVisibleLines()

End Sub

Public Sub New()

Me.AcceptsTab = True

AddSQLSyntax()

End Sub

Function AddSQLSyntax()

ClearSyntaxWords()

AddSyntaxWord("\b(select|text|ntext|date|datetime|order by|" & _

"group by|smalldatetime|cursor|on|as|for|filename|" & _

"database|drop|function|delete|insert|update|int|" & _

"varchar|nvarchar|bit|binary|table|inner|where|from|" & _

"out|procedure|view|trigger|set)\b", Color.Blue)

AddSyntaxWord("\b@@identity\b", Color.Pink)

AddSyntaxWord("\b(in|join|outer|and|or)\b", Color.Gray)

AddSyntaxWord("\bsp_refreshview\b", Color.Red)

Return True

End Function

Public Function ClearSyntaxWords()

Words = New DataTable

''Load all the keywords and the colors to make them

Words.Columns.Add("Word")

Words.PrimaryKey = New DataColumn() {Words.Columns(0)}

Words.Columns.Add("Color")

Return True

End Function

Public Function AddSyntaxWord(ByVal strWord As String, ByVal clrColor As Color)

Dim MyRow As DataRow

MyRow = Words.NewRow()

MyRow("Word") = strWord

MyRow("Color") = clrColor.Name

Words.Rows.Add(MyRow)

Return True

End Function

Public Sub ColorRtb()

Dim FirstVisibleChar As Integer

Dim i As Integer = 0

While i < Me.Lines.Length

FirstVisibleChar = GetCharFromLineIndex(i)

ColorLineNumber(i, FirstVisibleChar)

i += 1

End While

End Sub

Public Sub ColorVisibleLines()

Dim FirstLine As Integer = FirstVisibleLine()

Dim LastLine As Integer = LastVisibleLine()

Dim FirstVisibleChar As Integer

If (FirstLine = 0) And (LastLine = 0) Then

'If there is no text it will error, so exit the sub

Exit Sub

Else

While FirstLine < LastLine

FirstVisibleChar = GetCharFromLineIndex(FirstLine)

ColorLineNumber(FirstLine, FirstVisibleChar)

FirstLine += 1

End While

End If

End Sub

Public Sub ColorLineNumber(ByVal LineIndex As Integer, ByVal lStart As Integer)

Dim i As Integer = 0

Dim SelectionAt As Integer = Me.SelectionStart

Dim MyRow As DataRow

Dim MyI As Integer

' Lock the update

LockWindowUpdate(Me.Handle.ToInt32)

MyI = lStart

''Turn the whole link black before applying RegEx Syntax matching.

Me.SelectionStart = MyI

Me.SelectionLength = Lines(LineIndex).Length

Me.SelectionColor = Color.Black

''Check for matches in a particular line number

Dim rm As System.Text.RegularExpressions.MatchCollection

Dim m As System.Text.RegularExpressions.Match

For Each MyRow In Words.Rows

'"( |^)1.*2( |$)"

rm = System.Text.RegularExpressions.Regex.Matches(Me.Text, MyRow("Word"))

For Each m In rm

Me.SelectionStart = m.Index

Me.SelectionLength = m.Length

Me.SelectionColor = Color.FromName(MyRow("color"))

Next

Next

' Restore the selectionstart

Me.SelectionStart = SelectionAt

Me.SelectionLength = 0

Me.SelectionColor = Color.Black

' Unlock the update

LockWindowUpdate(0)

End Sub

Public Function GetCharFromLineIndex(ByVal LineIndex As Integer) As Integer

Return SendMessage(Me.Handle, EditMessages.LineIndex, LineIndex, 0)

End Function

Public Function FirstVisibleLine() As Integer

Return SendMessage(Me.Handle, EditMessages.GetFirstVisibleLine, 0, 0)

End Function

Public Function LastVisibleLine() As Integer

Dim LastLine As Integer = FirstVisibleLine() + (Me.Height / Me.Font.Height)

If LastLine > Me.Lines.Length Or LastLine = 0 Then

LastLine = Me.Lines.Length

End If

Return LastLine

End Function

Public Property CaseSensitive() As Boolean

Get

Return _SyntaxHighlight_CaseSensitive

End Get

Set(ByVal Value As Boolean)

_SyntaxHighlight_CaseSensitive = Value

End Set

End Property

End Class

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Monday, July 03, 2006 5:08 PM
Permalink | Comments (8) | Post RSSRSS comment feed

Windows Vista Beta 2: installed on my primary machine

I installed Windows Vista Beta 2 on my laptop yesterday (my primary machine). I didn't have the correct video driver upon install, so everything was 800x600 with only 8bit colors. But the cool thing was; Windows Update had the latest video driver for my hardware listed; so I installed that and everything worked fine. The install for Vista only had 2 steps: 1) enter key, 2) hard drive partitions. It did everything else automagically. Very easy to install!

You are probably thinking I have a pretty fast/new laptop, right? Well, actually my laptop is about 2.5 years old. Below is a comparison of the minimum requirements to my configuration:


Vista Minimum
Supported Requirements
My Laptop Config
Processor 800Mhz 32-bit(x86) or 64bit(x64) 2.4Ghz 32-bit(x86) Celeron
System Memory 512MB 512MB
GPU SVGA(800x600) SVGA(1024x768)
Graphics Memory - 64MB

And with the above configurations, Vista actually runs pretty well. I did however change the visual style to the "Windows Classic" instead of the "Windows Vista Basic" because it seem to increase the performance a little.

I'm still playing around with the new/changed features of the OS, but so far I like it. I also installed Office 2007 Beta and IIS7 Beta.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: General
Posted by crpietschmann on Sunday, July 02, 2006 12:31 PM
Permalink | Comments (0) | Post RSSRSS comment feed

About the author

I'm Chris Pietschmann, go to the About Me page to learn more about me.

Search

Sponsors

Web.Maps.VE - ASP.NET AJAX Virtual Earth Mapping Server Control

Recent comments

Disclaimer


This work is licensed under a Creative Commons Attribution 3.0 United States License, unless explicitly stated otherwise within the posted content.
© Copyright 2004 - 2008 Chris Pietschmann