﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » Updates and Information » StrataFrame Users Contributed Samples  » Code Snippet Editor</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 05:14:23 GMT</lastBuildDate><ttl>20</ttl><item><title>Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost11963.aspx</link><description>This may fall into the category of "Well, duh!" but just in case anybody is lower on the learning curve than I am :&lt;P&gt;There is an extremely cool code snippets editor on the tools menu of VS.&amp;nbsp; Basically is adds stuff to intellisense.&lt;/P&gt;&lt;P&gt;I created a new folder for Strataframe snippets.&amp;nbsp; Here is an example of a Custom Field Property snippet&lt;/P&gt;&lt;P&gt;( this is instead of cutting and pasting from the bo.designer generated code as in the beginner tutorial. Note that the string datatype is hardcoded so either make a&amp;nbsp;$replacement$ for it or remember to&amp;nbsp;change it if your custom field prop isn't string&amp;nbsp;)&lt;/P&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;#Region&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#8b0000&gt;" Custom Field Properties "&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;''' &amp;lt;summary&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;''' $Custom Field Description$ &lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;''' &amp;lt;/summary&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;''' &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;lt;Browsable(&lt;FONT color=#0000ff&gt;False&lt;/FONT&gt;), _&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;BusinessFieldDisplayInEditor(), _&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;Description(&lt;FONT color=#8b0000&gt;"$Custom Field Description$"&lt;/FONT&gt;), _&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)&amp;gt; _&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Public&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;ReadOnly&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Property&lt;/FONT&gt; [$Property Name$]() &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; System.String&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Get&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Return&lt;/FONT&gt; $Property Value$ &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Get&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Property&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Protected&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Overrides&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Function&lt;/FONT&gt; GetCustomBindablePropertyDescriptors() &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; MicroFour.StrataFrame.Business.FieldPropertyDescriptor()&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;'-- Create and return a new array of FieldPropertyDescriptor&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;' objects that contains the ReflectionPropertyDescriptor&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;' for the $Property Name$ field.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Return&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;New&lt;/FONT&gt; MicroFour.StrataFrame.Business.FieldPropertyDescriptor() { _&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;New&lt;/FONT&gt; MicroFour.StrataFrame.Business.ReflectionPropertyDescriptor( _&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#8b0000&gt;"$Property Name$"&lt;/FONT&gt;, &lt;FONT color=#0000ff&gt;GetType&lt;/FONT&gt;($BOName$))}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Function&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;#End Region&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Arial color=#111111&gt;On the Imports tab you enter the stuff that must be imported for this to work&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Arial color=#111111&gt;System.ComponentModel&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Arial color=#111111&gt;Microfour.Strataframe.UI.Windows.Forms&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;For a shorcut I used cpr&lt;/P&gt;&lt;P&gt;Now if you are in the BO code, you just but the cursor under the Event Handlers region, type cpr, hit tab and everthing you see above gets typed in with the cursor on the first Replacement.&amp;nbsp; You fill it in, tab to the next one etc.&lt;/P&gt;&lt;P&gt;If the imports statements are not at the top of the declaration, the snippet editor puts them in !&lt;/P&gt;&lt;P&gt;I think this is cool and I'm pretty sure I've only scratched the surface of the possiblities here.&lt;/P&gt;&lt;P&gt;You may not see the Code Snippet Editor on the Tools menu ( for some reason mine didn't have it ) but if you Google you'll find it for download with easy instructions to install in.&amp;nbsp; Comes with a lot of predone VB stuff as well.&lt;/P&gt;&lt;P&gt;I've added &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;FillbyParam ( fbp )&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Public&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Sub&lt;/FONT&gt; Fillby$Subname$(&lt;FONT color=#0000ff&gt;ByVal&lt;/FONT&gt; $param1$ &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt;)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;'-- Establish locals&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; loCommand &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;New&lt;/FONT&gt; SqlCommand()&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;'-- Build the query&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;loCommand.CommandText = &lt;FONT color=#8b0000&gt;"SELECT $Fieldlist$ FROM $tablename$ WHERE $param1$ like @$param1$+'%'"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#006400&gt;&lt;FONT face="Courier New"&gt;'-- Add the parameter&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;loCommand.Parameters.Add(&lt;FONT color=#8b0000&gt;"@$param1$"&lt;/FONT&gt;, SqlDbType.NVarChar)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;loCommand.Parameters(&lt;FONT color=#8b0000&gt;"@$param1$"&lt;/FONT&gt;).Value = $param1$&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face="Courier New" color=#006400&gt;'-- Execute the command to fill the business object&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;Me.FillDataTable(loCommand)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;End Sub Fillby$Subname$&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;MessageboxYesNo '&lt;/STRONG&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000000&gt; dr &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#000000&gt; DialogResult = _&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;MessageBox.Show(&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#8b0000&gt;"$Message$"&lt;/FONT&gt;,&lt;FONT color=#8b0000&gt;"$Heading$"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;If&lt;/FONT&gt; dr = Windows.Forms.DialogResult.Yes &lt;FONT color=#0000ff&gt;Then&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;End if&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;&lt;FONT size=1&gt;&lt;FONT face=Arial color=#111111&gt;( sorry for the blank lines but I can't figure out how to turn off big line spaces after pasting code )&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;&lt;FONT size=1&gt;&lt;FONT face=Arial color=#111111&gt;Would like to see what you guys who know a lot more about this stuff are doing with snippets&amp;nbsp; :D&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;&lt;FONT size=1&gt;&lt;FONT face=Arial color=#111111&gt;Charles&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=3&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;&lt;FONT size=1&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT face=Arial color=#111111&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Arial color=#111111&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Fri, 14 Mar 2008 13:33:59 GMT</pubDate><dc:creator>Charles R Hankey</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost14899.aspx</link><description>[quote]My most pressing concern has to do with the thought that setting these properties at the BO level can lead to the need to repeat the process for any "new" BOs that are created for the same table.[/quote]&lt;P&gt;This is the first problem...you should not be reproducing the same code again anyway!&amp;nbsp; A business object represents an entity such as a table or view in a database.&amp;nbsp; You should have ONE primary BO that represents this entity.&amp;nbsp; Then if you have a scenario, such as a report, that will extend this business object, then you will create another BO and inherit off of the primary business object.&amp;nbsp; So it will inherit the logic of the parent.&lt;/P&gt;&lt;P&gt;[quote]Is that the case, or does the "*designer" file hold this metadata and therefore can be reused for other BOs that need it? &lt;BR&gt;[/quote]&lt;/P&gt;&lt;P&gt;You NEVER change the designer file as anything you change in this class will be overwritten when you rebuild through the BO Mapper.&amp;nbsp; Add all of your custom code in the MyBo.vb or MyBo.cs file.&amp;nbsp; This is the beauty of partial classes, you can have a single class declaration spread accoss multiple physical files.&amp;nbsp; The way you use this logic on another BO is by inheriting this BO class on the other BO.&lt;/P&gt;&lt;P&gt;[quote]Also, (and this may reflect my ignorance of SF), VFE has a data layer that allows for PEMs at the column, cursor and DataEnvironment levels. Is there something similar in Strataframe? &lt;BR&gt;[/quote]&lt;/P&gt;&lt;P&gt;There are ways to do this, but you will first have to change the way that you current are used to working with data.&amp;nbsp; Most VFP developers (including ourselves) have a hard time learning to deal with disconnected data.&amp;nbsp; Depending on what you are trying to accomplish you may want to do some of this at the BO level by handling the field changed events or one of the many other events of the BO.&amp;nbsp; You can add handler events at the column level or intercept an event anytime ANY field is changed (or accessed).&amp;nbsp; You can see how to add this type of logic in the help docs under the Application Framework -&amp;gt; Business Layer -&amp;gt; Business Object Mapper -&amp;gt; Dynamic Business Object Events.&lt;/P&gt;&lt;P&gt;Secondly, here, some of this may be done at the database level, again depending on what you are trying to accomplish.&amp;nbsp; SQL Server is far superior to VFP databases and tables in every aspect (and this is coming from a once die-hard VFP guy :) ) but requires a change in thinking.&amp;nbsp; There are triggers and cascades just like in VFP that can be handled here as well.&amp;nbsp; &lt;/P&gt;&lt;P&gt;You should not be adding custom code at the DAL.&amp;nbsp; You can however handle events that affect what the DAL actually does, but the DAL is the connectivity layer that communicates to the database and should be transparent.&amp;nbsp; I think that some of the Data Access Layer that you are referring to is actually going to be handled in the business layer or related events.&amp;nbsp;</description><pubDate>Fri, 14 Mar 2008 13:33:59 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost14887.aspx</link><description>Good Morning! &lt;br&gt;
&lt;br&gt;
After working with the trial a bit and comparing it to Visual FoxExpress and a custom framework that I've worked with in the past I wanted to discuss a bit further the use of an active Data Dictionary v. the BO Mapper to set properties and behavior for columns in a table. My most pressing concern has to do with the thought that setting these properties at the BO level can lead to the need to repeat the process for any "new" BOs that are created for the same table. Is that the case, or does the "*designer" file hold this metadata and therefore can be reused for other BOs that need it? &lt;br&gt;
&lt;br&gt;
Also, (and this may reflect my ignorance of SF), VFE has a data layer that allows for PEMs at the column, cursor and DataEnvironment levels. Is there something similar in Strataframe? &lt;br&gt;
&lt;br&gt;
Thanks.</description><pubDate>Fri, 14 Mar 2008 10:56:10 GMT</pubDate><dc:creator>Alex Luyando</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost14841.aspx</link><description>Good Morning, Trent -&lt;br&gt;
&lt;br&gt;
Out with the old, in with the new. I like it!&lt;br&gt;
&lt;br&gt;</description><pubDate>Thu, 13 Mar 2008 10:44:46 GMT</pubDate><dc:creator>Alex Luyando</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost14830.aspx</link><description>[quote]Guess two steps forward one step back (tell me it's not the other way). [/quote]&lt;/P&gt;&lt;P&gt;We too are from a VFP background and used to rely heavily on data dictionaries...which in our medical application we are doing everything that we can to get away from it!&amp;nbsp; There are better (and more efficient) ways of accomplishing the same thing in .NET.&amp;nbsp; One thing that most developers moving over from VFP have a hard time initially grasping is disconnected data.&amp;nbsp; When we were developing in VFP, you opened a table and BOOM...all of your records were there.&amp;nbsp; Even if you were using views it still had to bring the data to the client to do the work since there was not a server.&lt;/P&gt;&lt;P&gt;Relying heavily on a data dicitonary in a disconnected data application (which will be any application from this point forward) can create a slow and unresponsive application.&amp;nbsp; Thus most develpoers take a different approach.&amp;nbsp; It took us a while when we first stepped into .NET and disconnected data from VFP because we were trying to basically use the same techniques on a new technology....which just won't work...and it shouldn't.&lt;/P&gt;&lt;P&gt;I think that as you move forward you will discover hundreds of new things that will make your life much easier and better...so though at first glance it appears as though there has been a step back or two, that is just because we have generally been trying to look at it from the same perspective as when we were developing in VFP when there&amp;nbsp;is ultimately a better and more efficient way in .NET.</description><pubDate>Wed, 12 Mar 2008 16:11:24 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost14828.aspx</link><description>Wow.... very cool seeing some familiar names from the VFE forum... making me think we're doing the right thing by looking at SF.. :) &lt;br&gt;
&lt;br&gt;
Any tips? Funny Charles' comment about the DBCX... we've started having discussions about the various frameworks we're looking at and I had mentioned that the lack of an active data dictionary is not so cool... Guess two steps forward one step back (tell me it's not the other way). &lt;br&gt;
&lt;br&gt;
By the way, did you guys look at any other frameworks (e.g., CSLA or devForce)? &lt;br&gt;
&lt;br&gt;
________________&lt;br&gt;
_____/ Regards,   &lt;br&gt;
____/ al      &lt;br&gt;</description><pubDate>Wed, 12 Mar 2008 15:56:23 GMT</pubDate><dc:creator>Alex Luyando</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost12638.aspx</link><description>Hey Randy&lt;br&gt;
&lt;br&gt;
Well, I'm certainly to the point when I go back to the VFP debugger it is like looking at the FPW 2.6 debugger from VFP.&lt;br&gt;
&lt;br&gt;
You and I have been spoiled in VFP by using VFE ( which has great design similarity with SF ).  We've been using objectified data, SQL backends and business objects for years.    &lt;br&gt;
&lt;br&gt;
But I see from VB .NET books that there are a lot of .NET folks doing the equivalent of writing table based 2 tier VFP apps.  I think SF is going to keep us going in the direction of best-practices in .NET the way VFE does in VFP.  &lt;br&gt;
&lt;br&gt;
I'm still having a little trouble warming up to .NET's idea of inheritance, but there are some cool parts ( partial classes ) that make it just different, not necessarily inferior.&lt;br&gt;
&lt;br&gt;
The one thing I'm finding still weak in the .NET world ( though it probably has a lot to do with my incomplete understanding of  the underlying architecture ) is data-driving processes - especially what appears to be the absence of a data dictionary on the level of DBCX2.  I'm hoping the SF DDT evolves in that direction.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;</description><pubDate>Tue, 13 Nov 2007 06:20:43 GMT</pubDate><dc:creator>Charles R Hankey</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost12634.aspx</link><description>Very cool Charles.  Thanks for posting this.  So, have you got to the point where you say "Yuck!" when you have to go back to VFP?  (I'm still not there yet but gradually I'm seeing the coolness of the VS IDE)</description><pubDate>Mon, 12 Nov 2007 20:42:15 GMT</pubDate><dc:creator>Randy Jean</dc:creator></item><item><title>RE: Code Snippet Editor</title><link>http://forum.strataframe.net/FindPost12548.aspx</link><description>no kidding..."Duh"...I can't believe I didn't think of this!  (smacks head on desk)&lt;br&gt;
&lt;br&gt;
:blush:&lt;br&gt;
&lt;br&gt;
Thanks!</description><pubDate>Wed, 07 Nov 2007 18:44:38 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item></channel></rss>