JCLABEL v1.7 for the Atari ST or TT running in ST mode (c) John Charles 1992 "AshTree" Priory Lane Grimoldby, Louth Lincolnshire LN11 8SP England ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ A label printer which works on Hi-res or Med-res screens. Suitable for single column labels or double column if you first use one column and then invert the backing to use the other column. It is also possible to print labels on plain paper and cut them out to stick on packets, etc.. I retain the copyright to my program but am very willing to allow it to be copied freely by private individuals and PD libraries or to be distributed on BBS as long as JCLABLxx.PRG JCLABEL.RSC JCLABEL.TXT and NEW4Vxx.TXT remain together and unaltered in any way. It MUST NOT be sold for profit or included along with any commercial software packages without my written permission, including distribution on magazine cover-disks. You can enter, store, load, save, amend, search and print labels to your hearts content! - enjoy - THE LEGAL BIT Whilst I have taken every care to make sure that this progam runs smoothly on my setup and that it won't cause me any problems there is no warranty either expressed or implied that it is suitable for anybody elses needs or suitable for use on their system. Any use you make of it is entirely at your own risk. INTRODUCTION This program was written to fill a gap in my utilities. I had a box of single-in-line labels and wanted a program which could make quick and easy use of them. To meet this need I sat down and wrote JCLABEL which will let you enter the details of a label (up to 7 rows of up to 32 characters), print it, store it in a list and save the list to disk. Lists can be loaded, searched and entries added or deleted. Entries may be marked for batch printing or single labels searched for and printed alone. There are spaces for up to 1000 labels in a list, depending on how much free memory you have and what other programs you are running at the same time. You can have as many *.JCL lists as your disk collection will allow. The whole program is mouse intensive as that is the way I prefer my programs. If a button does not respond when you click on it then the conditions are not right for that button to work. (i.e. you cannot search or mark if there are no labels entered or loaded!) INSTRUCTIONS For the program to work smoothly JCLABL**.PRG and JCLABEL.RSC should be in the same folder along with any address lists you create. Double click on JCLABL**.PRG to run the program. On loading you will see the intro screen and clicking either mouse button will take you to the program proper. The program will look for a list of labels called MYADLIST.JCL in the same folder as the program. If it is found it will automatically load it. If it does not exist then you will be asked if you wish to load a list with another name. If you answer YES then you will be presented with the file selector so you can choose a ********.JCL file to load. When you are starting from scratch, answer NO and you may start to enter your addresses. If you have a list that you want to be loaded automatically as soon as you start the program then name it MYADLIST.JCL. The program is ready for you to use when the pointing- hand mouse cursor appears. Most of the operational buttons are contained in a rectangle on the bottom left quarter of the screen. The buttons are grouped in rows with the main operation title for each line on the left of each row. ____________________________________ _ | Print | NEW | BATCH | * >> | |P| |____________________________________| ÿ | Delete | ALL | MARKED | Z << | Control Panel |____________________________________| | Select | MARK | UNMARK | < << | | |__________________________| | | CLEAR | LABEL 102 * 49 | |____________________________________| | List | LOAD | SAVE | DUMP | |____________________________________| | New | WRITE | MODIFY | > >> | _ |____________________________________| |!| | Utils | DISK | ACCS |ALERTS | ÿ |____________________________________| _ | Find | GO ON | EVERY | FIND | |X| ____________________________________ ÿ Exit Program CHOICE OF LABEL SIZE I have tried to cater for what I think is a reasonable range of sizes. Go to the button row: | Select | CLEAR | LABEL 102 x 49 | and click the LABEL button. This will present you with the label size choice screen. Widths available are (approximately): 127mm (5") 102mm (4") 89mm (3.5") 66mm (2.75") Heights available are (approximately): 49mm (2") 36mm (1.4") 24mm (1") All widths except 66mm will handle up to 32 characters on a line. 66mm wide labels will only handle up to 26 characters per line. 49mm and 36mm high labels will handle up to 7 lines of information. 24mm high labels will only handle up to 5 lines of information. Choose the nearest combination of sizes to your label measurements. When a list of labels has been entered and saved the label size is saved at the same time. Click the button containing 'X' to exit. If you load a list made with one of the larger label sizes and you go to the label size screen you will not be allowed to change to the very smallest sizes as this would mean losing information. ENTERING A LABEL The row of buttons you need is: | New | WRITE | MODIFY | > >> | Click on the WRITE button and the top window will clear and a block cursor will appear at the start of the top line. Type in the information you want pressing as you finish each line. For a blank line just press . When you have entered all seven lines the mouse cursor will reappear. If you made a mistake in any of the lines just click MODIFY to get back to the New Label window. You can use the cursor (arrow) keys to move along the line you are working on. Press to leave a line as it is or to enter it once modified. When you are happy that the label is correct it can be stored in the list by clicking > >>. You will get an alert box, just to check. Click YES to add the label, click NO to forget the whole thing. As each new label is added to the list it is placed in the next available empty space. You will only see it when you are looking at the end of the list. If you want to print the label without adding it to the list then use the row of buttons showing: | Print | NEW | MARKED | * >> | and click on NEW. PRINTING ONE LABEL FROM THE LIST You need the row of buttons showing: | Print | NEW | MARKED | * >> | Use the scroll or search features to place the label you want to print in the centre of the list window and click the * >> button to send that information to the printer. SCROLLING THE LIST On the right of the screen, next to the list window, there are four buttons containing arrows. The buttons with a single white arrow will scroll the list one place each time they are clicked. Clicking on a button showing a double arrow will move to the start or end of the list. SAVING and LOADING LISTS Use the row of buttons: | List | LOAD | SAVE | DUMP | Just click the SAVE button to be presented with your fileselector. Choose a filename and the directory / folder where you want to store the list and click OK. The program will add the extender .JCL to the list's filename if you forget it or type it wrongly. If a list already exists with the name you have chosen, or you are saving an updated list then you will see a warning. If you choose to continue saving with that filename then the old file will be re-named with the extender BAK and the new list given the chosen name. Click on the LOAD button to load a previously saved file. Only lists saved by this program will be loaded. Choose a file ending with .JCL and click OK to load the file. If the list you are trying to load was saved on a ST with more memory than the one now in use, you will be informed if it is too large to load. SEARCHING FOR A LABEL Use the button row: | Find | GO ON | EVERY | FIND | Once your list grows past a few items then you will find you need to search for particular labels. Click on FIND and type the text to be searched for in the window. You can enter capitals and lower case letters but the search changes everything to capitals. If you make a mistake when typing, use the DELETE key to backspace and erase. Hit the RETURN key when you have typed the text you want. Searching will take place from the first label and all lines in each label will be searched for the text. As soon as the first label containing your text is found it will be shown at the centre of the list screen. If this is not the label you want then click on the GO ON button, which will continue the search. By continual use of the GO ON button you can find and show all labels which contain the search text. When the text cannot be found you will be presented with an alert box saying 'No (more) text containing <............> was found.' If you see this when you click on GO ON then there are no more labels containing this text. MARKING LABELS If you want to delete or print a number of labels at the same time then use the button row: | Select | MARK | UNMARK | < << | First use either the scroll or search facilities to place any label you wish to mark in the centre of the list display on the right hand side of the screen. Click on the MARK button and that label will be displayed in inverse colours. Repeat this until all the labels you want have been marked. Marking can also be carried out by pressing the + key or clicking the mouse on an unmarked label in the centre of the screen list. If you wish to use this as a method of batch printing a number of labels at the same time then use the button row: | Print | NEW | BATCH | >>> | and click on the BATCH button. You will be told how many labels have been marked. Just click the YES button to send all the information to your printer. If you wish to delete all the labels you have marked then go to the button row: | Delete | ALL | MARKED | Z << | and click on the MARKED button. You will be presented with a warning that these labels cannot be recovered. If you still want to go ahead with this then click on YES, otherwise click on NO. Any label which has been marked can be unmarked by clicking on the UNMARK button in the button row: | Select | MARK | UNMARK | < << | as long as that label is still in the centre of the window. Unmarking can also be carried out by pressing the - key or clicking the mouse on a marked label at the centre of the screen list. All the marking can be removed at any time by clicking the CLEAR button in the row: | Select | CLEAR | LABEL ??? x ?? | If you want to mark all the labels which contain a certain text (i.e. all the labels with the post-code LN11) then click the EVERY button, type the text, press the RETURN key and the program will search right through the list of addresses and mark all those labels in one operation. CHANGING THE SCREEN COLOURS For those who prefer to work with different colours the button at the top right with the letter 'P' on it will call up a control panel. PRINTING THE WHOLE LIST Sometimes it is helpful to have a printed copy of all the information in a list. The whole list may be printed on normal listing paper by clicking on DUMP from the row of buttons: | List | LOAD | SAVE | DUMP | The list is printed out with two address labels across the page and up to 12 labels to a page of tractor feed or A4 paper. DISK OPERATIONS A few disk operations are available to help those who have to work with floppy disks and are accessed by using the button row: | Utils | DISK | ACCS | ALERTS | Click on DISK and you will be presented with the disk utilities. If you change your mind and wish to exit this section then just click on the 'X' button. After any of these facilities have been used you are automatically returned to the label program. To DELETE A FILE - click 'DELETE FILE' to be presented with your fileselector. Click on the filename you wish to delete. Click on 'OK'. As a check you will then be asked if you want to delete this file. To RENAME A FILE - click the 'RENAME FILE' button. You will be presented with your fileselector twice. The first time, click on the filename you wish to alter. The second time, type in the filename (complete with extender) you wish to change to. The utility will NOT allow you to rename a file to the name of a file which already exists in the path you have chosen and it will NOT allow you to change disk- drive or folders. DO NOT change a floppy disk in drives A or B during this operation as it could result in the total loss of information on the new disk. THE FORMATTING FACILITY IS ONLY PROVIDED TO ENABLE YOU TO OVERCOME THE SITUATION WHERE YOU ARE TRYING TO SAVE A LABEL LIST AND RUN OUT OF ROOM ON YOUR PRESENT WORK DISK. IF YOU HAVE NO OTHER FORMATTED DISK WITH SPACE ON IT THEN THIS FACILITY CAN BE USED. IT IS NOT INTENDED AS A GENERAL FORMATTING ROUTINE AND I WOULDN'T RECOMMEND IT FOR THAT PURPOSE. To Format a Floppy first select the Drive letter (A for the internal drive or B for an external floppy drive). Now click on the number of sides, number of tracks and the number of sectors per track. Once these have been set up click on 'FORMAT FLOPPY'. You will be reminded of the settings you chose. Click 'YES' to carry out the format or 'NO' if you change your mind. While the floppy is being formatted a graphical representation is used to keep you informed of the progress. A solid bar will show for each track successfully formatted and a dashed bar indicates an error during formatting. When the formatting operation is finished you will be informed of the free space now available on the disk. If there were no errors detected while formatting then all is well otherwise it would be advisable to try again or find a different disk. ALERTS Use the row of buttons: | Utils | DISK | ACCS | ALERTS | When you click the 'ALERTS' button you will be asked if you wish to see all alert messages (the default option on running the program). Until you get used to the program it is probably wise to see all alerts but once you are used to the operation of all buttons, some alerts just slow down the use of the program. Click 'NO' and some of the alert messages will be bypassed. DESK ACCESSORIES Again using the row of buttons: | Utils | DISK | ACCS | ALERTS | Click on ACCS and the main screen will be cleared to present you with the familiar dropdown menus. There are just two menu headings: DESK and RETURN Any desk accessories which were loaded when you started up your computer will be listed in the DESK dropdown menu and can be used in the normal way except for those which take a snapshot of the screen as you have no program screen to snapshot! In the RETURN menu there is only one choice 'Back to Labels'. Clicking on this message will take you back into JCLABEL. EXITING All screens you may want to exit without doing anything have a button containing the letter 'X'. Clicking on this returns you to the main label screen. When you have finished with the program click on the button with an 'X' to be found in the bottom right hand corner of the screen. You will be warned about saving your list. Click NO if you forgot and you will be placed back in the program. Click YES to be dropped back on the desktop. PRINTERS Rather than use up valuable memory in coding printer routines the information for the labels is sent as ASCII and no changes are made to the settings of your printer. This way you can set the style of print you wish on your printer and a wide range of printers are easily catered for. In the great majority of cases the top of the label you are using should line up with the top of the printer head as the program should centre the text on the label for you. THANKS My thanks go to John Pegg, Robert Darling (FolkeSTone QBBS), Stuart Coates, Mark Matts and Ian Thompson for Beta testing this program, to Dave Asbury for pointing me in the right direction for disk / folder handling and to Clive Parker and James Beswick for help with trapping the 'disk write protect' error - and once again to Robert who is always sorting out my docs for me! Mark also saved me a lot of time and effort as he very kindly did the job of removing the AutoZest code from the program and replacing it with his FRONTEND routines. Creating screens with 3D buttons and 'windows' has been made even easier now Mark has written GUI4GFA and GUI4C is under development! If you find this program useful, have any suggestions for improvements or bug reports then I shall be most pleased to hear from you. Bug reports are most helpful if they give a good idea of what you were actually doing just before things went wrong, the error message and a description of your computer set-up, ACCs being used, etc.. If you have a modem then you can leave me a message on: FolkeSTone QBBS (0303) 245203 : 9pm to 8am SysOp, Robert Darling The System ST BBS (0533) 413443 : 10 pm to 7 am SysOp, Mark Matts I can also be contacted on: FidoNet 2:255/375.1 and NeST 90:102/130.1 TESTING So far the program has been tested on the following systems: STFM TOS 1.2 2.5 meg STFM TOS 1.4 4 meg STE TOS 1.6 1 meg Mega STE 2 meg TT030 14 meg It has been tested with the Atari file-selector, UISIII, Harlekin, GOGOST, Neodesk3, TerraDesk, QuickST, Warp9 and NVDI. Various makes of HD and printers have been used. John Charles, January 1992 Programs found to be very useful in getting this GFA project off the ground: GFA Basic Interpreter v3.5 : GFA Compiler v3 : (c) GFA Data Media UK G-Shell : WERCS resource editor : (c) HiSoft MenuMaker v2.0 (c) Mark Matts, 66 Telford Way, Leicester. LE5 2LX ADDED TO v1.1C KEYBOARD CONTROL By request, most of the buttons can now be accessed by pressing a key:- As far as is possible these correspond to the first letter of the instruction you wish to use. ____________________________________ _ | Print | N | B | * | |P| |____________________________________| ÿ | Delete | A | K | Z | Control Panel |____________________________________| | Select | + | - | < | | |__________________________| | | C | H | |____________________________________| | List | L | S | D | |____________________________________| | New | W | M | > | _ |____________________________________| |!| | Utils | | | | ÿ |____________________________________| _ | Find | G | E | S | |X| ____________________________________ ÿ Exit Program You do not have to hold down the shift key as the program will recognise that you are pressing the correct key. So if you press h JCLABEL will know you want H or if you press 8 it will know you want * The + - and * keys on the numeric keypad can also be used. On the alert message screens press Y for YES or N for NO. The cursor keys are used to scroll or jump through the list: Up Arrow - go up the list of labels Down Arrow - go down the list Left Arrow - jump to the top of the list Right Arrow - jump to the bottom of the list ADDED TO v1.1D When the program is first started it will look in the folder where it is kept for a list named MYADLIST.JCL and load this automatically. If MYADLIST.JCL is not found then you will be asked if you wish to load a label list. If you have only one list of addresses or one list you use most of the time and you want it to be loaded automatically then rename it to MYADLIST.JCL and make sure it is in the same folder as the JCLABEL program. The numbered buttons have been removed. A new button, EVERY, allows a batch find and mark operation. The program has been reduced in length by about 45K as the intro pictures are now packed using the excellent PACK_ICE routine from Axe and unpacked using his M/C routine as featured on the disk mag ST News Volume 6 Issue 2. Removed from JCLABEL, a bug in the label search routine which could, under certain circumstances, report the wrong number of labels found. CHANGES FOR v1.2 AutoZest code used in the earlier versions has been removed and replaced by a set of routines called FRONTEND ( (c) Mark Matts, 1992) which gives a similar look to the program, with some improvements to the appearance of the screen and a vast improvement to the ease with which the program can be modified! CONTROL PANEL Pressing the 'P' button (which replaces the earlier 'I' button, now calls the control panel. In high resolution this allows the screen colours to be inverted. Keyboard Shortcut - 'F'. In medium resolution the main colour can be adjusted to suit by clicking on the 'R', 'G' and 'B' buttons to change the mix of red, blue and green. The frequency (and size) of the picture can be toggled. The setup of the Control Panel can be saved and will be loaded automatically the next time the program is run. In both resolutions the time and date can be set by clicking on the buttons showing them. When you click on one of them the time or date will appear in a window and can be modified. Pressing Return without making any changes will leave the original value and pressing RETURN after making alterations will enter the new time or date. To type in a new date or time either use the cursor keys to put the block over a figure you wish to alter, press DELETE and enter the new figure. Press the ESCAPE key to delete the whole line and enter a new time or date. The data should be entered in the same form as as shown on the buttons - the date with dots '.' between the numbers and the time with colons ':' between the numbers. Only valid times or dates will be accepted. FOR GFA PROGRAMMERS: If you want to produce programs with a graphical user interface then contact Mark Matts for details of FRONTEND. This set of routines is NOT PD but well worth the modest asking price for the saving in programming time and effort. The control panel is part of FRONTEND. Mark has developed an even easier / better GUI package called GUI4GFA which allows a screen full of windows / buttons and text to be drawn using the mouse. Once drawn the code is then saved to disk as a *.LST for merging into your own program. Heartily recommended!! BUGS FIXED Count of Marked labels now correct if a marked label is deleted from the list. The dump of the whole list should now skip perforations properly. CHANGES FOR v1.3 Graphical representation of floppy formatting added. Report of computer free memory removed. CHANGES FOR v1.4 Smaller intro screen (taking up less memory and giving a smaller program file. Recompiled to make sure it will work on a TT in ST mode. CHANGES FOR v1.5 Reporting of wrong version number in error messages cured. To mark or unmark a label the address in the centre of the screen can now be clicked on as well as using + - from the keyboards or clicking the appropiate buttons. MULTIPLE COPIES OF ONE LABEL A new button |!| now allows multiple copies of a single marked label. This button will only work when just one label is marked otherwise it is ignored. After clicking (or pressing 1 (! without the shift key)) you will be reminded which label is marked and asked to type in the number (from 1 to 99) of copies you require. Pressing return without entering a number or entering 0 will forget the whole thing. If, during printing, any printer error occurs then a warning will eventually be given, (it can take TOS quite a while sometimes) output will stop and the counter is zeroed. CHANGES FOR v1.6 Intro screen was still not working properly on the TT so a resource file has been added which cured this problem. JCLABL**.PRG and JCLABEL.RSC must be in the same directory / folder. When run on a TT, any graphics card which enlarges the display area must be turned off or the software 'informed' not to use overscan when running JCLABEL. It can only cope with screen which use the standard 32000 bytes of memory! CHANGES FOR v1.7 When a label list is saved and one of the same name exists in the same folder then the original is renamed as a *.BAK. e.g. If MYFRIEND.JCL exists and you save the list again after updating it then the old list will become MYFRIEND.BAK and the new list will be called MYFRIEND.JCL. Any previous MYFRIEND.BAK list will be erased without any warning being given! SUPPORT As with nearly all modifications to this program, many additions were added as a result of user's request. If you have any ideas for improvements or general comments then don't be shy - write or send a message. The worst that can happen is a polite, sorry no - the best, an updated program catering for your needs..... John Charles (JayCee) 11th November, 1992.