2010-11-22

FoxyPreviewer v2.00 - New email form

The FoxyPreviewer email form uses a custom HTML editor created by Frederic Steczicky from atoutfox.org, and allows you to:

  • generate html outputs for the body of your message
  • changing the formatting, alignments, fonts, adding pictures, hyperlinks, etc...
  • preloading an html
  • attaching more files is allowed
  • mark message as priority
  • ask for read receipt




another cool thing is that after you click on "send", a continuous progress bar, with the cool marquee effect (thanks to Carlos Alloatti) will appear, till the message is delivered:



the old email form, that could generate only plain text messages is still there, you may select it in the settings form:



Obviously, some new messages need to be translated. if you want it to be enabled for your native language, download the most recent version of foxypreviewer, and send me your version of the file foxypreviewer_locs.dbf



Foxypreviewer general info
Foxypreviewer documentation
FoxyPreviewer FAQS
Foxypreviewer downloads

2010-11-11

FOXBARCODE !!!

Thanks to Luis Maria Guayan and Guillermo Carrero from the spanish speaking community, now we have a brand new freeware and open source project for VFP.

Foxbarcode is a 100% Visual Foxpro class that provides a tool for generating images with different bar code symbologies to be used in vfp forms and reports, or exported to other applications.



You can learn more about the class foxbarcode and download freely from https://github.com/VFPX/FoxBarcode
The most important barcodes are already available, and they're already working on new ones.

Instead of using some truetype fonts to generate the barcodes, they are using gdi+, with the gpimage2 class (an old super light weight wrapper class for gdi+, originally created by alexander golovlev and enhanced by me). using gpimage2, they managed to provide backwards compatibility for even vfp6 users !

Please check this out!
The project is outstanding, and even the sample form is brilliant! very good looking and functional.
the samples provided bring solutions to some real situations. even a bar code builder is available.


picture 1: demo form


picture 2: report sample: employees cards


picture 3: barcode types

now see how simple it is for you to generate your own barcodes:

  1. run the samples form

  2. play with it, changing the controls available information

  3. click at the "builder script" button

  4. copy and paste the generated code



picture 4: barcode builder


Here's an english translation, from luis maria's blog
http://weblogs.foxite.com/luismaria/archive/2010/11/06/13426.aspx

Thanks a lot Luis Maria and Guillermo!

2010-11-03

SWFOX - "The amazing VFP2C32 library" - session by Eric Selje

eric selje summarizes very well what is vfp2c32 in his white paper:


vfp2c32 is an fll that encapsulates windows api functionality into functions that are easily called from vfp.
the advantages to this fll are



  • you don’t have to explicitly declare each dll you want to use
  • the fll takes care of converting the parameters into a struct that the api understands, which relieves you of a huge burden
  • it gracefully handles errors that the api returns
  • all c++ source code is included

christian ehlscheidt from germany did a fabulous job in this library. the quantity of functions wrapped from the confusing win32 api is very big, and i've been using this library since 2006 for some specific tasks, but i confess that i always felt that i was not using even 1% of all it could provide to me. apart from that, indirectly i've been using it as a part of the ctl32 library from carlos alloatti.



unfortunately the documentation was very poor. the download came with some nice samples, but that was all. so, for me, eric's session in swfox represented a great oportunity to get in touch with some more features, functions from this library. i had already read the whitepaper on the plane, and it was a very nice teaser for me :-)


i was really glad to see that this has changed. christian documented a great part of the functions, and eric selje provided an additional documentation, with detailed samples as the white paper for his great session. it was very nice to see it being shown to people, because this library is considered a real gem.


another cool thing shown by eric that i didn't know is that christian delivers a prg that installs intellisense for these functions, a terrific help. cool to know that some functions from the libcurl wrapper from carlos alloatti are there only because of some callback functions from vfp2c32.


after this session, i got really encouraged to get back to this library, and enhance my benefits from it. if you already use the ctl32 classes, you don't even have to install it, because it's already there !

2010-11-01

SWFOX - "Creating database abstraction classes" session - by Steve Ellenoff

"imagine if your database application could switch from using foxpro tables, to microsoft sql server, mysql, or to postgresql, by simply changing one line in a configuration file? imagine further if this change could occur programmatically at run time, without having to write different code to handle each different back-end separately?"


the teaser text above drove me directly to steve ellenoff's session - creating database abstraction classes in vfp: switch your back-end with ease. my experience with databases is is really restrict, and i wanted to hear from an expert about the best techniques to work in different scenarios.


steve showed how he created his "data related abstraction class" - dac, that allows his application to switch from:



  • foxpro data to any remote sql server back-end easily.
  • any remote sql server back-end to foxpro data easily.
  • any remote sql server back-end to any other remote sql server easily.

the application could make this switch at development time or run time, even programmatically, without:




  • having to re-write the application or change any source code.


  • having to code the specifics of each back-end into the application.


  • the application should be able to support multiple back-ends all at the same time, even allowing the same exact form to work with different back-ends at the same time.

that's pretty cool! he showed us how these classes can create automatically the "select" statements to access vfp, sql server, mysql or postgree data automatically. it was really very good to see step by step how these classes do the job.


of course there are lots of differences between the databases, the field types, the access, the instructions, the language, etc. really impressive to see how he made something really complicated from my point of view to look so accessible. he provided his classes and many samples for me to start with, all super well documented in his 86 pages whitepaper! below is a diagram taken from the whitepaper that summarizes all of that:


 

thanks a lot steve, your session was great, and very helpful.