<?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:blogger='http://schemas.google.com/blogger/2008' 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-3738160657200171884</id><updated>2024-09-15T19:35:23.564-07:00</updated><category term="Raven"/><category term="Beginning"/><category term="Website"/><category term="inbetween"/><category term="measure string"/><category term="programming basics"/><category term="skills"/><category term="vb.net"/><title type='text'>#learningcode</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-6757293389612096101</id><published>2012-04-22T18:22:00.003-07:00</published><updated>2012-04-22T18:24:11.446-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="measure string"/><category scheme="http://www.blogger.com/atom/ns#" term="vb.net"/><title type='text'>Measuring the length of each line of a string</title><content type='html'>I needed to have the ability to measure the length of each line of a string that would be displayed in a text box using vb.net.&lt;br /&gt;
&lt;br /&gt;
This is what it does: You tell it the string that you want to use, the text control that it is going to use and the number of rows you want to display. The function builds line-by-line the string until no more will fit and returns the new string that will fit within that control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Private Function fitTextToLength(stringToFit As String, textfield As Object, rows As Short)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; This function is very important for displaying text in the alerts properly.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; stringToFit is the string that is going to be used to populate the control&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; textField is the object where teh text will be placed. We will have to consider the size&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of the field for this function.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; rows indicated how many rows is wanted for the field. Multiline fields would be more then 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; depending on useage requirements&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Split the words&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim words() As String = stringToFit.Split(&quot; &quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim complete As Boolean = False&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim counter As Short = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim row As Short = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim stringLine As String = String.Empty&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim finalText As String = String.Empty&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Loop until we find a complete string&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; While Not (complete)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Build a string to mesaure&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; This is built word-by-word until the string is too long for the objects width&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Each word is not added to the string until it is known that it will fit.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim myString As String = stringLine &amp;amp; words(counter) &amp;amp; &quot; &quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Measure the string length for comparision&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim g As Graphics = Graphics.FromHwnd(textfield.Handle)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim f As SizeF = g.MeasureString(myString &amp;amp; &quot;...&quot;, textfield.Font)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Determine if the built string fits the width of the object&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If f.Width &amp;lt;= textfield.width Then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Concatenate the string to the main string&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stringLine = myString&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; counter += 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Check to see if we have reach the max row&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If row = rows Then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Show that there is more text using &quot;...&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finalText += &quot;...&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Complete the loop&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; complete = True&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Increase the row&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; row += 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Concat the final text&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finalText += stringLine&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Clear the stringLine for the next line to build&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stringLine = String.Empty&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Make sure that we don&#39;t go beyond the array&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If counter &amp;gt;= words.Length Then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Concat the build string to the main string&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finalText += myString&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Exit the loop&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; complete = True&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End While&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Return the result.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Return finalText&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; End Function&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/6757293389612096101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2012/04/measuring-length-of-each-line-of-string.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6757293389612096101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6757293389612096101'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2012/04/measuring-length-of-each-line-of-string.html' title='Measuring the length of each line of a string'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-472435225371435844</id><published>2012-03-16T04:08:00.002-07:00</published><updated>2012-03-16T04:09:00.441-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Raven"/><title type='text'>Progress</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
It might seem like I have lost interest in this
project, but I haven’t! I am not rushing it. I have written three different
versions so far – the first two I was not happy with – yet I borrowed several
things from each version to make the third version. I am really quite happy
with what I have going on right now. It fixes so many problems that SGA had.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
With classes, work, and my son’s surgery, I really
have not had that much time to work on Raven. Like I said above, I am taking it
slow. I am trying to make sure it is designed well. I am avoiding shortcuts
that just make the program work and trying to be as organized as possible. I
have been using some new techniques that I have picked up from various sources.
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
I will have a lot of time next week to do some
work on Raven, so hopefully it is productive. A few of the major parts still
need to be written, like the code to save data files. I also have to make it
possible to load SGA save files for compatibility. The alerts need more work
too, but the basic foundation is definitely there for them.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/472435225371435844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2012/03/progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/472435225371435844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/472435225371435844'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2012/03/progress.html' title='Progress'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-3058929485740969820</id><published>2012-02-02T12:38:00.000-08:00</published><updated>2012-02-02T12:38:12.656-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Raven"/><title type='text'>Lack of drive</title><content type='html'>Some times I can write code non-stop and get projects done really quickly. Right now I have very little drive to &amp;nbsp;work on anything. I have been slowly doing some design work on the user interface; a few designs I really like, while others are not so great. The program can&amp;nbsp;retrieve&amp;nbsp;email, but it is not at all refined.&lt;br /&gt;
SGA is having calendar issues and I just don&#39;t have the energy to fix it. I feel like I have writers block. I am trying to do other things to get motivated, but honestly I&#39;d rather just sleep all day.</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/3058929485740969820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2012/02/lack-of-drive.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/3058929485740969820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/3058929485740969820'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2012/02/lack-of-drive.html' title='Lack of drive'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-7951901889786663808</id><published>2012-01-14T13:47:00.000-08:00</published><updated>2012-01-14T13:48:03.410-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Raven"/><title type='text'>Starting a project</title><content type='html'>My wife asked me how I start my programming projects. I explained it is a lot like having to write a paper for a class and is often times the hardest part of the project. Small projects start easily and are finished quickly since they have a goal in mind and&amp;nbsp;relatively&amp;nbsp;little to code. Big projects like Raven take a lot more time.&lt;br /&gt;
&lt;br /&gt;
To start I researched some of the things that I would need in-order to accomplish what I wanted to do. Things like IMAP support and the new features of Windows.&lt;br /&gt;
&lt;br /&gt;
I drew up plans for what the program would do, and the basic outline for the modules. I also planned out an rough guess of what the forms would look like. I spend quite a bit of research trying to find out what interfaces work best for the program I am making so that users will be able to easily use the program.&lt;br /&gt;
&lt;br /&gt;
Something that may seem unrelated is my website, yet it is not. A strong web presence is important since I don&#39;t sell my software in stores or anything. Another step in starting my project involved redoing my site and adding a section for Raven. I have decided to do a few things differently then I did with SGA in terms of the website. SGA updates through the update form and can automatically down the files needed on the click of a button. Raven will alert a user to an update and link to the website where the update can be found. This will make the website more of a source for users and will make it possible for me to only maintain one setup version. Each update will have a dedicated page that will have useful information for users so that they can download files easily.&lt;br /&gt;
&lt;br /&gt;
With having the update section of the website started, I was able to begin the Raven project with the updating part of my code. It made&amp;nbsp;sense&amp;nbsp;to add that first because with a project that is underdevelopment, having a way to update to new versions will be&amp;nbsp;important&amp;nbsp;for testing. Rather than using the text file that SGA uses, Raven is using the more robust XML file:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; Load data into variable&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim update As updateInformation&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With update&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.major = CShort(document...&amp;lt;version&amp;gt;...&amp;lt;major&amp;gt;.Value)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.minor = CShort(document...&amp;lt;version&amp;gt;...&amp;lt;minor&amp;gt;.Value)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.month = CShort(document...&amp;lt;version&amp;gt;...&amp;lt;month&amp;gt;.Value)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.day = CShort(document...&amp;lt;version&amp;gt;...&amp;lt;day&amp;gt;.Value)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.text = document...&amp;lt;text&amp;gt;.Value&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.URL = document...&amp;lt;URL&amp;gt;.Value&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.requiredUpdate = CBool(document...&amp;lt;required&amp;gt;.Value)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End With&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
From there I started designing my forms. It is important to me that all the forms have a uniform look. Coming up with a nice design from the beginning is important so that I don&#39;t have to redo all the forms later in development. SGA went through many different versions because the UI was always being improved and the underlying code was always being rewritten for efficiency. I am trying to make Raven better from the start.&lt;br /&gt;
&lt;br /&gt;
So since I stated the actual coding, I figured it would be best to make a documentation file of all the things that I actually finished for my own record. It helps to know what you worked on and what your ideas were, my memory is not good enough where I can just remember everything.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOTES&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Things to do:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add application variables to remember system settings.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Implement detection for the computer going idle so that alerts show once&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;user returns.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Start alert windows, and client GUI.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;January 8, 2012&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cleaned up code and removed additional form that was the startup form.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Moved account code to the same file into a new module.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Started making send email window.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Some performance enhances.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;More testing of present functions.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added IMAP stop function&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added power mode handler&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added windows shutdown handler&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added display changes handler&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;January 7, 2012&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Experimented with IMAP IDLE (push) support&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Worked on client UI and added meesages to display&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;January 5, 2012&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Created a account management window UI&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;January 4, 2012&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Designed message checking system that loads new messages in to each accounts &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;queue and to a new message queue.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Using events to alert the program to completed message checking, messages&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;are passed to the function to initiate alerts and update the ui&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;various supporting functions were added. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A toolstrip along the bottom showing the progress of message checking and&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;program status added.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Did some testing to get emails to see if program would run correctly.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;January 3, 2012&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Updates:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Started working on the startup commands. Switch -exit shutdown the program.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added some IMAP support&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added classes to cover accounts and messages&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added the start of an alert messaging system&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Did research on how IMAP works.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;January 2, 2012&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Icons: &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://www.webiconset.com/category/free-icons/&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://mediadesign.deviantart.com/art/HP-Dock-Icon-Set-71481581&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://www.freeiconsweb.com/Free-Downloads.asp?id=1700&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Updates:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fixed debug error that was prevening me from using breakpoints&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added update function the the application startup as a seperate function&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;that can be easily called from anywhere. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Included forced update for alpha and beta versions&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;created sample xml file on server for updates&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Designed update window interface&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added taskbar icon that looks like an envelope&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Started settings window design&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Made post on dream in code for UI designs on settings.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Added tabless tabs to the settings page to ease design process and make&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;things more efficient.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add my name and a link to my website.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setup general, display, connection, sounds, technical, security, contacts,&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and credits tabs.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Started design on a comments window to allow users to easily contact me.&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
I am working slowly on Raven to make it better. My college classes have resumed and I am back to work after having a holiday break, so development will probably be even slower now. Yet so far, Raven is interfacing with IMAP and able to display messages. It is far from finished, but it is a start.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/7951901889786663808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2012/01/starting-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/7951901889786663808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/7951901889786663808'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2012/01/starting-project.html' title='Starting a project'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-6107052336243818297</id><published>2012-01-02T18:46:00.001-08:00</published><updated>2012-01-02T18:46:38.226-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Raven"/><title type='text'>Progress</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
It has been bugging me lately because I haven’t
gotten much complete with Raven. I have wanted to work on it, but haven’t had
the energy. I sat down today with a blank project and just started designing
what came to mind. I started with the update section of the program so that all
future versions will be able to get instant updates about new versions. From
there I continued with the design on other forms and did a little interface
code. It looks like a basic shell for the program is coming out of the work I
did today. It feels good to have something started, that is always the hardest
part for me. Tomorrow I hope to get some of the core functions implemented.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/6107052336243818297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2012/01/progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6107052336243818297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6107052336243818297'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2012/01/progress.html' title='Progress'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-7768551737370009342</id><published>2011-12-13T09:14:00.000-08:00</published><updated>2011-12-13T09:14:34.251-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Raven"/><category scheme="http://www.blogger.com/atom/ns#" term="Website"/><title type='text'>Website</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
I am starting slow. I know that I need to have a
good foundation in order to be able to have a stable product. I cannot rush
this. &amp;nbsp;I have started by updating my
website; this serves two purposes: firstly, I am taking an easy HTML class and
needed to get reacquainted with it, and second, the website is the first thing
people see before trying the product. My site was too simple and plain. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
While it is still in progress, it is getting
better. I have the basic layout designed, and now need to add content. What is
present is enough to get you around, but it is lacking. Everything will be
uniform, even the update pages. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
I have decided that updates will be different in
Raven, rather than being downloaded from the program, updates will by only available
for the web page. Raven will tell you there is an update and take you to the
webpage. Each update will have its own page with information dedicated to that
update; this should help when there are major changes through the development.&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
Lastly, getting some creativity from making the
website better will help the rusty cogs in my mind to start turning fast enough
for me to get some code into the IDE. I am trying to get myself into the
programming state where I can write good code very quickly. I aam getting close
to that point.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/7768551737370009342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/website.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/7768551737370009342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/7768551737370009342'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/website.html' title='Website'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total><georss:featurename>179-225 W Apple Ave, Muskegon, MI 49440, USA</georss:featurename><georss:point>43.2341813 -86.2483921</georss:point><georss:box>43.187907300000006 -86.3273561 43.2804553 -86.1694281</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-6623424326240838767</id><published>2011-12-11T10:20:00.001-08:00</published><updated>2011-12-13T09:06:52.523-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Raven"/><title type='text'>Raven design</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
I am doing Raven&lt;i&gt; differently&lt;/i&gt;. I started with paper
drawing and designs of what it could be like. I wrote out all the things that
it could do and determined the things that it will need to have. This is much
in contrast to how I did things with Scott’s Gmail Alert.&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
Scott’s Gmail Alert was designed around the
alerts. Once the alerts were made, I added more options until it continued to
grow. Where in the problem lies, this ended up making it so that parts had to be
rewritten since they were not compatible with the new code, or duplicate code
with very minor differences had to be added. That is not very efficient. Also,
SGA relied on the computer’s memory too much.&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
Raven is going to &lt;i&gt;combine the strengths&lt;/i&gt; of SGA,
Terrie’s Recipe Manager, my group project for Advanced Visual Basic class and
Smart Thinking. SGA was great for its alert management and large number of
options. Terrie’ Recipe Manager has a very useful interface. Smart Thinking
made good use of modular code that was independent. My group project was able
to maintain data using databases. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
Raven needs all of these things to be successful.
Memory management, being lightweight and able to silently run in the task bar
are going to be the main attributes that will allow Raven to be a great email alerting
client. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
While I have not written any code &lt;i&gt;yet&lt;/i&gt;, it will
start soon. I am trying to get over being sick at the moment, so that I will
have a clear mind when I start. I am going to begin with setting up a special
directory and try to start organized – so that I finish organized.&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/6623424326240838767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/raven-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6623424326240838767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6623424326240838767'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/raven-design.html' title='Raven design'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total><georss:featurename>179-225 W Apple Ave, Muskegon, MI 49440, USA</georss:featurename><georss:point>43.2341813 -86.2483921</georss:point><georss:box>43.187907300000006 -86.3273561 43.2804553 -86.1694281</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-6870666032525389242</id><published>2011-12-07T14:39:00.001-08:00</published><updated>2011-12-07T14:59:56.951-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Raven"/><title type='text'>Raven</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
I have renewed my interest in coding. Classes are
over and the break is starting. I will have a lot of time to sleep and recover
from being sick. While Scott’s Gmail Alert has been very stable for this year
with very few major issues reported, I have a longing to do something bigger
and better than SGA. I envision a program that acts as a full-fledged email
client, yet is small and runs silently in the task bar. Email should not be
complicated&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
.&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
Personally, I am techier than the average person
that I come across and have different needs when it comes to my email. I don’t
need to ask how to attach a file. In fact, there are times I wish I could do
more with my email. The client that I envision is simple to use and able to be
programmed to do things no other client can do. A user may which to interface
with another peripheral, run a script or manage a database. One contact may be
more important than another and require a more obvious alert. The possibilities
are endless for what could be done. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
I am announcing my new project: &lt;i&gt;Raven&lt;/i&gt;. With full
support for IMAP protocols and the convenience of SGA merged together with new
features and ideas. &lt;i&gt;Raven&lt;/i&gt; is a sort of code name since the project has not even
really started yet and has no name. I don’t want to concern myself with naming
it at this time, I’d rather build it. There are many things I want to improve
on with SGA, but I don’t see much future for a program limited only to Gmail. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
I have decided, and hope to follow through with,
that I will post progress to this web log. My thoughts and ideas, programming
techniques and maybe even some code will be included. My goal is twofold: I
want to document the process all while creating a great new program. Current
users of SGA will be able to have a reduced upgrade price for &lt;i&gt;Raven&lt;/i&gt;, if they
wish to leave SGA; new users will have the option of either a trial version of
full version for a low cost. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;i&gt;Raven’s&lt;/i&gt; user experience will start in the
installer. I will not use a third party installer, instead I will create my own
to ensure that from the users perspective, &lt;i&gt;Raven&lt;/i&gt; is there to make life easier.
There will be opportunities to help with the project in the future.&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
Raven is named after a unit in the game StarCraft 2 until a final name can be decided on.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/6870666032525389242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/raven.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6870666032525389242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6870666032525389242'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/raven.html' title='Raven'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>1</thr:total><georss:featurename>Muskegon, MI, USA</georss:featurename><georss:point>43.2341813 -86.2483921</georss:point><georss:box>43.187907300000006 -86.3273561 43.2804553 -86.1694281</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-841826737024928734</id><published>2011-12-07T13:46:00.001-08:00</published><updated>2011-12-07T14:35:13.429-08:00</updated><title type='text'>Technique</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
I have learned a few things in my time programming
that might save you some time. The ideas shouldn’t be &lt;i&gt;new&lt;/i&gt;, but you might not
have taken them all that seriously. The first tip is probably something that
anyone working with computer has heard at least one: &lt;i&gt;backup your work&lt;/i&gt;. The
second tip: &lt;i&gt;finish your work in the correct place&lt;/i&gt;.&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpFirst&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;b&gt;Backup your work&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
This is more than having another copy of your code
saved somewhere safe; yet still, it is a good idea to save your code in
multiple places in well labeled directories so that you can find what you need,
when you need it. Backup while programming is much more involved. Since your
work is always changing and can contain thousands of lines of code, it is near
impossible to revert back to where you started if you mess something up. Since
a program is modular, you can easily finish a module and make sure it works
before starting on another section. This is a great time to save your work, and
make a copy. Anytime you want to veer off and try something that you are not
sure will work, save your work and make a copy. My reasoning is that you will
be able to go back to a point where you know the code worked. Trying to go back
and revert changes can end up creating more mistakes in the long run that you
have to debug and fix. If Visual Studio, or whatever IDE you are using, crashes
and corrupts the file you are working on, you can go back to one that you know
works. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
If you are like me, you heard about backup and
didn’t think it was too important. I figured I would be okay too, until one day
Visual Studio corrupted everything. I could not recover any of my work and had
to start over from scratch. There were other times when I made drastic changes
trying to debug a problem and ended up making things worse. I hate the feeling
when my head feels heavy and my blood is boiling because I can’t fix something
that worked before I decided to experiment with a different idea. I was so
close to being done for the night, but gave myself extra work that had to be
finished… because of my second tip.&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;b&gt;Finish your work in the correct place.&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
This might seem a bit abstract, but it really is
an important point. Think about when you write a letter or a paper: would you
take a break in the middle of a sentence? Probably not, because you want to
complete the thought before it is lost. It is the same with programming. Making
comments for yourself about what you are thinking and what your ideas are for
continuing really help you get back on track with where you left off.
Alternatively, you can send yourself emails of your ideas, if that suits you.
The important thing is to remember your thought process and the ideas that you
have tried and considered trying. It really is best to finish the day when the
part you are working on is complete and working. This will allow you to start
fresh the next time you sit down and able to pursue different parts of the
program without having to get back in the mindset of a previous day. &lt;/div&gt;
&lt;div class=&quot;MsoNormalCxSpMiddle&quot;&gt;
This idea of where to stop for the day is abstract
since everyone is different. You may be able to pick-up right where you left
off with no issues, you may not. Just remember, if there is a serious flaw in
your code and you have been trying to fix it for hours, keeping notes of where
you have been and where you are headed can greatly improve your productivity.
Try different methods like commenting the code and emailing yourself to see
what works best. I find emailing myself can help keep the issue in the front of
my mind so that I might be able to come up with a solution even while I am not
sitting at the computer coding.&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/841826737024928734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/technique.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/841826737024928734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/841826737024928734'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/technique.html' title='Technique'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-2831705104240203267</id><published>2011-12-07T12:49:00.002-08:00</published><updated>2011-12-07T13:41:48.007-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="inbetween"/><title type='text'>Code block</title><content type='html'>&lt;p class=&quot;MsoNormalCxSpFirst&quot;&gt;I have not written much in a while. For a long time I have felt worn out and tired down to my bones; I have had no energy to do much of anything. In contrast, there have been times when I couldn’t do anything other than write code; it practically consumed me. It is for that reason that I have been burnt out for so long – I haven’t found the safe medium where I can continue to be creative and have energy to keep a healthy momentum. &lt;/p&gt;  &lt;p class=&quot;MsoNormalCxSpMiddle&quot;&gt;The amount of energy it takes to write code is amazing. I don’t think about my project when I have time to dedicate to development exclusively – I go as far as dreaming about it in my sleep; I think about it in the shower and on the drive to the store. While this is happening I am able to get things done quickly and solve problems extremely well. The issue arises when the headaches start and my concentration becomes short. It has been so bad for me that I have dropped some of my classes in college because I could not focus on anything, even the easy stuff. I graduated Magna Cum Laude with my Associates Degree; I should be able to do it again with my Bachelors.&lt;/p&gt;  &lt;p class=&quot;MsoNormalCxSpMiddle&quot;&gt;So what is a good way to keep things under control? From what I can tell, playing video games is a great way to avoid burn out. There is an exception: only play games that don’t require too much thinking! I have been playing StarCraft 2, which is known as a thinking man’s game because of all the strategy involved, and it has helped increase my burn out. Playing something like Left 4 Dead or Angry Birds is much better to cleanse the mind. The point here is to entertain yourself and get your brain to stop thinking so much. It needs a break! &lt;/p&gt;  &lt;p class=&quot;MsoNormalCxSpMiddle&quot;&gt;I have felt my health declining for a little while now. I notice that when I am programming or playing games that I tend to eat too much and get no exercise. This could be one of the reasons I feel old and achy. Getting out of my comfy chair to do some activity would be a good start. My wife has been giving me vitamins that are supposed to give me more energy. &lt;/p&gt;  &lt;p class=&quot;MsoNormalCxSpMiddle&quot;&gt;I can feel the rusty cogs in my head are starting to turn; I am getting ideas for a new project. It will be hard to change the way I do things, but it should be beneficial in the long run to try and balance my time so that I don’t get burned out so fast. Being more active and eating better will help. Working on individual sections at a time and taking break will help. Playing games will give my mind a rest. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/2831705104240203267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/code-block.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/2831705104240203267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/2831705104240203267'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/code-block.html' title='Code block'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-4908058213783396407</id><published>2011-12-07T12:49:00.001-08:00</published><updated>2011-12-07T12:49:23.161-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="skills"/><title type='text'>Skills</title><content type='html'>&lt;p class=&quot;MsoNormalCxSpFirst&quot;&gt;I have been at this stuff for awhile, yet I still don&#39;t have any idea what part of programming I am best at. I always keep my interests in finding a need for a piece of software that could be useful, at least to someone. My most successful projects began as programs that I had a need for personally. Programming is not as simple as understanding the logic and syntax, you have to have the ideas and enthusiasm to complete a project all the way until it is finished.  The hierarchy in picking a career path does not end once you decide to be a programmer: there are so many aspects within the programming world that you may never experience. &lt;/p&gt;  &lt;p class=&quot;MsoNormalCxSpLast&quot;&gt;It seems that video game programming is the most well known, as far as I have noticed; it is also a very diverse segment in itself. It is very difficult to create a game by yourself. An individual cannot get things done as quickly as a group. An individual cannot be talented in as many areas as a group. What exactly would you do as a game programmer? It is about more than writing the code; a game requires many different types of programming to be successful: &lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left:1.0in;mso-add-space:auto; text-indent:-.25in;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family: Symbol&quot;&gt;·&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Logic programming to control the aspects of the game that are not static. Things like gravity, sprites, and projectiles. &lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:1.0in;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family: Symbol&quot;&gt;·&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Network programming to allow for online multiplayer connections.&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:1.0in;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family: Symbol&quot;&gt;·&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Graphics programming to maximize graphical performance and have the best graphics.&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:1.0in;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family: Symbol&quot;&gt;·&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Interfacing programming so that the awesome code that was written can be used easily and fully by the user.&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left:1.0in;mso-add-space:auto; text-indent:-.25in;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family: Symbol&quot;&gt;·&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;And several more could easily be included.&lt;/p&gt;  &lt;p class=&quot;MsoNormalCxSpFirst&quot;&gt;So my point? My point is that being a programmer is like being a piece in a puzzle. While you may have the power to create applications on a small scale that doo amazing things, your power can be exponentially greater in a team of individuals with individual talents. You have to be able to work on your own or in a team. There are times when you will need to do both in order to succeed. &lt;/p&gt;  &lt;p class=&quot;MsoNormalCxSpMiddle&quot;&gt;Even with the projects that I have worked on, I have had the help and support of other people who share an interest in the project. It is amazing how the internet allows people to come together to create something. Even if someone doesn’t have the experience to write code, they can be instrumental in helping create a great program because they have insight from a different aspect then you might have. Your program could do everything and clean the dishes, but if it is hard to use no one will want to use it. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/4908058213783396407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/skills.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/4908058213783396407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/4908058213783396407'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/12/skills.html' title='Skills'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-5910359467441152373</id><published>2011-05-15T09:04:00.000-07:00</published><updated>2011-05-15T10:10:42.661-07:00</updated><title type='text'>Variables</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;Programming is based on mathematics. &lt;b&gt;Variables&lt;/b&gt; are used in the same manner as in an algebraic formula: storage. The only thing that is different is that they are much more advanced in what they can do. &lt;i&gt;Variables are the most basic of objects used in programming. &lt;/i&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Like in math, we need a place to store &lt;b&gt;numbers&lt;/b&gt;. That is where variables for the type short, long, integer, and double are used. &lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;b&gt;short&lt;/b&gt;: Limited to being between &lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;-32768 and 32767&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;long&lt;/b&gt;: Limited to being between &lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;-2147483648 and 2147483647&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;integer&lt;/b&gt;: Limited to being between &lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt; -2147483648 and 2147483647&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;double&lt;/b&gt;: Limited to numbers with decimals&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The main difference between the different types is that they use different amounts of memory. In most cases short variables will suffice, unless you are working with really big numbers. Most people seem to default to integers since memory is not very limited any more, yet I still like to use shorts whenever possible.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now what if you need to declare something other than a number? What else can variables store? &lt;b&gt;Strings of characters&lt;/b&gt; are another common thing for programmers to store. A string in simply a list of characters that make up text. &lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;i&gt;This is a string.&lt;/i&gt;&lt;/blockquote&gt;There are to variable types that can store characters: &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;b&gt;Char&lt;/b&gt;: Stores one character.&lt;/div&gt;&lt;div&gt;&lt;b&gt;String&lt;/b&gt;: Stores an array of characters.&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Again, the difference of the two types above is that the memory required to store one character and storing a list of them is very different. Most commonly a string is used verses a char.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sometimes you may need to keep track of whether something is true or false. This is the core of a computer system relating directly to the binary in which it operates. As a variable, we call them of the type&lt;b&gt; boolean&lt;/b&gt;. Any variable of the type boolean can store a value of either true or false.&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Additional, you can store advanced objects into variables. Advanced objects are ones that you create using &lt;b&gt;classes &lt;/b&gt;and &lt;b&gt;structures&lt;/b&gt;. While these advanced variables might not seem very useful at first as you begin programming, later with more advanced programs you will find that they are very useful and save a lot of time. &lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;b&gt;Structures&lt;/b&gt;: As the name implies, a structure is an object that contains things, much like a house or a building does. While these things are not like those of a house, they are important to the programmer. The structure is a collection of other variables, like shorts and strings. The big difference between the basic variables and a structure is that a structure holds much more information then a basic variable. &lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;b&gt;Classes&lt;/b&gt;: A more advanced structure is called a class. Each class is similar to a structure as they hold many different variables, but in addition a class also can hold subroutines and functions that can be used to ensure that the data stored in the class is correct. This is very handy when it comes to classes that store calculated data by having the calculations occur automatically when a new object is dimensioned.&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Visual Basic:&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Dim number as short&lt;/div&gt;&lt;div&gt;Dim trueFalse as boolean&lt;/div&gt;&lt;div&gt;Dim myText as string&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Structure customStructure&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;Dim name as string&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;Dim age as short&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;Dim phoneNumber as string&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;End Structure&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dim myStructure as New customStructure&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Public Class customClass&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;Dim name as string&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt; &lt;/span&gt;Dim age as short&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt; &lt;/span&gt;Dim phoneNumber as string&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;Sub New(name as string, age as short, phoneNumber as string)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;Me.name = name&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;Me.age = age&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;Me.phoneNumber = phoneNumber&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;End Class&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dim myClass as New customClass&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/5910359467441152373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/05/variables.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/5910359467441152373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/5910359467441152373'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/05/variables.html' title='Variables'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-5404407458666389854</id><published>2011-05-11T06:40:00.000-07:00</published><updated>2011-05-15T08:56:21.378-07:00</updated><title type='text'>Getting started</title><content type='html'>&lt;div&gt;Programming is not something that is &lt;i&gt;static&lt;/i&gt;. As you continue to create progjects, you style and solutions &lt;i&gt;will change&lt;/i&gt;. The basics of programming will not change, no matter the language that you are using. &lt;/div&gt;&lt;br /&gt;Current programming technology encapsulates &lt;b&gt;Object Oriented Programming&lt;/b&gt; (OOP) as the main basis for allowing interaction between the user and the computer. Event driven coding has replaced the old line coding in the early days of computers.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;What is OOP? Objects surround us in the real world, yet most people probably don&#39;t examine the details of objects as fully as they could. Without objects, what would there be in the world? Think about what an really object is: It is a physical thing that you can touch, therefore it has texture, shape, coutour, weight, size, mass, and color. Depending on the object it may only have one purpose, or it could have several. Programming objects are the exact same, they have their own parameters and characteristics.&lt;/div&gt;&lt;br /&gt;When I wrote code using DOS in a language called QBASIC, often times the programs were very limited in scope. Each program did one thing, and did it well. Now with todays technology, applications are required to do many things at the same time, and often are required to duplicate themselves to complete the task given. This is where objects are needed. As a programmer,&lt;i&gt; you must identify all the aspects of what your object is made of&lt;/i&gt;. What is the problem that you are trying to solve with your program?&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;Event driven&lt;/b&gt; code is another important thing to learn about. Back with DOS, code executed line by line until the program was complete. This was before users could use a mouse to make selections, and the major of the computer systems were text based.&lt;i&gt; Event driven programming involves code that only runs on an event, like the user clicking a button.&lt;/i&gt; Subroutines and functions become a big factor in event driven code, and thinking modularly is very important. Event driven code can stay dormant until it is used, or be used multiple times by the program. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/5404407458666389854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/05/getting-started.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/5404407458666389854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/5404407458666389854'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/05/getting-started.html' title='Getting started'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3738160657200171884.post-6393091057081435856</id><published>2011-05-11T05:42:00.000-07:00</published><updated>2011-05-11T05:54:28.961-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Beginning"/><category scheme="http://www.blogger.com/atom/ns#" term="programming basics"/><title type='text'>The first post for #learningcode</title><content type='html'>I work at a college as the computer lab assistant of the library. While I consider myself to be above average in computer skill, I feel like my job is not very challenging. Answering questions all day about how to print a document and how to setup the formatting is no more a challenge then getting dressed in the morning. Therefore in my free time I do what I love: &lt;i&gt;coding&lt;/i&gt;. Writing software makes you think, it is not an easy process that one can just memorize an answer to.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Coding is a skill&lt;/b&gt;. While anyone  can do it, those who are more technically included and who are excellent problem solvers are more likely to succeed. I consider myself to be creative in my means, and detailed in my results. Debugging is a major part of programming, as is the user interaction.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Though my work in High School, to my many attempts to create a successful program that user want to use, I have learned a lot. Because of this, I have decided to start this blog, to help others with the theories of programming, and the aspects that cannot be forgot.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a lab assistant, I see many aspiring programmers struggle with some of the most basic of programming ideas. &lt;b&gt;It is my goal to help with the basics&lt;/b&gt;, so please feel free to ask any questions that you may have. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://graphicportcode.blogspot.com/feeds/6393091057081435856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://graphicportcode.blogspot.com/2011/05/first-post-for-learningcode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6393091057081435856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3738160657200171884/posts/default/6393091057081435856'/><link rel='alternate' type='text/html' href='http://graphicportcode.blogspot.com/2011/05/first-post-for-learningcode.html' title='The first post for #learningcode'/><author><name>Scott Merryfield</name><uri>http://www.blogger.com/profile/13694167430798591829</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://4.bp.blogspot.com/_zZUnsq6NEmg/Sq7L3rcV4eI/AAAAAAAAABM/DcJbaykwKik/S220/DSC_1097.JPG'/></author><thr:total>0</thr:total></entry></feed>