Wednesday, July 15, 2015

xBox, How To..

xBox' Usage, Explained Further

xBox is among my most complicated classes to date due to the fact that I have given this three (3) possible usage.  And a new user is getting confused with it that I decided to rush here explanations on its features as I believe not everyone can easily see, despite my examples shown in codes on the sample form, how the class' different features can be utilized to each developer's advantage.

Take a look at this image below where the class is using the Combo Feature (QuickFill + Popup Grid)


But then, the class is designed to be used as just plain quickfill, plain popup/dropdown grid or that combo.  Explanations follow:

Tuesday, July 7, 2015

ExcelPivot (ssUltimate)

I was not with the habit of creating changelogs on my classes but I started lately doing that.  So my subscribers will know what those are without me trying to explain each.

Well the major enhancements with this over the previous revisions are:

  • Faster - by cleaning up further the codes and looking for ways to speed this up further, this now generates Excel Pivot reports by 20% faster as before
  • Added _RepeatLabels property
  • Ensured that Excel output will show as Maximized
  • Added Arrows to quickly clear previous selections (Filters, Rows, Values and Columns)
  • Added option to show or hide Grid Lines on Excel sheet
  • There are more which I failed to log before
  • Bonus to Subscribers, a sample showing how to use additional automation for this class


Monday, June 29, 2015

Combobox with Filtering Capability

Here is a combobox that can filter the items in the dropdown list based on what has been typed so far.  It is a good candidate for replacing my xBox class if you don't need a Quickfill/Auto-Complete or if you wanted only a dropdown that is being filtered.  This uses SQL SELECT as RowSourceType.




Before running the sample, there are two things you should know outright:
  • Double-clicking on the textbox portion will clear DisplayValue and will restore the original SQL SELECT
  • I used Ctrl+Enter to trigger the dropdown section
Here are the codes:

Thursday, April 2, 2015

xBox - ssUltimate Subscribers

What is New?

Added ProgrammaticChange event.  Now we can perform, say a new SQL SELECT based on the class' Value or ExtraValue, as we select on the dropdown grid via either arrow keys or mouse click.   Or update related objects on the form based on this class, as we select.  This event is what gets fired when selecting via dropdown grid.

Fixed bug on Enter key suddenly changing value onto a different one via updating _SearchKeys with what is selected on dropdown and moving SelStart position at the end as well.


Fixed bug on the class retaining old _SearchKeys value even when we totally remove the previous entry via backspace or delete keys


For a more thorough learning of this class, see other features and updates of the class up to the point of the shared version:  http://sandstorm36.blogspot.com.au/2015/02/xbox-with-popup-grid.html


Unmentioned Trick

One of the things I forgot to mention is that you can return combined field values as its single Value. I do that on my end like this:




Now, when you want to use one of those multiple values it returned, then you can utilize GETWORDNUM().

That capability is on both the shared and per Subscriber versions.

Saturday, March 28, 2015

TitleBarX - ssUltimate Library

May 15, 2015

Added _hidebar property to hide the titlebar section of the class.  Good when I wanted transparent section like this:


This Organizer I built to help me remember things while working as Admin reliever can change background on the ply.  And with TitleBarX there as well, then I can always change color of obects on the ply as well.

Friday, March 27, 2015

EditX Class - ssUltimate Library

This is the version of the sseditbox of ssClasses in this library.  This is a dropdown edit box which I designed to save space on form.  It appears as an ordinary textbox on form that is designed for long input such as those for memo fields.

While an editbox can contain more than the visible section via scrolling up and down, there might be situations where your form is so full of controls that there is not enough room to fit a decent editbox there; and this is where this becomes useful.

This class is built of two section, the one shown in the form that looks like a plain textbox, and a dropdown section that appears when you are typing and you reached the end of the textbox portion or when you click on the down arrow icon.

Once it looses focus, it auto-hides the dropdown section, just like a combobox.   Well yes, you can think of this just like a combobox but instead of lists of selection for the dropdown section, it has a plain editbox there.

What is New?

 - Cleaner codes versus ssEditBox, as I removed a lot of properties on PEM that is no longer needed in this version.

- Now it is a Control class

SwitchX & OptionSwitchX - ssUltimate Library

What is SwitchX?

SwitchX is a descendant of ssSwitch.  It is my attempt to replace the old looking native checkbox of VFP.  Especially in this era of mobile devices, then something like this can be seen on android, Windows or IOS phones, where you can switch it on and off.


What is new?

Better designs, more themes.  I kept changing my designs over and over again where I retain the ones I like and replaces others I don't.  So definitely, some of the themes here will still change in the future; but you can safely guess which I will change later (the ugly ones, what I have shown below will be retained as those are among my fave).

Three new parameters, cToolTipText, nFontSize, cFontName.  I believe the names I used are self-explanatory enough.


What is OptionSwitchX

Well, this is the counterpart of the native OptionGroup of VFP.  I re-used here SwitchX so both will be receiving the same themes.

What is New?

Two new parameters,  cFontName, nFontSize 


OptionSwitchX Limition:

OptionSwitchX can only have a max 12 switches.  The reason for that is in my end, I rarely or never yet needs an OptionSwitchX or even the native OptionGroup with 12 buttons/switch.  So I believe it is more than enough.  Anyway, the codes are included when I release this library to the Subscribers so they can add more if they want.


Themes, where are those coming from?

All of those themes I design using Photoshop.  So you can do the same.  The themes images are stored on a separate class named ImagesSwitch so you can add more themes if you want.  Since I embed the images for extraction converting those into Base64 Binary, then you can use the Binary Block Breaker tool I shared last time for that need:  http://sandstorm36.blogspot.com/2012/06/binary-block-breaker-tool.html

Here are some of the themes, there are 20 themes right now:


Of course, the actual images are clearer and cleaner than the above because clarity is lost on conversion to a jpg format, and lost further during upload as those I believed were reduced further for faster viewing via web.  Plus the image is resized smaller.