19 Oct 2010

Arkle bet POS

Arkle bet POS, is our replacement for Arkle ePos.
When you login you will notice a huge difference on the Home Screen, and windows management.  This difference is mainly a new skin, and much 99% of the functionality is the same.
Previously we used a multi document interface, which contained all the Windows under one main parent window.
We have now go rid of this outdated windows management method.
Now each window is a separate window of its on.  And you can press F3 to go back to the home window, which will have all your menus, that you are used to.
All of your normal menus should be available by pressing F3 and looking at the menu bars on the home window.

Faster Printing
Press F3, and then select the scanner window, in settings check the WPF printing checkbox

Bet Slip Editor Window
We have also rebuilt the Bet Slip Editor Window, from scratch
Image size
If you find that the default image size is too small(or too big). You can resize the image using the Zoom+ and Zoom- buttons. If you want all the images to have the same zoom level that you have just changed, you just need to select Actions/Save Zoom.



  • Re-organised the screen, it will take some getting used to, but the layout is much more compact now, and more information is available on the screen.
  • New price shortcuts when editing
    • Type name + [Page Up] (instead of name + [enter]), this adds the selection and takes price @ scan time guaranteed (instead of having to ctrl + G, and confirm]
    • Type name + [Page Down], this adds the selection and takes price @ scan time not guaranteed (instead of having to ctrl + P and confirm]
    • If you want to edit the taken price in this scenario, just do ctrl + P or ctrl + G as before

    6 Oct 2010

    Arkle ePos : Taking Prices Shortcut

    QUICK PRICE ENTRY
    When entering a selection by name you normal type part of the name and press [enter]
    Instead of pressing [enter], you can press [page up], this adds your selection with scan time price guaranteed.
    Or you can press [page down],  this adds your selection with scan time price not guaranteed.
    Version 2.7.19 or above

    Note this currently is not available on entry by number.

    Roulette Videos

    Roulette Videos
    The videos below are samples of the Roulette software. The actual software have much better quality, the videos have been compressed for a better visualization.





     
    Wheel Spinning

    All possible bets

    21 Sept 2010

    WPF Snippets

     

    Formatting Binded Data Samples

    Numeric 2 Decimal Places
    Text="{Binding Path=SlipStake,StringFormat=N2}"

    Custom date Format
    Text="{Binding Path=DateScanned, StringFormat='{}{0:dd-MMM-yy HH:mm:ss}'}"

    Implements INotifyPropertyChanged

    Implements INotifyPropertyChanged

    Implements INotifyPropertyChanged
       Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged

       ' call This when you change a property (also remember to call it ' for read only  properties that use that propered Protected
       Sub NotifyPropertyChanged(ByVal name As String)
           RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))

       End Sub

     

      


    http://msdn.microsoft.com/en-us/library/system.windows.input.keyboardnavigationmode.aspx

    5 Aug 2010

    Unable to copy from obj\debug to bin\debug

    Arrrrgghgghgh this problem reared its ugly head again today.  Occurs whenever I try to build a solution (winforms) on Visual Studio 2010.

    Previously adding this to the build events (My project, compile tab, click build events):
    If exist "$(TargetPath).locked" del "$(TargetPath).locked"

    But after working for ages I started getting the error again.  Found this online though, and added it and looks like we are good again:

    If exist "$(TargetPath).locked" del "$(TargetPath).locked"
    if not exist "$(TargetPath).locked" if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked"

    Microsoft really want to sort this out, as developers typically build a solution more than once, can’t quite get the hang of perfect coding 1st time round yet.

    30 Jul 2010

    DataGridViewComboBoxColumn "value is not valid" on datagrid combobox column bound to enum

    I've been having problems with this error for a while and finally got it solved.

    What we have is a form with a number of datagrids which contain combobox columns bound to enums, which was throwing the error when the form is first opened. We discovered that the enum binding must be set before the datagrid bindings are set on the form or else the error will occur. In our case we were setting a property on the form before showing it then trying to bind the enums.

    The solution was to bind the enums to the datagridcolumns before setting any other properties on the form. To be sure we also set the enum bindings again on the form_load method.

    Another bug in .Net meant that the error was also displayed when we closed the form if the datagrid was not populated, so we set the enum bindings again in the form_closing event, and it all seems to work fine now, thnakfully.

    Note this error only seems to appear if we allow the add rows property of the datagrid.

    24 Jun 2010

    Becoming a better programmer

    Recently we have started training one of our support guys, into becoming a junior developer.  It’s the 1st time we’ve trained someone on the team, who hasn’t coded commercially before.  It got me to thinking about what makes a good developer, and in turn how I can become a better developer.

    I read a few other good blogs on this issue of being a better developer before starting this one.

    It also got me to thinking about how I have improved at developing over my career.  Here are some of the things I’m definitely better at now than I was at university.

    • Naming of methods and refactoring.  I now use clear concise methods, both in their naming and what they do.  If you need to comment in what the method is doing, rather than that being obvious by the name, I think you are doing something wrong.
    • Becoming less likely to jump to a new technology straight away.
    • Building user interfaces that really guide the user from start to finish and require little or no introduction. SSW rules to have some great pointers here.
    • Dotting the i’s and crossing the t’s in a project, getting it deployed and not having it sit in development or ready for deployment state.
    • Searching Google (will it wasn’t there when I was at uni) but I now know when searching which paths it sends me down which are just plain ludicrous and which to follow.  Google can point you in one or two good directions when searching how to solve a coding issue, and thousands of wrong directions.

    Then I started thinking, what am I worse at than I was when I came out of university.

    • Becoming less likely to learn a new technology quickly (didn’t I mention about that in the positives above) – yeah but there are pluses and minuses to it.
    • Deploying projects before they are fully ready.

    My main tips to becoming a better developer

    • Name your methods and classes will, if they don’t make good sense when you are developing them, you are going to have a lot of trouble maintaining them.
    • REFACTOR REFACTOR REFACTOR!!!
    • Build user interfaces that don’t need instructions and are in the main self explanatory
    • Get involved in teaching others what tips & techniques you have acquired, this will crystallize them in your own mind and help your team.  Teaching will also show you where you are bluffing and don’t understand it, because if you don’t get it you certainly can’t explain it.
    • Learn a new technology once per month, and use it in a mini project.
    • Don’t let another member of your team become completely specialised into one technology – make sure you all have some awareness of what the other guys are coding.  My colleague is doing a WPF project, and I have no clue how it works, this shouldn’t happen.
    • Get to know the users of your software and LISTEN to them, also if possible use your software in the field.
    • Above all be passionate about coding and the software you write.