• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

DBExpert question

Started by microdrome, 2008.04.24, 23:47:28

Previous topic - Next topic

microdrome

Hi all ,
For those which are (very) familiar with DBExpert i am trying to do the following :

I am in the Point Of Sale busines and have a lot of those special (label) printers for which there is no driver.
Most of these printer are easy to operate by simple ascii and (ESC/POS) commands.

Now i am trying to print the output of a report to such a printer.
But how can i get the values of a report and do stuff with them in a macro ?

Problem is , using Dbeget only gets the header/footer values and i specially want the details data which is more than 1 row for 1 control.

If i could ,then printing is easy - only a matter of rexx:lineout to the serial/parallel port and put some esc command for changing fonts and so

Already i have found a way but is this method takes a lot of cpu time and is not "nice"
like this: instead of a report i use the query which has the correct values in rows and make it invisible
Then i use Dbeget to get the value of the first row.
then goto next row ,get value and so on until the last row


There has to be a better way to do this .

So ,anyone any suggestions ??

Thanks in advance

Peter

RobertM

#1
Hi Peter,

It's pretty easy...

(1) Many of those printers do have OS/2 drivers (somewhere...) I used to have the drivers for a few of them.
(2) You can use the IBMNull driver and then output the commands and content that way. (try using a rexx script or macro to create the printer output and then direct it to the printer through the IBMNull driver).

Finding the drivers is the easiest or best way... but they are hard to come by. It  was years ago I looked for them and it was a hassle. There were (in Warp 4) certain drivers that were compatible with many models of POS printers (Star and a few Epson drivers that worked with them). Various Epson (and IBM - manufactured by them and others, including Epson for them) printers used a virtually identical command set/escape sequence. The only thing you would need to do then is select one that handles different form sizes (namely the roll width) - or ensure all your pages are formatted to fit the roll's printable area.

Failing finding those (and because you would get other benefits out of it as well) the IBMNull driver and a custom script or two may be the option you wish to pursue... doing so would allow you to use other options that may be available on the printer (such as "select second color" (assuming you have POS printers that come with 2 different color ribbons), or "cut paper", or "feed paper x inches", etc). I've used this method to also control cash drawers attached to such printers (some as you probably know, have a drawer trigger which just pulses the solenoid in the drawer to move it out of the way so the spring pushes open the drawer).

If you havent played with sending control codes to the machines, it is really simple. Many of the printers actually came with a reference section in the addendum which listed everything, including how to send bit graphics to many models. Otherwise, they should still be able to findable for many.

The most "difficult" thing (assuming you have serial versions of the printers - which most I have played with are) is to determine how to set up the com port in the printer object (to ensure you are not sending too fast, and that you are using the correct communication parameters like 8N1 or 7)... the difficulty is in if you do not know the parameters, and/or cannot find them. Some of the POS printers will have a dip switch assembly to set the com parameters on it, so you can then match it to OS/2's settings... and of course some (especially anything not too ancient) dont care as long as the transfer speed isnt too high.

If you post some more info about the specific printers, how they are connected, and which version of OS/2 you are using, I will try to give you a more detailed answer.


Hope some of that helps...
Robert


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


Robert Deed

I am using serial printers for my POS purposes but I ended up writing custom drivers right into my application and just accessing it through the serial port driver.  Of course this was a project which took significant time and energy, and also had a decent price tag attached to it.

microdrome

#3
First ,all thanks for the input

(Robert M), as always i have searched in the past for driver ,and the only one that came close was a Okipos 425 driver.
With that driver i can use some Epson printers -such as TM-H5000 ,TM88 and a few more.
But the main problem with a printer driver is the way it sends the data to the printer- only graphics-
And the print quality is poor ,whatever font i use.
Plus a few artifacts every time on the top of the printing (problably a control code)

Besides the OKI printer driver i found no other - and i did search for many hours.
I did find some info about some ancient POS applications from IBM ,but nothing i could use.


Because i am now in the process of creating an application for a customer -printing labels- i am at it again
Now the printer that i want to use is a Intermec label printer (just because i have many around )
For me writing printer drivers is something i am not capable of ,since i have very little programming skills.
But making something in DBexpert is my preferred choice ,done this for 10 years now and it is the lazyest way
Only there could be a problem concerning purchasing addional (runtime)licences

---------------------
But all this was not my original question.
The real problem was how to get the data from a report into a rexx script.
UPDATE  - ::)  Just found a way, very simple of course - just export the quert to a .TXT file and print it or whatever.

But i am still interested in some old driver for epson printers ,so if anyone can dig something up ......

------------------------

For my (label) application i am not yet sure which os/2 version to use ,
I hoped to do it the easyest way and use a not to big computer with touch screen and dbexpert

Or i could forget about os/2 ,dbexpert and the computer and take a PIC microchip ,write an assembly program and
to it the hard way - i have the means but not the time and the programming skills - so this would take forever

Now what ?

El Vato

Quote from: microdrome on 2008.04.25, 12:44:27
First ,all thanks for the input
[...]
But i am still interested in some old driver for epson printers ,so if anyone can dig something up ......
[...]
Now what ?


You have to be more specific.  Approximately what year would the driver have been released?   For what specific models of Epson printers (please list them all), etc., etc..

I have some archives in CDROM containing drivers that go back to 1980+ but searching for "some old" driver would not produce effective results.

Additionally, entering carefully selected keyword search terms into the online search engines usually provide you with repositories of old, among newer, OS/2 resources --possible more than the archives that I possess.

Additionally, and if you decide to provide additional information so that you can be helped, please start a new thread.  I was killing some time when I looked at this "DBExpert question" post.  Otherwise I would not have  even known, from the subject, that you were looking for printer drivers.

Regards.

RobertM

#5
Hi El Vato,

I think what he needs is probably a driver for the original ancient Epson/IBM dot matrix printers (released in the early 1980's) and subsequent models. A forget the exact model names, but they came in 80 and 132 column mode. Not the very first original ones, but the ones that supported bit based graphics.




Hey microdrome,

Please provide the model number or numbers of the Intermec printers and I will see if I can be of any help. It is possible, depending on the age and/or proprietary nature of the Intermec printers, that my suggestion may be meaningless.

Also, do you have the manuals still? Some of the POS printers I have found come with a User Manual and a "Programming" manual. A few of them even suggested alternate drivers - as well as listing the appropriate control codes for custom drivers.

For instance, the 3400 series came with the "IPL Programming Reference Manual" and should be easy to write a "driver" for - but will probably not work with the older Epson drivers (guessing, as I do not have that manual to compare the control codes to). The earlier Intermec Series (such as the 8636 and 8646) used a different control code set - which leads me to believe at least one series - if not both - would not be usable (at least in default mode) with the Epson driver.

If you have printers of both series, the good news is that they both can be set up to use the Intermec 8636/8646 Series commands. And of course if you have printers of entirely different series... who knows?  :(



Robert


|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


microdrome

#6
O.k. ,thanks for all the reply's
In fact the original question i have found an answer for by myself , but it would be much easier using an printer driver.
Because of this detour of the orginal question ,it is better to start a new post.
So i have started a new thread ,called "Looking for special Point of sale / label )printer drivers."
see - http://www.os2world.com/component/option,com_smf/Itemid,63/topic,996.0/

Peter (microdrome)