# 3 Some thoughts small and larger issues in the computer-world

  • #1 Using virtual machines
    As a developer you always face the problem with different versions of MS Windows as well as different versions of MS Excel. As a non-english developer you also face the problems with "international issues". The situation can sometimes be both cumbersome and complicated.


    So the main question is how to deal with it? The only answer is to have access to the most frequent versions of both the operating systems and Excel.


    We have several options to choose between. However, no matter which solution we decide to use we need to buy legal copies of every software we intend to use, unless the license rules explicit state otherwise.


    The options we have are:
    1) Using several computers. Usually we save the outdated computer(s) and use them as test-enviroments.
    2) Dual boot on one cumputer, at bootup we can choose which operatingsystem we would like to run.
    3) Virtual machines.


    "Virtual machines" means that we have one operating system which acts as the host and where we have several operating systems as virtual guests (e.g both Windows and Linux) on one computer.
    The solution requires more RAM and more hard disk space but nowadays both these two items are considered as inexpensive.


    Over a year ago I decided to use virtual machines and I was a little bit skeptical in the first place but changed my opinion along the road.


    In addition to the "usual" requirements: you have at least 512 MB RAM, but I highly recommend using 1 GB for best performance. Each
    operating system need a minimum 4-6 GB. If You plan to use databases or other softwares that require space then you need about 8 - 12 GB available free space for each guest-operating system.


    At least two software packages exist that do the job in a nice and reliable way:


    vmWare Workstation 4.5
    http://www.vmware.com/


    This is the #1 software for working with virtual machines, which is also reflected in the price...
    vmWare works excellent with Windows and outstanding with Linux. If You plan to run a mixed enviroment, i.e both Windows and Linux then this software is the one and only.


    With Linux, you should consider not using the latest version, unless it's officially supported by wmWare.


    I have no problems with USB-devices, shared folders, drag & drop and accessing other network-resources. Neither with Windows or Linux as guest-operatingsystems.


    Microsoft Virtual PC 2004
    http://www.microsoft.com/windows/virtualpc/default.mspx


    Virtual PC only officially support Windows and as such this limits its use with other operatingsystem like Linux. However, unofficially, Virtually PC works with most of the Linux-distribution, although not as good as vmWare does.


    In general, Virtual PC is a good option, especially if you plan to only use Windows-systems and are not prepared to take a loan to get a copy of vmWare.


    #2 Format textfield to currency in userforms
    Below is a code-example which shows how we can easily format
    a textfield's value to the local currency that is used by Windows (via the settings).


    [vba]
    Option Explicit


    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me.TextBox1
    If Not .Text = Empty Then
    Cancel = CheckNumeric(TextBox1)
    If Not Cancel Then .Value = Format(CDbl(.Text), "Currency")
    End If
    End With
    End Sub


    Private Function CheckNumeric(TxtBox As MSForms.TextBox) As Boolean
    Dim stNumber As String
    stNumber = TxtBox.Text


    If IsNumeric(stNumber) Then
    Select Case stNumber
    Case Is < 0
    MsgBox "The number must be greater then one.", vbExclamation
    TxtBox.Text = Empty
    CheckNumeric = True
    Case stNumber - Int(stNumber) = 0
    CheckNumeric = False
    End Select
    Else
    MsgBox "Only numerical values like 100 or 100,25 is acceptable.", vbExclamation
    TxtBox.Text = Empty
    CheckNumeric = True
    End If


    End Function
    [/vba]


    #3 Kudos to Microsoft
    On public forums, people usually express their disappointed about vendors & manufactures. Sometimes the critism is fair and sometimes not. But we rarely give them any credits or do we?


    Microsoft have done great work over the last 1 - 2 years by providing and sharing more information and knowledge about their software. We can all benefit from it and leverage the use of their products in our daily work. In financial terms, we can express it as a higher return on investments (ROI) ;).


    I´m very pleased with it and I can only hope Microsoft, will in the future, continue to support the global community in this way.


    The following URL are starting points and I highly recommend to visit them:
    Microsoft Developers Center:
    http://msdn.microsoft.com/developercenters/
    Microsoft Developers Library:
    http://msdn.microsoft.com/library/default.asp
    Microsoft Excel Developers (Check out the technical articles and the reference documentation):
    http://msdn.microsoft.com/offi…anding/excel/default.aspx
    Microsoft Knowledge Base:
    http://support.microsoft.com/d…spx?scid=fh;EN-US;KBHOWTO
    Microsoft Office:
    http://office.microsoft.com/en-us/default.aspx
    Office Update:
    http://office.microsoft.com/en-us/officeupdate/default.aspx


    #4 Amazing!
    The first really large project I got involved in was in the late 80's where I delivered a solution in the old macro-language, XLM. Last week I got a call from the client who asked if I could add some additional features to it. The solution is still running on a daily basis 12 months per year.
    Last time I made any changes must have been 1993 or 1994 (at least what I can remember!) so no improvements have been made over the years.


    The amazing thing is that it´s still in use after more then 15 years, irrespectively of the rapid developing of technoloqy and softwares. It´s a great feeling that a solution you have created is still in use year after year both local, nationwide and sometimes, also worldwide :)


    The client has no intention to "upgrade" it as, "if it ain't broken don't fix it"!


    The less amazing thing is I need to recapitulate the old language but that´s another story...


    #5 The End
    We are, more or less, all slowly dying due to age while some of us are doing it a little bit faster for other reasons.


    If you have family members, friends and/or working colleagues who are facing the later situation, give them your time and friendship as much as possible. It's the most valuable contribution we all can give no matter who we are, where we are, or how much money we have.


    Finally, by living, you put yourself into a high-risk project but the benefit of living can't be measured, so turn off the d... computer(s) and take part in life!