Third party programs used from within BR

Discussion and announcements related to the BRGroup and ADS conferences.

Moderators: Susan Smith, admin, Gabriel

Post Reply
Susan Smith
Posts: 717
Joined: Sun Aug 10, 2008 4:24 am
Location: Southern California

Third party programs used from within BR

Post by Susan Smith »

Hi all,

Someone gave me a great idea for the conference and I need the help of ALL of you! This isn't a hard one, I promise. Let's compile a list of all free ore reasonable-cost programs and utilities that you call with shell calls (EXECUTE "SYS") from within BR to extend it's use. Please email me or reply here with the ones that you use and a little blurb of how you use it in your software. I will compile a list of these (with the little summaries) for the conference manual and I will add links to those programs so we can all try them out!

For the "reasonable cost" ceiling, I'm thinking $50, but if you use something that is more expensive and it's so outstanding that I should put it on the list anyway, go ahead and include it. I would love to get working on this as soon as possible because my May schedule is a zoo. So let's play!

We may have covered some of these in the past. That's okay. Let's include them all because not everyone has been to every conference. If these are utilities written by members of our group, that's great too! (I use things written by George Tisdale and David Blankenship every single day.)

If you prefer to dash off an email, send it to softwaresusan _at_ gmail.com

I will start!

Atlantis Word Processor ($35) atlantiswordprocessor.com

It creates very small clean RTF files (unlike MS Word) that are small enough to be opened in one piece in BR, so if I want to create merge documents/forms and search and replace data to print seamlessly from BR, this is a handy feature. They are also working to add tables to the word processor as we speak and I know I will love that feature. You can call this program invisibly from a command line to print a document with no user interface at all. I do this to print checks and loan contract forms because I want to substitute data into the document before it prints, but I don't want the user to be able to see it or to edit it (especially for checks!). So I can call it from BR to print the RTF file and the user doesn't even know there is a third party program in use. But if I need to change something on the base form, all I have to do is to open in in Atlantis and change it like any other word processor document. So easy! You can also specific a designated printer from the command line (which we do as well because we have certain kinds of paper in different drawers, etc). This is a try before you buy software, so it's free to try.


Now tell me YOUR favorites! You don't have to be as wordy as I was though. Email if you prefer, but I would like to hear from EVERYBODY in the group! Thanks.

-- Susan
Gabriel
Posts: 412
Joined: Sun Aug 10, 2008 7:37 am
Location: Arlington, TX
Contact:

Re: Third party programs used from within BR

Post by Gabriel »

SendEmail - Free (integrated with fileio) - this program sends an email (you have to configure it with an STMP server, of course. If you have an email address then you already have an smtp server too. Even a gmail email address comes with a free SMTP server you can use to send emails from it.)

Pdftk - Free - allows you to work with PDFs, split them into pages, combine multiple PDFs into one document and more. I use it in sageLive when I need to merge in an additional accounting document. Say for example, I buy a rental car and pay $300 on line. Then when I pick up the car, it turns out there's an additional $100 charge. I have to include both receipts in my accounting system, so I scan the 300 receipt in first, then I scan in the additional 100 receipt and use pdftk to ADD the second receipt as a second page to the first receipt. So I end up with a single PDF file containing both (and of course thats automatically included and displayed in my acconting system.)

pdf2jpg costs $30 or $60 or something, has a free trial version too. Free version includes a watermark. This program takes a pdf file and generates a jpg images of the pages. I use this any time I need to show a preview of a pdf file inside a BR program. If you click on an expense in my accounting system you see a picture of the receipt. The receipt itself is stored as a pdf file, but SageLive uses pdf2jpg to generate a jpg image to show inside my BR program.

