Thursday, December 20, 2012

ssPolyClock Enhancements

Just to set the records straight, co-author of ssPolyClock is my cousin, Glen Villar, who also has his own blog (Reporters' Assistant) is the one who originally programmed this analog clock to run based on polypoint manipulations.  He volunteered this class last time to be included in my library so I incorporated that into ssclasses and added the move-anywhere functionality, skin switching and other more features plus of course the early skins; to make the appearance look better.  But the engine to make the clock work is his.  So let us give the guy the proper credit.

Another pinoy is making and will be making more impact on ssClasses library.  He is Daryll Bautista (known inside foxite as yllrad atsituab), a fellow foxiter and working as Tech Support, Developer and Designer in our country.  A very young man, currently only 22 years of age who lives in Tacloban City in the Philippines.

I noticed inside the forum that he is good in GUI so I talked to him behind foxite if he is interested in lending his designing skills to us to give ssClasses library better appearances on the next release(s); and lucky for us he has agreed.

Saturday, December 15, 2012

ssTransparent Class

Lately I am into creating irregular transparent forms (again) that I decided to create a class  instead of me repeating creating properties and methods and placing codes in each form I wanted to be transparent.  And said class is working good on my end.  Aside from making the form transparent, it will also make it movable.

Here are the steps to use this class:
  • Design an image in photoshop to be used as background.  The background color should be RGB(0,0,64) because that is what I use on my end.  Save it as bitmap.
  • Create a new form or open an existing form then set its Picture property to that  bitmap image
  • Drag ssTransparent class and drop it into that form
  • Change form's ShowWindow property into 2
And that is it, just run your form and see that portions of your form will become transparent based on the image you used as form background that are of color RGB(0,0,64).   In addition to that, your form will also be movable.

Friday, December 14, 2012

How to hide codes in your class?


ssClasses has gone from an open source library to per subscription with hidden codes and back to open source library.  And it cannot be helped that some are wondering how I was able to hide the codes before, and so a question raised inside Foxite.

And so I believe it is better for me to explain here the process involved in hiding the codes.

How was I able to do that?

Since I am using ssClasses library on my end in actual production of my ERP app, the codes are always visible on my end.  For my subscribers then, I keep a separate folder named ss_sample - subscribers; where a small project is made just like what you see now in ssDemos.zip with all the forms to show how to use each class and a copy of the library is there. And by intention, I have hidden the codes to them because I do not want them to touch it and then come back to me complaining 'Jun I have a problem, your class is giving me error!' where it will be hard for me to trace what has happened especially if it is because they touched my codes and forgot to tell me so.  To avoid that problem, they cannot touch my codes by making it invisible to them.  Any thing they need or wanted before, they suggest to me and I do any enhancement on my end, then email them back with new updates.  That also works good for every one because the updates are not limited to that single user, new features will also be made available to others.

So how did I hide the codes?

Thursday, December 13, 2012

ssClasses Library now in VFPx


ssClasses is now made public as open source at VFPx.  The initial release though does not involve ssButton and ssTitlebar yet being that those two are dependent on ss_support.app for the image requirements; the process  I decided to discontinue.  However, expect that those 2 will be added there in the near future.

As for ssClasses library, I welcome interested parties to participate in enhancing that library.  You can either email me suggestions or if you would like to work with me on that directly, send me an email as well.  In the tradition of CodePlex and of course VFPx, the library is now without any restriction from me.  And since the codes are there now, I know we can all make it better still!  My email allotted for this is ss.classes.jun@gmail.com


Here is the link of the project in VFPx:  https://vfpx.codeplex.com/wikipage?title=ssClasses&version=6

You can check the download link from there.

For my existing subscribers, I would like to say a very heartfelt Thank You to you guys!  Your contributions has helped me as well as others whom some of those funds from your contributions has already went to and the rest will still go in the future.

And I can't help but be amused that the first time I started working on the initial classes and decided to share those inside Foxite forum was in December; and now it is December again.  So, once more, Advance Merry Christmas every one!

Special thanks goes to Doug Hennig, Rick Schummer, Craig Boyd, Jim Nelson and Matt Slay for giving me the proper directions and assisting me in making this project available for VFPx.  

Special thanks also goes to Ony Too for his dropdown calendar class.  This small class has a very strong influence over ssClasses library.  As well as to my cousin Glen Villar for volunteering his Polypoint clock.  I just made that into the class adding some more features along the way but the engine running the clock is his.

Tuesday, December 11, 2012

ssExcelPivot class Enhancements

Changelog as of December 20, 2012:


Added two validations in ssExcelPivot, one to check if you have used a RecordSource or not, another to check if there is a record on that RecordSource; before allowing the class to proceed, again per request of MK Sharma.  However, the suggested usage for the class is something like this:

SELECT ....FROM.. INTO CURSOR whatever NOFILTER
IF _Tally > 0
   This._RecordSource = 'whatever'
   * And a lot more settings
   DODEFAULT()
Else
   Messagebox('Sorry, no data to process!,0+64,'Opppssss!')
Endif 

============


I am currently relieving our Fleet Manager  while he is on holiday so I am stuck here in our head office and is not going around in the meantime.  And because of this, I was able to focus a bit on my BizCore ERP app and can think of some more things to do for ssClasses especially on ssExcelPivot class to make our reporting lives easier.  And as I touch things when I needed those, I touch these now because I needed them.  Here are some new properties to give users more power and flexibility in generating their pivot reports:

_papersize = this is an integer value to select paper size, default is 1 or letter size.  When you use an invalid integer value, the class will default your pivot report back to letter size
This._papersize = 9  && A4 Size

_orientation = 1 portrait (default), 2 = landscape
This._orientation = 2

_withfooter = to show or not (default) a footer of Page 1 of x that is centered.  It auto-adjusts the bottom margin when this is set to .T.
this._withfooter = .T.

Tuesday, December 4, 2012

ssTextBox

Changelog as of December 20, 2012:


  • Fixed marker that is left behind when class is in focus and is disabled
  • Added _NoBackSpace property per request of MK.  When this is set to .T., you won't be able to go back to previous control using Backspace.
  • Added getting value directly from the class (forgot to add this last time)
===========


A subscriber surprised me yesterday afternoon by saying thanks in my email about my textbox class.  Where I said to myself, what textbox class?  So I checked and indeed there is an ssTextBox inside my library.  Then I remembered he requested last time for a textbox with curvature where I started working on it.  But then since other subscribers are repeatedly asking me to immediately release the latest updates of the library, after I have the basic need which is curvature, I left it and worked enhancing on the existing ones, sent the latest to them and then immediately focused back on my works in our company.   So ssTextBox remained to have only one feature, i.e., a textbox with curvature; no more no less.

While my said subscriber is happy with the curved textbox he has requested, he is now wondering how to resize that like what can be done to my other ssClasses class; which of course in this case is not there yet.  Realizing I have that unfinished class and suddenly feeling guilty knowing it is being used in production with only that feature, I told him I forgot about it and that I will work on giving it more features.  So last night, I decided to see what I can do further with it and I can say that now it is really worthy to be part of ssClasses:


Saturday, December 1, 2012

yv8g67.exe Malware Manual Removal


I saw the same activity on another unit but this time the infection is named bazirud.exe and is being loaded by toulobi.  In which case, I believe this is the same virus strain and so I cleaned it up with the same procedures I mentioned here.

Is your unit continuously uploading something like emails to internet when you are not doing anything like that on your own?  If so, then you may have been hit by this malware called yv8g67.exe.    I have posted this before on my defunct www.junblogs.com and while I forwarded some entries I created there before to here, for whatever reason I forgot to include this one.  Anyway, I will make this much simpler now.
What it does (minor things):
  • Creates several exe with random filenames inside System32 folder and marks it hidden, Read-Only and System. Sizes varies between 41kb and 44kb.
  • Further tracing shows it creates a backup/duplicate exe of all those inside System32 folder in the Local User’s temp folder, names are totally different than that inside System32
  • It also creates registry entries to HKLM\Software\Microsoft\Shared Tools\MSConfig\startupreg; to ensure that those virus parts will be auto-loaded next log on.
  • With the actions happening in the background with this virus, this results to unnecessary overpopulating of HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache entries in Registry
What it does (major things):