quickscan costs $30 or $60 or something, has a free trial version too. Free version includes a watermark. This command line program talks to your scanner and scans a document. I use this so that my BR programs can import physical printed receipts.. The BR program calls quickscan which scans the image (on the client, saving as pdf (because you can't alter them easily), then uses client server to transfer that pdf to the server. It also uses pdf2jpg to make a jpg preview of the image so it can be seen when looking at the expense in my accounting system).

autoit - free - use this to write programs that do anything you want using the user interfaces of other programs. If you need your BR program to click on a button in some other window, the way to do it is with AutoIt. I use AutoIt programs to automatically enter information in the Print Selection Dialog when the user selects special options from my software. I also have an AutoIt script that clicks the "Ok" button on the BR splash screen automatically.

Zhelecal - Price TBD - this command line tool was designed by Mikhail and I, and developed by Mikhail. It is a command line program that allows your BR software to automatically place things on peoples google calendars. I use it in the software I write for my clients, so that it automatically lists any special jobs on the crew leaders's google calendars so they get reminders on their smart phones.

SVN - It would be impossible to solve the complicated programming problems I have to solve for people these days, nor to maintain 15 completely different BR softwares, without SVN.

BR as a web site - used to be I would include WAMP, (Apache, MySQL, PHP), and many more programs, that can be used to make portions of your software accessible to the web. I'm going to use that soon so that my employees can log the hours they work through a web form instead of having to find a windows PC and run client server. But nowadays you don't need any of those programs because BR handles all of it for you, directly.

Windows Task Scheduler - you can do a LOT with windows task scheduler. It can automate tasks in the middle of the night without requiring you to have an Extra BR user license. I use it to launch BR and run automatic backup programs for my software.

CMD Files - modern day replacement for .BAT files - you can do amazing things with them. Lexi (which is free and should also be included in this list) was almost entirely written in CMD files.

Lexi - This allows you to use MyEdit or your Editor of choice for your BR programs, while enabling you to code without line numbers and giving you access to many other modern programming features.

AuditBR - this free tool uses fileIO to give you a report indicating the changes made to your BR data files for any specific programming tasks. I use it all the time in my development, in order to test things and make sure that a specific process I'm writing doesn't mess up the wrong data files.

search proc - we have an advanced search proc that is free, but its written entirely in BR. It searches a given folder and all subfolders for the search string, both BR internal and even ascii and proc files. It opens every file, regardless of extension, and checks the files contents to see if its an ascii file or a br file or a random binary file. It skips random binary files but searches inside all ascii files and br programs. I use it to make changes to the software of new customers without breaking stuff.

Without these tools and techniques it would simply be impossible to maintain as many separate entire BR software suites as I currently maintain.

Gabriel
Susan Smith
Posts: 717
Joined: Sun Aug 10, 2008 4:24 am
Location: Southern California

Re: Third party programs used from within BR

Post by Susan Smith »

That's a great list! Thanks so much. I bet we will talk about some of these at the conference.

-- Susan
bluesfannoz
Posts: 291
Joined: Fri Jun 19, 2009 9:01 am
Location: Lawrence, Kansas
Contact:

Re: Third party programs used from within BR

Post by bluesfannoz »

Gabriel touched on two that we also use quite a bit

sendemail Windows and Mac Allows you to send command line smtp emails with attachments. We use it to email out direct deposit paystubs to our clients employees.

pdftk Windows and Mac allows you to manipulate pdfs, like gabriel said you can combine multiples into one, we also use it to put a password on the pdfs. Not uncrackable but secure enough that our users are satisfied. All these PDF features that have been requested to Gordon to be native in br, but as of yet have not been made available. We use this tool to put a password on the paystubs that we email out so only the employee can view it.

We also use the following quite a bit

7zip This is the primary utility we use to compress files for backup and unzip our downloaded programs for updates

prfile32 Windows This has been our primary printer engine on Windows rather than BR print spooling. Because it seemed to work much better at what we call Pass thru printing. Where Windows print drivers are ignored and the direct PCL is passed on to the printer. We had many problems with USB printers and our PCL Macro based checks and purchase orders. This utility passed our PCL printer file correctly on to even usb based laser printers. We basically wrote our reports out to a display file and passed that display file off to prfile32 to be printed.

pcltopdf Windows and Mac Converts a PCL printer file to PDF. Even works with PCL Macros.

Teamviewerqs Windows and MacTeamviewer Quick Support is a free for non business use Remote access application that can be used for remote access to your clients It does have usage timeout if your not licensed

taskkill.exe Built into windows. Allows you to kill running processes that you have permission to kill

The other command line tools we regularly use we developed inhouse with realstudio/xojo primarily to fill in holes that BR was unable to provide us. We are willing to make those tools available to anyone who might have a need for the specific tasks they accomplish.

drivesel Windows and Mac Provides both the windows folder and windows file selection boxes to allow users to pick files or folders to access. BR does now provide a file selection box but does not allow a folder selection box. So we use the builtin file selction box now when we can, but still use this for folder selection when needed. Example when you want the user to select a specific folder to save a file you are going to create to.

pgmupd Windows and Mac This is our application update downloader. This app polls a webserver and compares a clients current version number with the available version number and downloads a platform specific zip file. That we then unzip and update our software. It uses basic http authentication to identify the client and allow access. It uses simple xml files for configuration.

procchk Windows and Mac Program would return a value if a requested program was running on the computer procchk -br32 would output a file containing YES if br32 was a currently running program on the machine.

runexcel Windows Got tired of having to locate where excel was on clients computers so wrote a program to read the registry and locate where excel was an open the file requested then in excel because you cannot always rely on file associations
Steve Koger
Computer Specialist
SEKESC-MACS Division
Susan Smith
Posts: 717
Joined: Sun Aug 10, 2008 4:24 am
Location: Southern California

Re: Third party programs used from within BR

Post by Susan Smith »

Thank you Steve! This is great. I hope to have some conversations about some of these utilities at the conference. I appreciate your input.

Keep it coming, everybody! Email is okay too if you don't want to post here. (I already have one submission that came that way.)

-- Susan
John
Posts: 555
Joined: Sun Apr 26, 2009 8:27 am

Re: Third party programs used from within BR

Post by John »

I also use 7zip (for File>Save and File>Open), Atlantis(for 99% of my reports) and Notepad++ (for source code editing and for it's search and replace feature - similar in results, i imagine, to Gabriel's Search Proc) I'll have to check out some of the others that you have mentioned here.

Here's a code snippit I use in some of my CMD batch files to elevate the batch file to run as an administrator.

Code: Select all

@echo off
:: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:: BatchGotAdmin (Run as Admin code ends)
:: Your codes should start from the following line
rem above code from http://www.techgainer.com/create-batch-file-automatically-run-administrator/
I'm hope someone may find it as useful as I have.
John Bowman
Gabriel
Posts: 412
Joined: Sun Aug 10, 2008 7:37 am
Location: Arlington, TX
Contact:

Re: Third party programs used from within BR

Post by Gabriel »

7zip is another good one. You can use it to compress data files for backing up automatically, or compressing to send, all kinds of things. It has a really good command line interface.

My search proc is not like one you would find in any editor, because it searches inside .wb programs. It also does not have a search and replace feature. And it searches every file regardless of extension.

For my own software I keep everything in source code. But I maintain a lot of other peoples software too and most of their programs are still kept in .wb files. I only start keeping source files once I work on a program.

The search proc does its own directory listings and finds every file in every folder and subfolder. It opens the file as external and searches for characters that are not normally in Ascii Text Files.. if it finds them it assumes its a binary file. If not, it opens it as a text file and searches for the string. If its dealing with a binary file, it next attempts to open it as a wb program. If its able to, it searches it for the text. If not, it assumes its an image file or executable or some other random binary file and it skips it.

I use it a lot when I start working with new software. It has saved me as I've found important bits of code hidden in wb files and proc files with nonstandard extensions.

Gabriel
John
Posts: 555
Joined: Sun Apr 26, 2009 8:27 am

Re: Third party programs used from within BR

Post by John »

I keep all my programs in source code too... I automatically recomplile the .br them whenever they change. It makes life so much easier. Also I've corrected all my non-standardized extensions. So - this works for me - but I don't have to work on other people's software either so search/search&replace in text files (.brs) works great (for me) :)
John Bowman
Gabriel
Posts: 412
Joined: Sun Aug 10, 2008 7:37 am
Location: Arlington, TX
Contact:

Re: Third party programs used from within BR

Post by Gabriel »

Yes, BRS files are a lot nicer when I can do it. For software I've worked on for a while, I keep everything in .brs files. But for that I use the screenio designer's built in Search Routine which was designed by Susan. It is much faster then the other one, and you configure it so that it doesn't waste time searching binary files. You tell it which extensions to look in and weather to treat them as text files or wb internal files. If it finds a ".brs" file with a matching ".wb" or ".br" file then it assumes they're the same program and saves time by searching the ".brs" file.

It also searches inside screenio screens and tells you every place something is found, even if its not in code at all, but instead is a parameter in one of the controls in your screenio screen.

Also, lets say I have a file layout for customers, and it uses the "CU_" prefix. Now I want to change the way customer addresses work (i'm doing a project just like that for a customer right now.) In order to make that change I have to search for every program that uses the Customer Address field. I don't care about employee address fields even though they might have the same variable name.

If I type "cu_addr1" into the screenio search proc, it will search my entire software and show me every spot that customer address field appears. It tells me which screens use it, and every piece of code that uses that field. If it finds it in a compiled screenio screen it shows me the source function for that compiled screen instead, so that I know to change it in the correct place. It finds it in the Customer file layout even though the customer file layout only says "addr1" and not "cu_addr1". It finds it in the screenIO screens even though they only say "addr1". And it doesn't find any other addr1s from other files.

It returns the results in a searchable sortable printable saveable hi-lightable listview. Selecting an item and clicking "Launch" will take you to the correct place no matter where the result was. If the selected search result was found in a screenio screen, it'll launch a new session of screenio with that screen opened and ready to edit. If the selected search result was found in a function it launches myedit to edit that function. If its a file layout it loads the file layout. If its a traditional BR source file, it launches a new session of BR with that program loaded ready for you to edit it.

For software that I have been working with for some time, and I have them set up with screenio, I use the ScreenIO Search function. The other more thorough search proc is just for supporting software that I'm just starting out with.

The ScreenIO Search Function takes around 3 or 4 seconds to run. The thorough Search Proc sometimes takes 5 or 10 minutes to run.

However, unlike the screenio version, it doesn't have to be configured. And it enables me to make changes in peoples programs even when I don't know anything about their software. It turns out one of my customers kept all his proc files with one of three extensions: .ALB, .ROT, and .PKY. I wouldn't have even known the procs existed if I used the faster ScreenIO search proc.

Different tools for different days.
mluchterhand
Posts: 52
Joined: Mon Jun 08, 2009 7:28 pm
Location: Des Moines, IA
Contact:

Re: Third party programs used from within BR

Post by mluchterhand »

htmldoc - this is a free program that quickly and easily converts HTML to PostScript or PDF via command line. Many of our invoices are generated in HTML and this allows us to easily convert them to be printed/emailed/stored without altering our invoice programs. Tons of command line options allow for many more uses than that.

qpdf - very similar to pdftk mentioned above - had to resort to this alternative because we upgraded our server OS to CentOS 7 which no longer supported one of the libraries required by pdftk.

MetroFax - this service charges a small monthly fee (less than $10) for the ability to send/receive faxes via e-mail. We still send a fair amount of faxes to our customers for various reasons. This service has reduced our long distance bill and has proved to be much more reliable than using fax modems to send documents. It supports a wide variety of formats (PDF,JPG,etc) so is great for faxing directly from BR using the e-mail program of your choice.

Ninite - I think I've heard someone mention this at a conference in the past but it is worth plugging again. It is a website for installing/updating a bunch of free software all at once. It does this with very little user intervention and installs it without all the junk (toolbars/etc) often bundled with free software. Some of the software available can be used with BR, some can't.
Thanks - Matt Luchterhand
Susan Smith
Posts: 717
Joined: Sun Aug 10, 2008 4:24 am
Location: Southern California

Re: Third party programs used from within BR

Post by Susan Smith »

Thanks Matt! This is great. Who's next? Batter up! (email is okay too)

-- Susan
Post Reply