Update of /cvsroot/cbar/cbar/docs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2477/docs
Modified Files:
cbar._tx changes._tx readme._tx
Log Message:
Line endings
Index: cbar._tx
===================================================================
RCS file: /cvsroot/cbar/cbar/docs/cbar._tx,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** cbar._tx 21 Jun 2004 19:18:31 -0000 1.6
--- cbar._tx 8 Nov 2004 21:20:43 -0000 1.7
***************
*** 1,386 ****
! @#This is the source for the CBAR manual, in Shawn's special format.
! @#The readable documents are generated and will be found in the files:
! @#cbar.txt,cbar.rtf, cbar.htm, cbar.inf, the latter may be
! @#
! @multiwordheaders
! @manh="version 1.0.2" "CBAR" "Manual"
! @document_title=CBAR Manual
! @rtfh=cbar - an add on lib to CGUI for bar code reading
! @$\input texinfo
! @$@setfilename cbar.inf
! @$@settitle cbar Manual
! @$@setchapternewpage odd
! @$@paragraphindent 0
! @$
! @$@ifinfo
! @$This is the Info version of the CBAR manual
! @$
! @$By Christer Sandberg
! @$@end ifinfo
! @$
! @$@node Top, , (dir), (dir)
! @<html>
! @<head>
! @<title>The CBAR API</title>
! @<body>
! <center><b>CBAR</b></center>
! <center><b>A CGUI and Allegro addon for for bar code reading</b></center>
! <center><b>by Christer Sandberg</b></center>
! <center>Email: <email>chr...@md...</a></center>
! <center>Homepage: <a href="http://www.idt.mdh.se/~csg/cgui/cguix">http://www.idt.mdh.se/~csg/cgui/cguix</a></center>
! <center><b>
! The Manual of CBAR 1.0.2
! </b></center>
! @!text
!
! @heading
! Contents
!
! @contents
!
! @text
! @heading
! Using cbar
! To be able to call the functions in the cbar lib you must
! #include <cbar.h> in your C file(s).
!
! @heading
! Simple_use of bar-codes
! @xref CbarSettingsDialogue
! @xref CbarLoadInit
! @xref CbarDeInit
! @xref CbarActivate
! Calling the dialogue function will start a dialogue that let the user make
! all the configurations needed. Settings is saved into the current config
! file and can later be retrieved by the `CbarLoadInit' function. After the
! dialogue eventual new readers may have been added and needs to be started.
! A simple usage of the car-code reading will be like this:<br>
! <ul>
! <li> Call `CbarLoadInit(0)' at start.
! <li> Call `CbarActivate(-1, my_func, my_data, 0)' to start all readers
! <li> Make some menu-selection that calls `CbarSettingsDialogue' on user
! selection.
! <li> Immediately after `CbarSettingsDialogue', also call `CbarActivate' to
! start reading for all new readers added in the dialogue.
! </ul>
! From this follows that a yet simpler usage is to preset fixed values into
! the config file and skip the last two calls.
!
! @@int @CbarSettingsDialogue(int len, int check, int sound, int source, int errorlog, int *nrreaders);
! @xref CbarLoadInit
! @xref CbarDeInit
! @xref CbarActivate
! This functions starts a dialogue that give the user of your program the
! opportunity to customise the bar-code readers. The parameters specifies
! some data components that are optional to edit. `CbarSettingsDialogue'
! will not return until the dialogue has been finished. <br>
! <br>A number of properties of the barcode readers can be optionally
! included/excluded from the dialogue, see the parameter list below (maybe
! your program for some reason needs to hardcode e.g. the code length, and
! it therefore need to be excluded from the dialogue).<br>
! Parameters:
! <ul>
! <li> len: If set, a widget for specifying the length of the barcodes will
! be present in the dialogue.
! <li> check: If set, the selection of the property "Checksum is embedded in
! the barcode" will be present in the dialogue.
! <li> sound: If set, the widgets for configuring the sound of the bar
! code readers will be present in the dialogue (e.g the using of the
! internal and/or external speakers; the properties of these, incuding
! selection of a sound-file).
! <li> source: If set, the selection of the source of bar code readers
! (i.e. serial port number or keyboard) will be present in the dialogue.
! <li> errorlog: If set, the selection of starting error logging and opening
! a log window will be present in the dialogue.
! <li> nrreaders: The value pointed to by `nrreaders' will be updated with
! the number of readers the user has specified.
! </ul>
! Return value: 1 if the user finished with "OK" else 0.
!
! @@int @CbarActivate(int reader_nr, void (*CallBack) (int reader_nr, char *s, void *data), void *data, int mode);
! @xref CbarSettingsDialogue
! @xref CbarLoadInit
! @xref CbarDeInit
! @xref CbarMakeSound
! Starts scanning for barcodes from the source specified in config, and
! installs 'CallBack' as the recipient of successfully read barcodes. <br>
! Parameters:
! <ul>
! <li> reader_nr - The reader to activate. Pass -1 if you want to activate all at
! once.
! <li> CallBack - A pointer to your function.<br>
! Parameters to the CallBack:
! <ul>
! <li> reader_nr - The id-key of the reader
! <li> s - The string of the digits read from the barcode.
! <li> data - The data-pointer
! </ul>
! <li> data - A pointer to any data that you want to be passed to your call-back
! <li> mode - The mode to operate in. The below flags can be ored in any
! combination.
! <ul>
! <li> CBAR_NOCHECK - The reader will call `CallBack' as soon as
! either of the below events has occured.
! <ul>
! <li> "The number read of characters are the expected"
! <li> "A carrage return har been read"
! </ul>
! In the latter case the carrage reaturn will be included in the
! string.<br>
! The default mode is to perform a primary check, i.e.
! the reader will only call `CallBack' when correct strings are
! read, which means that the number of digits matches the
! specification, the checksum (and there is checksum specified)
! is correct and the digits was followed by a carrage
! return (the carrage return is however not included in the
! string passed to `CallBack').
! <li> CBAR_NOSOUND_OK - The reader will not produce any sound when
! a string has been properly read.
! <li> CBAR_NOSOUND_ERROR - The reader will not produce any sound when
! an erroneous sequence has been read.
! <li>
! </ul>
! The deault behavior is to make sounds. You may want to turn off e.g.
! the OK-sound if your program has more constraints on the code then
! those concerning the barcode itself (like e.g. a set of codes are
! not accepted during a certain operational mode, or a limited set of
! codes are accepted) and you don't want the error-sound to be mixed
! with the OK-sound.<br>
! Another situation when you need to turn off sound, may be if you only
! need the beep from the scanner/pen itself (which means that you fully
! trusts the serial line and needs no more check).
! </ul>
! If you want the reader(s) to stop reading, just pass NULL for the callback.<br>
! Return value: 1 if sucessfull else 0.
!
! @@int @CbarLoadInit(int mode);
! @xref CbarSettingsDialogue
! @xref CbarDeInit
! @xref CbarActivate
! This function loads bar code settings from the current config-file for
! all readers found there. <br>
! Return value is the number of readers found. These can later be refered
! by sequence numbers (0...nr-1).<br>
! Alternatively (or in combination) to initialise barcode-readers with
! `CbarLoadInit' you can add individual readers by call to `CbarAddReader'. <br>
! If there are already readers inited when `CbarLoadInit' is called, these
! will be destroyed before the loading.<br>
! By default the error logging and the log-window will be set to the state
! chosed by the user (in the bar-code dialogue) last time. If you for some
! reason don't want that, but instead some specific state of these bar-code
! system properties then set the parameter `mode' to some of the values
! listed below `CbarLoadInit' (this may be useful in case you create your own
! dialogue and don't use the bar-code dialogue at all). <br>
! The parameter `mode' can be either of (pass 0 if you don't need it):
! <ul>
! <li> CBAR_NO_SAVESTATE_LOG - if the user had the error-logging turned on
! last time the program was running (by using that option in the
! bar-code dialgoue), then it will NOT be turned on by `CbarLoadInit' if
! you specifiy `CBAR_NO_SAVESTATE_LOG'.
! <li> CBAR_NO_SAVESTATE_LOG_WIN - if the user had the error log window
! opened last time the program was running (opened using that selection
! in the bar-code dialgoue), then it will NOT be opened by `CbarLoadInit'
! if you specifiy `CBAR_NO_SAVESTATE_LOG_WIN'.
! </ul>
!
! @@void @CbarDeInit(void);
! @xref CbarSettingsDialogue
! @xref CbarLoadInit
! @xref CbarActivate
! Frees all data allocated by `CbarLoadInit' and restore states as to prior
! that call. You don't need to call it - it will be called automatically
! at program exit.
!
! @heading
! Controlled_use of bar-codes
! @xref CbarAddUnit
! @xref CbarRemoveUnit
! @xref CbarSetup
! @xref CbarSoundInternal
! @xref CbarSoundExternal
! @xref CbarUnitConnection
! @xref CbarMakeSound
! In stead of (or in combination with) using the dialogoue for configuring
! the barcode readers you can set any parameter explicitly (because you want
! it to be hard coded or because you want to design your own dialogue).
!
! @@int @CbarAddUnit(void);
! @xref CbarRemoveUnit
! @xref CbarSetup
! @xref CbarSoundInternal
! @xref CbarSoundExternal
! @xref CbarUnitConnection
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Adds a reader-unit to the ones already existing. The return number is the
! sequence number that you can use if you later want to refere to that
! specific reader.
! Return value: 1 if sucessful else 0.
!
! @@int @CbarRemoveUnit(int reader_nr);
! @xref CbarAddUnit
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Removes a reader-unit previously added (either by call to `CbarLoadInit' or
! `CbarAddUnit').
! Return value: 1 if sucessful else 0. If you want to remove all, just
! pass -1.
!
! @@int @CbarSetup(int codelen, int readchk, int writechk);
! @xref CbarAddUnit
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Set up some general properties for the barcode reading/writing.<br>
! Parameters:
! <ul>
! <li> codelen - Specify the number of digits needed for your data. The
! actual number of digits that will be used when the barcode is
! printed may be more because of a checksum-digit and/or because
! of padding to an even number of digits. The latter has to be done
! since the Interleaved 2/5 system requires an even number of digits.
! When reading the number of digits are checked against length, which
! increases the reliability of reading. Specifying a length of 0 will
! print dynamic length of codes and reading will not check the length.
! <li> writechk - Controls that a checksum will be added to the code when
! printing them later.
! <li> readchk - Expects a checksum to be present in the read data.
! NOTE! If error check is active also in the hardware (which is
! often the case) this must first be deactivated since it otherwise
! will consume the check-digit.
! </ul>
!
! @@int @CbarSoundInternal(int reader_nr, int f1, int d1, int f2, int d2);
! @xref CbarAddUnit
! @xref CbarSetup
! @xref CbarSoundExternal
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Pre-sets the specified reader's sound to be destinated to the internal
! PC-speaker and specifies the setting of it. <br>
! Parameters:
! <ul>
! <li> reader_nr - the number of the reader-unit
! <li> f1 - frequence of approved reading
! <li> d1 - duration of approved reading
! <li> f2 - frequence of rejected reading
! <li> d2 - duration of rejected reading
! </ul>
!
! @@int @CbarSoundExternal(int reader_nr, int speaker, int v1, const char *f1, int v2, const char *f2);
! @xref CbarAddUnit
! @xref CbarSetup
! @xref CbarSoundInternal
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Pre-sets the specified reader to generate sound on the external speakers.
! Parameters:
! <ul>
! <li> reader_nr - the number of the reader-unit
! <li> src - output of the sound, this may be either of BARSOUND_LEFT,
! BARSOUND_RIGHT, BARSOUND_BOTH or BARSOUND_NONE
! <li> v1 - volume of approved reading
! <li> f1 - filename of approved reading
! <li> v2 - volume of rejected reading
! <li> f2 - filename of rejected reading
! </ul>
!
! @@int @CbarUnitConnection(int reader_nr, int connection);
! @xref CbarAddUnit
! @xref CbarSetup
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Pre-sets the specified reader to scan for data from the specified source.
! The connection may be either of READER_NONE, READER_COM1, READER_COM2,
! READER_COM3, READER_COM4, READER_KB.
!
! @@int @CbarMakeSound(int reader_nr, int soundtype);
! You don't need to call this function unless you have specified
! CBAR_NOSOUND_OK or CBAR_NOSOUND_ERROR when calling `CbarActivate'
! (the default behaviour of a barcode reader is to play a sound
! automatically when a barcode has been read).<br>
! This function will play a sound as specified in the bar-code dialogue<br>
! The soundtype may be either of CBAR_SOUND_READERROR or CBAR_SOUND_READOK.
!
! @heading
! Format-bar-printout
! @xref CbarAdjustBarPrint
! @xref CbarSettingsDialogue
! Formatting a string for printing out barcodes of type interleaved 2/5 taking
! in account the user settings selected by the Bar-code settings dialogue.
!
! @@void @CbarAdjustBarPrint(char *result, const char *s);
! A function that uses the settings in the current config to justify `s' to
! a proper bar-printout string into `result'. That is, adding a check-digit
! if stated, padding to an even number of digits if necessary and padding
! up to a fixed number of digits (if stated so).
!
! @heading
! Error-logging of bar-code reading
! @xref CbarAddToErrorLog
! @xref CbarLogErrors
! @xref CbarShowErrorLog
! @xref CbarSettingsDialogue
! In case your program has problems with many errors when using bar-code
! reading, then it may be useful to log the errors. If you let the user
! control this via the bar-code dialgoue this will be done automatically.
! If not you can control it explicitly by using the error logging functions.
!
! @@void @CbarLogErrors(int mode);
! @xref CbarAddToErrorLog
! @xref CbarShowErrorLog
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! This function starts the error logging. Any error detected by the barcode
! system will be logged. The following items will be stored for each error:
! <ul>
! <li> the reader number
! <li> error type
! <li> the code string (partial or complete)
! <li> the current time
! </ul>
! You can use this to trace errors if your program misses too many readings.
! This is of course most useful during de-bugging, but it won't harm you to
! use during "sharp" bar code useing.<br>
! Parmeter:<br>
! mode (the clean flag can be ored with the other)
! <ul>
! <li> CBAR_LOG_ON - turn on logging
! <li> CBAR_LOG_OFF - turn off logging
! <li> CBAR_LOG_CLEAN - clean error log
! </ul>
!
! @@void @CbarShowErrorLog(void);
! @xref CbarAddToErrorLog
! @xref CbarLogErrors
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! This function opens a new window containing a list where all errors logged
! so far, will be displayed. The window will be a child to the current
! window and of type "floating". There will be a "close" button to let the
! user close the window. The current state of the window will be stored
! in the config file, to be used next time `CbarLoadInit' is called.
!
! @@void @CbarAddToErrorLog(int reader, const char *error, const char *code);
! @xref CbarShowErrorLog
! @xref CbarLogErrors
! This function is normally not needed. It will add any error to the error
! log (if active). It can be used by your program e.g. if it detects some
! error concerning the contents of the barcodes that the barcode system
! itself is not able to detect.<br>
! Parameters:
! <ul>
! <li> reader - the reader number
! <li> error - any string to explain the error type
! <li> code - the received erroneous bar code
! </ul>
!
! @headingnocontent
! Index
!
! @index
!
! @$@contents
! @$@bye
!
! @html
! @text
--- 1,386 ----
! @#This is the source for the CBAR manual, in Shawn's special format.
! @#The readable documents are generated and will be found in the files:
! @#cbar.txt,cbar.rtf, cbar.htm, cbar.inf, the latter may be
! @#
! @multiwordheaders
! @manh="version 1.0.2" "CBAR" "Manual"
! @document_title=CBAR Manual
! @rtfh=cbar - an add on lib to CGUI for bar code reading
! @$\input texinfo
! @$@setfilename cbar.inf
! @$@settitle cbar Manual
! @$@setchapternewpage odd
! @$@paragraphindent 0
! @$
! @$@ifinfo
! @$This is the Info version of the CBAR manual
! @$
! @$By Christer Sandberg
! @$@end ifinfo
! @$
! @$@node Top, , (dir), (dir)
! @<html>
! @<head>
! @<title>The CBAR API</title>
! @<body>
! <center><b>CBAR</b></center>
! <center><b>A CGUI and Allegro addon for for bar code reading</b></center>
! <center><b>by Christer Sandberg</b></center>
! <center>Email: <email>chr...@md...</a></center>
! <center>Homepage: <a href="http://www.idt.mdh.se/~csg/cgui/cguix">http://www.idt.mdh.se/~csg/cgui/cguix</a></center>
! <center><b>
! The Manual of CBAR 1.0.2
! </b></center>
! @!text
!
! @heading
! Contents
!
! @contents
!
! @text
! @heading
! Using cbar
! To be able to call the functions in the cbar lib you must
! #include <cbar.h> in your C file(s).
!
! @heading
! Simple_use of bar-codes
! @xref CbarSettingsDialogue
! @xref CbarLoadInit
! @xref CbarDeInit
! @xref CbarActivate
! Calling the dialogue function will start a dialogue that let the user make
! all the configurations needed. Settings is saved into the current config
! file and can later be retrieved by the `CbarLoadInit' function. After the
! dialogue eventual new readers may have been added and needs to be started.
! A simple usage of the car-code reading will be like this:<br>
! <ul>
! <li> Call `CbarLoadInit(0)' at start.
! <li> Call `CbarActivate(-1, my_func, my_data, 0)' to start all readers
! <li> Make some menu-selection that calls `CbarSettingsDialogue' on user
! selection.
! <li> Immediately after `CbarSettingsDialogue', also call `CbarActivate' to
! start reading for all new readers added in the dialogue.
! </ul>
! From this follows that a yet simpler usage is to preset fixed values into
! the config file and skip the last two calls.
!
! @@int @CbarSettingsDialogue(int len, int check, int sound, int source, int errorlog, int *nrreaders);
! @xref CbarLoadInit
! @xref CbarDeInit
! @xref CbarActivate
! This functions starts a dialogue that give the user of your program the
! opportunity to customise the bar-code readers. The parameters specifies
! some data components that are optional to edit. `CbarSettingsDialogue'
! will not return until the dialogue has been finished. <br>
! <br>A number of properties of the barcode readers can be optionally
! included/excluded from the dialogue, see the parameter list below (maybe
! your program for some reason needs to hardcode e.g. the code length, and
! it therefore need to be excluded from the dialogue).<br>
! Parameters:
! <ul>
! <li> len: If set, a widget for specifying the length of the barcodes will
! be present in the dialogue.
! <li> check: If set, the selection of the property "Checksum is embedded in
! the barcode" will be present in the dialogue.
! <li> sound: If set, the widgets for configuring the sound of the bar
! code readers will be present in the dialogue (e.g the using of the
! internal and/or external speakers; the properties of these, incuding
! selection of a sound-file).
! <li> source: If set, the selection of the source of bar code readers
! (i.e. serial port number or keyboard) will be present in the dialogue.
! <li> errorlog: If set, the selection of starting error logging and opening
! a log window will be present in the dialogue.
! <li> nrreaders: The value pointed to by `nrreaders' will be updated with
! the number of readers the user has specified.
! </ul>
! Return value: 1 if the user finished with "OK" else 0.
!
! @@int @CbarActivate(int reader_nr, void (*CallBack) (int reader_nr, char *s, void *data), void *data, int mode);
! @xref CbarSettingsDialogue
! @xref CbarLoadInit
! @xref CbarDeInit
! @xref CbarMakeSound
! Starts scanning for barcodes from the source specified in config, and
! installs 'CallBack' as the recipient of successfully read barcodes. <br>
! Parameters:
! <ul>
! <li> reader_nr - The reader to activate. Pass -1 if you want to activate all at
! once.
! <li> CallBack - A pointer to your function.<br>
! Parameters to the CallBack:
! <ul>
! <li> reader_nr - The id-key of the reader
! <li> s - The string of the digits read from the barcode.
! <li> data - The data-pointer
! </ul>
! <li> data - A pointer to any data that you want to be passed to your call-back
! <li> mode - The mode to operate in. The below flags can be ored in any
! combination.
! <ul>
! <li> CBAR_NOCHECK - The reader will call `CallBack' as soon as
! either of the below events has occured.
! <ul>
! <li> "The number read of characters are the expected"
! <li> "A carrage return har been read"
! </ul>
! In the latter case the carrage reaturn will be included in the
! string.<br>
! The default mode is to perform a primary check, i.e.
! the reader will only call `CallBack' when correct strings are
! read, which means that the number of digits matches the
! specification, the checksum (and there is checksum specified)
! is correct and the digits was followed by a carrage
! return (the carrage return is however not included in the
! string passed to `CallBack').
! <li> CBAR_NOSOUND_OK - The reader will not produce any sound when
! a string has been properly read.
! <li> CBAR_NOSOUND_ERROR - The reader will not produce any sound when
! an erroneous sequence has been read.
! <li>
! </ul>
! The deault behavior is to make sounds. You may want to turn off e.g.
! the OK-sound if your program has more constraints on the code then
! those concerning the barcode itself (like e.g. a set of codes are
! not accepted during a certain operational mode, or a limited set of
! codes are accepted) and you don't want the error-sound to be mixed
! with the OK-sound.<br>
! Another situation when you need to turn off sound, may be if you only
! need the beep from the scanner/pen itself (which means that you fully
! trusts the serial line and needs no more check).
! </ul>
! If you want the reader(s) to stop reading, just pass NULL for the callback.<br>
! Return value: 1 if sucessfull else 0.
!
! @@int @CbarLoadInit(int mode);
! @xref CbarSettingsDialogue
! @xref CbarDeInit
! @xref CbarActivate
! This function loads bar code settings from the current config-file for
! all readers found there. <br>
! Return value is the number of readers found. These can later be refered
! by sequence numbers (0...nr-1).<br>
! Alternatively (or in combination) to initialise barcode-readers with
! `CbarLoadInit' you can add individual readers by call to `CbarAddReader'. <br>
! If there are already readers inited when `CbarLoadInit' is called, these
! will be destroyed before the loading.<br>
! By default the error logging and the log-window will be set to the state
! chosed by the user (in the bar-code dialogue) last time. If you for some
! reason don't want that, but instead some specific state of these bar-code
! system properties then set the parameter `mode' to some of the values
! listed below `CbarLoadInit' (this may be useful in case you create your own
! dialogue and don't use the bar-code dialogue at all). <br>
! The parameter `mode' can be either of (pass 0 if you don't need it):
! <ul>
! <li> CBAR_NO_SAVESTATE_LOG - if the user had the error-logging turned on
! last time the program was running (by using that option in the
! bar-code dialgoue), then it will NOT be turned on by `CbarLoadInit' if
! you specifiy `CBAR_NO_SAVESTATE_LOG'.
! <li> CBAR_NO_SAVESTATE_LOG_WIN - if the user had the error log window
! opened last time the program was running (opened using that selection
! in the bar-code dialgoue), then it will NOT be opened by `CbarLoadInit'
! if you specifiy `CBAR_NO_SAVESTATE_LOG_WIN'.
! </ul>
!
! @@void @CbarDeInit(void);
! @xref CbarSettingsDialogue
! @xref CbarLoadInit
! @xref CbarActivate
! Frees all data allocated by `CbarLoadInit' and restore states as to prior
! that call. You don't need to call it - it will be called automatically
! at program exit.
!
! @heading
! Controlled_use of bar-codes
! @xref CbarAddUnit
! @xref CbarRemoveUnit
! @xref CbarSetup
! @xref CbarSoundInternal
! @xref CbarSoundExternal
! @xref CbarUnitConnection
! @xref CbarMakeSound
! In stead of (or in combination with) using the dialogoue for configuring
! the barcode readers you can set any parameter explicitly (because you want
! it to be hard coded or because you want to design your own dialogue).
!
! @@int @CbarAddUnit(void);
! @xref CbarRemoveUnit
! @xref CbarSetup
! @xref CbarSoundInternal
! @xref CbarSoundExternal
! @xref CbarUnitConnection
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Adds a reader-unit to the ones already existing. The return number is the
! sequence number that you can use if you later want to refere to that
! specific reader.
! Return value: 1 if sucessful else 0.
!
! @@int @CbarRemoveUnit(int reader_nr);
! @xref CbarAddUnit
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Removes a reader-unit previously added (either by call to `CbarLoadInit' or
! `CbarAddUnit').
! Return value: 1 if sucessful else 0. If you want to remove all, just
! pass -1.
!
! @@int @CbarSetup(int codelen, int readchk, int writechk);
! @xref CbarAddUnit
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Set up some general properties for the barcode reading/writing.<br>
! Parameters:
! <ul>
! <li> codelen - Specify the number of digits needed for your data. The
! actual number of digits that will be used when the barcode is
! printed may be more because of a checksum-digit and/or because
! of padding to an even number of digits. The latter has to be done
! since the Interleaved 2/5 system requires an even number of digits.
! When reading the number of digits are checked against length, which
! increases the reliability of reading. Specifying a length of 0 will
! print dynamic length of codes and reading will not check the length.
! <li> writechk - Controls that a checksum will be added to the code when
! printing them later.
! <li> readchk - Expects a checksum to be present in the read data.
! NOTE! If error check is active also in the hardware (which is
! often the case) this must first be deactivated since it otherwise
! will consume the check-digit.
! </ul>
!
! @@int @CbarSoundInternal(int reader_nr, int f1, int d1, int f2, int d2);
! @xref CbarAddUnit
! @xref CbarSetup
! @xref CbarSoundExternal
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Pre-sets the specified reader's sound to be destinated to the internal
! PC-speaker and specifies the setting of it. <br>
! Parameters:
! <ul>
! <li> reader_nr - the number of the reader-unit
! <li> f1 - frequence of approved reading
! <li> d1 - duration of approved reading
! <li> f2 - frequence of rejected reading
! <li> d2 - duration of rejected reading
! </ul>
!
! @@int @CbarSoundExternal(int reader_nr, int speaker, int v1, const char *f1, int v2, const char *f2);
! @xref CbarAddUnit
! @xref CbarSetup
! @xref CbarSoundInternal
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Pre-sets the specified reader to generate sound on the external speakers.
! Parameters:
! <ul>
! <li> reader_nr - the number of the reader-unit
! <li> src - output of the sound, this may be either of BARSOUND_LEFT,
! BARSOUND_RIGHT, BARSOUND_BOTH or BARSOUND_NONE
! <li> v1 - volume of approved reading
! <li> f1 - filename of approved reading
! <li> v2 - volume of rejected reading
! <li> f2 - filename of rejected reading
! </ul>
!
! @@int @CbarUnitConnection(int reader_nr, int connection);
! @xref CbarAddUnit
! @xref CbarSetup
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! Pre-sets the specified reader to scan for data from the specified source.
! The connection may be either of READER_NONE, READER_COM1, READER_COM2,
! READER_COM3, READER_COM4, READER_KB.
!
! @@int @CbarMakeSound(int reader_nr, int soundtype);
! You don't need to call this function unless you have specified
! CBAR_NOSOUND_OK or CBAR_NOSOUND_ERROR when calling `CbarActivate'
! (the default behaviour of a barcode reader is to play a sound
! automatically when a barcode has been read).<br>
! This function will play a sound as specified in the bar-code dialogue<br>
! The soundtype may be either of CBAR_SOUND_READERROR or CBAR_SOUND_READOK.
!
! @heading
! Format-bar-printout
! @xref CbarAdjustBarPrint
! @xref CbarSettingsDialogue
! Formatting a string for printing out barcodes of type interleaved 2/5 taking
! in account the user settings selected by the Bar-code settings dialogue.
!
! @@void @CbarAdjustBarPrint(char *result, const char *s);
! A function that uses the settings in the current config to justify `s' to
! a proper bar-printout string into `result'. That is, adding a check-digit
! if stated, padding to an even number of digits if necessary and padding
! up to a fixed number of digits (if stated so).
!
! @heading
! Error-logging of bar-code reading
! @xref CbarAddToErrorLog
! @xref CbarLogErrors
! @xref CbarShowErrorLog
! @xref CbarSettingsDialogue
! In case your program has problems with many errors when using bar-code
! reading, then it may be useful to log the errors. If you let the user
! control this via the bar-code dialgoue this will be done automatically.
! If not you can control it explicitly by using the error logging functions.
!
! @@void @CbarLogErrors(int mode);
! @xref CbarAddToErrorLog
! @xref CbarShowErrorLog
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! This function starts the error logging. Any error detected by the barcode
! system will be logged. The following items will be stored for each error:
! <ul>
! <li> the reader number
! <li> error type
! <li> the code string (partial or complete)
! <li> the current time
! </ul>
! You can use this to trace errors if your program misses too many readings.
! This is of course most useful during de-bugging, but it won't harm you to
! use during "sharp" bar code useing.<br>
! Parmeter:<br>
! mode (the clean flag can be ored with the other)
! <ul>
! <li> CBAR_LOG_ON - turn on logging
! <li> CBAR_LOG_OFF - turn off logging
! <li> CBAR_LOG_CLEAN - clean error log
! </ul>
!
! @@void @CbarShowErrorLog(void);
! @xref CbarAddToErrorLog
! @xref CbarLogErrors
! You don't need to call this function if you use `CbarSettingsDialogue' for
! the barcode dialogue. <br>
! This function opens a new window containing a list where all errors logged
! so far, will be displayed. The window will be a child to the current
! window and of type "floating". There will be a "close" button to let the
! user close the window. The current state of the window will be stored
! in the config file, to be used next time `CbarLoadInit' is called.
!
! @@void @CbarAddToErrorLog(int reader, const char *error, const char *code);
! @xref CbarShowErrorLog
! @xref CbarLogErrors
! This function is normally not needed. It will add any error to the error
! log (if active). It can be used by your program e.g. if it detects some
! error concerning the contents of the barcodes that the barcode system
! itself is not able to detect.<br>
! Parameters:
! <ul>
! <li> reader - the reader number
! <li> error - any string to explain the error type
! <li> code - the received erroneous bar code
! </ul>
!
! @headingnocontent
! Index
!
! @index
!
! @$@contents
! @$@bye
!
! @html
! @text
Index: readme._tx
===================================================================
RCS file: /cvsroot/cbar/cbar/docs/readme._tx,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** readme._tx 21 Jun 2004 19:18:31 -0000 1.6
--- readme._tx 8 Nov 2004 21:20:44 -0000 1.7
***************
*** 1,219 ****
! @# This is the source for the CBAR readme file, in Allegro's custom format.
! @# Read allegro/docs/makedoc.c for a description of what is going on...
! @#
! @#ignore_css
! @multiwordheaders
! @document_title=CBAR readme
! @rtfh=Readme file of CBAR
! @$\input texinfo
! @$@setfilename readme.inf
! @$@settitle Readme of CBAR
! @$@setchapternewpage odd
! @$@paragraphindent 0
! @$@setchapternewpage off
! @# This should remain commented at the moment (dvi output) @$@finalout
! @$
! @$@ifinfo
! @$@direntry
! @$* Readme: (readme). Readme in CBAR
! @$@end direntry
! @$This is the Info version of the CBAR readme file.
! @$
! @$By Christer Sandberg
! @$@end ifinfo
! @$
! @$@node Top, , (dir), (dir)
! @<html>
! @<head>
! @<title>Readme file of CBAR</title>
! @<body>
! <center><b>A CGUI and Allegro addon for serial port communication</b></center>
! <center><b>by Christer Sandberg</b></center>
! <center>Email: <email>chr...@md...</a></center>
! <center>Homepage: <a href="http://www.idt.mdh.se/~csg/cgui/cguix">http://www.idt.mdh.se/~csg/cgui/cguix</a></center>
! <center><b>
! Readme file of CBAR
! </b></center>
! @!text
! @heading
! Contents
!
! @shortcontents
!
! @text
! @heading
! Introduction
!
! CBAR is a library with functions that let you communicate with a bar
! code reader in a simple way. It relies on CGUI for dialogs and on
! CCOM for serial communication.
!
! CBAR builds and operates on the following platforms: DOS/DJGPP, Linux,
! Windows/Mingw32 and Windows/MSVC.
!
! @heading
! Requirements
!
! You need to have compiled and installed
! <br>Allegro version 4.0.x
! <br>CGUI version 1.6.7 or later
! <br>CCOM version 0.9.2 or later
! <br>There are also other requirements like correctly installed compilers etc.
! but these are already fulfilled if you succeded in making and installing
! Allegro and CGUI (no additional requirements are needed).
!
! You can find Allegro at:
! http://alleg.sourceforge.net/
!
! You can find CGUI at:
! http://www.mdh.se/~csg/cgui/
!
! You can find CCOM at:
! http://www.mdh.se/~csg/cgui/cguix
!
! @heading
! Installation
!
! Installation goes in some simple steps, and should be familiar since it is
! similar to the installation procedure as of Allegro and CGUI:
! <ul>
! <li>
! Tell the installation process what platform you use. Start a command window
! (shell) and set the main directory of cbar to you current directory
! i.e. enter the command
! <pre>
! cd c:\cbar
! </pre>
! or whatever is the name of your cbar directory. Then choose platform by
! running one of the following commands:
! <pre>
! fix.bat djgpp - to compile with DOS/DJGPP
! fix.bat mingw32 - to compile with Windows/MinGW32
! fix.bat msvc - to compile with Windows/MSVC
! ./fix.sh unix - to compile with Linux/gcc
! </pre>
! <li>
! Specify the path to your allegro installation by setting the environment
! variable ALLEGRO. E.g. if your allegro directory is c:\allegro then
! you must type <br>
! <pre>
! set ALLEGRO=c:\allegro
! </pre>
! or alternatively put that line into your autoexec file and restart.
! For unix users:
! <pre>
! export ALLEGRO=/home/user/allegro-4.0.3
! </pre>
! or whatever is the name of your allegro directory.
! <li>
! Specify the path to your CGUI installation by setting the environment
! CGUIDIR the same way as ALLEGRO, e.g.<br>
! <pre>
! set CGUIDIR=c:\cgui
! </pre>
! or for unix users:
! <pre>
! export CGUIDIR=/home/user/cgui
! </pre>
! <li>
! Ensure that all CGUI's tools has been built:
! Make CGUI's directory to the current, e.g. type the command
! <pre>
! cd c:\cgui
! </pre>
! Build:
! <pre>
! make dat2c
! make mktext
! </pre>
! Return to the main directory of cbar, e.g.:
! <pre>
! cd c:\cbar
! </pre>
!
! <li>
! Compile the library. This is done by running "make" at the command line.
! <li>
! Install the files to common directories. This is done by running
! "make install" at the command line.<br>
! Under Linux, you may want to instead run "make install SYSTEM_DIR=<dir>",
! which will cause headers to be installed to <dir>/include and libraries to
! <dir>/lib. (default for <dir> is /usr/local), or else you need to
! run make install as root.
! </ul>
! That's it! Now you are ready to run the example program in the example directory.
! <p>
! You may also want to perform some of the optional steps during the installation:
! <ul>
! <li>
! You can compile a debugging library by typing "make DEBUGMODE=1" instead of
! just "make" and "make install DEBUGMODE=1" instead of "make install".
! To compile both the usual and the debug library in one step,
! type "make all" and "make installall".<br>
! These debugging libraries require that you also have maked and installed
! the debugging versions of Allegro and CGUI.
! <li>
! If you want statically linked libraries under Unix or Windows as well as
! the default dynamically linked libraries (dll under Windows, .so under
! Unix), add "STATICLINK=1" to the make command like "make STATICLINK=1",
! or "make DEBUGMODE=1 STATICLINK=1" and also add it to the installation
! command.<br>
! These static libraries require that you also have maked and installed
! the static versions of Allegro and CGUI.
! <li>
! Users of the MSys environment needs to set teh environment vaariable
! UNIX_TOOLS to 1 before make install is run.
! <li>
! If you want to read the CBAR documentation with the Rhide online help
! system, go to the "Help / Syntax help / Files to search" menu in Rhide,
! and add "cbar" after the existing "libc" entry (separated by a space).
! <li>
! To use the
! To use the debugging library, link with libccomd.a instead of libccom.a.
! </ul>
!
! @heading
! Usage
! <ul><li>
! #include <cbar.h> in the top of each file that uses a function from
! the library.
! <li>
! Before calling any CBAR functions you must have initialized CBAR and CGUI,
! Note also <b>CGUI</b>! For info about available functions, please read
! the manual, e.g. cbarm.html (but the docs are also available in other
! formats).
! <li>
! If you link your program on the command line, link with
! '-lcbar -lccom -lcgui -lalleg'. It is important that you specify the
! libraries in that order. If you want the ability to debug inside CBAR's
! functions, then link with '-lcbard' instead of '-lcbar'.
! <p>
! On Linux you can use the following command to link with the default
! lib of CBAR (please note the ` )
! <pre>
! gcc -s -lcbar -lccom -lcgui `allegro-config --libs release --shared` file.o
! </pre>
! where `file' is the name of your file. <br>
! For debug libraries use -lcbard -lccomd -lcguid instead and replace release
! with debug in the allegro config option. For linking a static application
! use -lcbar_s -lccom_s -lcgui_s and replace --shared with --static.
! <li>
! If you use RHIDE, go to the menu Options/Libraries and fill in cbar. It is
! important that cbar is above ccom, cgui and allegro. Don't forget to
! check the box to the left of the library. You have to replace cbar with
! cbard to include debugging information.
! </ul>
!
!
! @heading
! Contact Info
!
! Email:<ul>
! chr...@md...
! </ul>
! Homepage:<ul>
! http://www.idt.mdh.se/~csg/cgui/cguix
! </ul>
! Telephone:<ul>
! +46.(0)21.38.10.66
! </ul>
--- 1,219 ----
! @# This is the source for the CBAR readme file, in Allegro's custom format.
! @# Read allegro/docs/makedoc.c for a description of what is going on...
! @#
! @#ignore_css
! @multiwordheaders
! @document_title=CBAR readme
! @rtfh=Readme file of CBAR
! @$\input texinfo
! @$@setfilename readme.inf
! @$@settitle Readme of CBAR
! @$@setchapternewpage odd
! @$@paragraphindent 0
! @$@setchapternewpage off
! @# This should remain commented at the moment (dvi output) @$@finalout
! @$
! @$@ifinfo
! @$@direntry
! @$* Readme: (readme). Readme in CBAR
! @$@end direntry
! @$This is the Info version of the CBAR readme file.
! @$
! @$By Christer Sandberg
! @$@end ifinfo
! @$
! @$@node Top, , (dir), (dir)
! @<html>
! @<head>
! @<title>Readme file of CBAR</title>
! @<body>
! <center><b>A CGUI and Allegro addon for serial port communication</b></center>
! <center><b>by Christer Sandberg</b></center>
! <center>Email: <email>chr...@md...</a></center>
! <center>Homepage: <a href="http://www.idt.mdh.se/~csg/cgui/cguix">http://www.idt.mdh.se/~csg/cgui/cguix</a></center>
! <center><b>
! Readme file of CBAR
! </b></center>
! @!text
! @heading
! Contents
!
! @shortcontents
!
! @text
! @heading
! Introduction
!
! CBAR is a library with functions that let you communicate with a bar
! code reader in a simple way. It relies on CGUI for dialogs and on
! CCOM for serial communication.
!
! CBAR builds and operates on the following platforms: DOS/DJGPP, Linux,
! Windows/Mingw32 and Windows/MSVC.
!
! @heading
! Requirements
!
! You need to have compiled and installed
! <br>Allegro version 4.0.x
! <br>CGUI version 1.6.7 or later
! <br>CCOM version 0.9.2 or later
! <br>There are also other requirements like correctly installed compilers etc.
! but these are already fulfilled if you succeded in making and installing
! Allegro and CGUI (no additional requirements are needed).
!
! You can find Allegro at:
! http://alleg.sourceforge.net/
!
! You can find CGUI at:
! http://www.mdh.se/~csg/cgui/
!
! You can find CCOM at:
! http://www.mdh.se/~csg/cgui/cguix
!
! @heading
! Installation
!
! Installation goes in some simple steps, and should be familiar since it is
! similar to the installation procedure as of Allegro and CGUI:
! <ul>
! <li>
! Tell the installation process what platform you use. Start a command window
! (shell) and set the main directory of cbar to you current directory
! i.e. enter the command
! <pre>
! cd c:\cbar
! </pre>
! or whatever is the name of your cbar directory. Then choose platform by
! running one of the following commands:
! <pre>
! fix.bat djgpp - to compile with DOS/DJGPP
! fix.bat mingw32 - to compile with Windows/MinGW32
! fix.bat msvc - to compile with Windows/MSVC
! ./fix.sh unix - to compile with Linux/gcc
! </pre>
! <li>
! Specify the path to your allegro installation by setting the environment
! variable ALLEGRO. E.g. if your allegro directory is c:\allegro then
! you must type <br>
! <pre>
! set ALLEGRO=c:\allegro
! </pre>
! or alternatively put that line into your autoexec file and restart.
! For unix users:
! <pre>
! export ALLEGRO=/home/user/allegro-4.0.3
! </pre>
! or whatever is the name of your allegro directory.
! <li>
! Specify the path to your CGUI installation by setting the environment
! CGUIDIR the same way as ALLEGRO, e.g.<br>
! <pre>
! set CGUIDIR=c:\cgui
! </pre>
! or for unix users:
! <pre>
! export CGUIDIR=/home/user/cgui
! </pre>
! <li>
! Ensure that all CGUI's tools has been built:
! Make CGUI's directory to the current, e.g. type the command
! <pre>
! cd c:\cgui
! </pre>
! Build:
! <pre>
! make dat2c
! make mktext
! </pre>
! Return to the main directory of cbar, e.g.:
! <pre>
! cd c:\cbar
! </pre>
!
! <li>
! Compile the library. This is done by running "make" at the command line.
! <li>
! Install the files to common directories. This is done by running
! "make install" at the command line.<br>
! Under Linux, you may want to instead run "make install SYSTEM_DIR=<dir>",
! which will cause headers to be installed to <dir>/include and libraries to
! <dir>/lib. (default for <dir> is /usr/local), or else you need to
! run make install as root.
! </ul>
! That's it! Now you are ready to run the example program in the example directory.
! <p>
! You may also want to perform some of the optional steps during the installation:
! <ul>
! <li>
! You can compile a debugging library by typing "make DEBUGMODE=1" instead of
! just "make" and "make install DEBUGMODE=1" instead of "make install".
! To compile both the usual and the debug library in one step,
! type "make all" and "make installall".<br>
! These debugging libraries require that you also have maked and installed
! the debugging versions of Allegro and CGUI.
! <li>
! If you want statically linked libraries under Unix or Windows as well as
! the default dynamically linked libraries (dll under Windows, .so under
! Unix), add "STATICLINK=1" to the make command like "make STATICLINK=1",
! or "make DEBUGMODE=1 STATICLINK=1" and also add it to the installation
! command.<br>
! These static libraries require that you also have maked and installed
! the static versions of Allegro and CGUI.
! <li>
! Users of the MSys environment needs to set teh environment vaariable
! UNIX_TOOLS to 1 before make install is run.
! <li>
! If you want to read the CBAR documentation with the Rhide online help
! system, go to the "Help / Syntax help / Files to search" menu in Rhide,
! and add "cbar" after the existing "libc" entry (separated by a space).
! <li>
! To use the
! To use the debugging library, link with libccomd.a instead of libccom.a.
! </ul>
!
! @heading
! Usage
! <ul><li>
! #include <cbar.h> in the top of each file that uses a function from
! the library.
! <li>
! Before calling any CBAR functions you must have initialized CBAR and CGUI,
! Note also <b>CGUI</b>! For info about available functions, please read
! the manual, e.g. cbarm.html (but the docs are also available in other
! formats).
! <li>
! If you link your program on the command line, link with
! '-lcbar -lccom -lcgui -lalleg'. It is important that you specify the
! libraries in that order. If you want the ability to debug inside CBAR's
! functions, then link with '-lcbard' instead of '-lcbar'.
! <p>
! On Linux you can use the following command to link with the default
! lib of CBAR (please note the ` )
! <pre>
! gcc -s -lcbar -lccom -lcgui `allegro-config --libs release --shared` file.o
! </pre>
! where `file' is the name of your file. <br>
! For debug libraries use -lcbard -lccomd -lcguid instead and replace release
! with debug in the allegro config option. For linking a static application
! use -lcbar_s -lccom_s -lcgui_s and replace --shared with --static.
! <li>
! If you use RHIDE, go to the menu Options/Libraries and fill in cbar. It is
! important that cbar is above ccom, cgui and allegro. Don't forget to
! check the box to the left of the library. You have to replace cbar with
! cbard to include debugging information.
! </ul>
!
!
! @heading
! Contact Info
!
! Email:<ul>
! chr...@md...
! </ul>
! Homepage:<ul>
! http://www.idt.mdh.se/~csg/cgui/cguix
! </ul>
! Telephone:<ul>
! +46.(0)21.38.10.66
! </ul>
Index: changes._tx
===================================================================
RCS file: /cvsroot/cbar/cbar/docs/changes._tx,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** changes._tx 21 Jun 2004 19:18:31 -0000 1.5
--- changes._tx 8 Nov 2004 21:20:44 -0000 1.6
***************
*** 1,72 ****
! @# This is the source for the CBAR changes file, in Allegro's custom format.
! @# Read allegro/docs/makedoc.c for a description of what is going on...
! @#
! @#ignore_css
! @multiwordheaders
! @document_title=CBAR Changes
! @rtfh=Changes in CBAR
! @$\input texinfo
! @$@setfilename changes.inf
! @$@settitle Changes in CBAR
! @$@setchapternewpage odd
! @$@paragraphindent 0
! @$@setchapternewpage off
! @# This should remain commented at the moment (dvi output) @$@finalout
! @$
! @$@ifinfo
! @$@direntry
! @$* Changes: (changes). Changes in CBAR
! @$@end direntry
! @$This is the Info version of the Changes in CBAR file.
! @$
! @$By Christer Sandberg
! @$@end ifinfo
! @$
! @$@node Top, , (dir), (dir)
! @<html>
! @<head>
! @<title>Changes in CBAR</title>
! @<body>
! <center><b>A CGUI and Allegro addon for bar code reading</b></center>
! <center><b>by Christer Sandberg</b></center>
! <center>Email: <email>chr...@md...</a></center>
! <center>Homepage: <a href="http://www.idt.mdh.se/~csg/cgui/cguix">http://www.idt.mdh.se/~csg/cgui/cguix</a></center>
! <center><b>
! The changes log of CBAR
! </b></center>
! @!text
!
! @heading
! Changes
!
! 1.0.2:
! <ul>
! <li>
! Fixed bug 888698: Improved makfiles to make it possible to build on Linux.
! <li>
! Removed implicit dependency to allegro 4.1.* (dat2c)
! <li>
! Some general improvements in makefiles (e.g. uninstall, clean and
! veryclean corrected, removing of redundant code)
! <li>
! Removed makedoc, using CGUI's makedoc instead.
! <li>
! Minor bufixes and clearifications in the docs.
! </ul>
! 1.0.1:
! <ul>
! <li>
! Fixed bug #855852 "Warning text error" (confusing error messages)
! <li>
! Fixed bug #855857 "Error in error handling" (didn't set default sound file)
! <li>
! Added default sound files to the package.
! <li>
! Adapted build to Msys.
! </ul>
!
! 1.0.0:
! <ul>
! <li>
! Initial official version.
! </ul>
--- 1,72 ----
! @# This is the source for the CBAR changes file, in Allegro's custom format.
! @# Read allegro/docs/makedoc.c for a description of what is going on...
! @#
! @#ignore_css
! @multiwordheaders
! @document_title=CBAR Changes
! @rtfh=Changes in CBAR
! @$\input texinfo
! @$@setfilename changes.inf
! @$@settitle Changes in CBAR
! @$@setchapternewpage odd
! @$@paragraphindent 0
! @$@setchapternewpage off
! @# This should remain commented at the moment (dvi output) @$@finalout
! @$
! @$@ifinfo
! @$@direntry
! @$* Changes: (changes). Changes in CBAR
! @$@end direntry
! @$This is the Info version of the Changes in CBAR file.
! @$
! @$By Christer Sandberg
! @$@end ifinfo
! @$
! @$@node Top, , (dir), (dir)
! @<html>
! @<head>
! @<title>Changes in CBAR</title>
! @<body>
! <center><b>A CGUI and Allegro addon for bar code reading</b></center>
! <center><b>by Christer Sandberg</b></center>
! <center>Email: <email>chr...@md...</a></center>
! <center>Homepage: <a href="http://www.idt.mdh.se/~csg/cgui/cguix">http://www.idt.mdh.se/~csg/cgui/cguix</a></center>
! <center><b>
! The changes log of CBAR
! </b></center>
! @!text
!
! @heading
! Changes
!
! 1.0.2:
! <ul>
! <li>
! Fixed bug 888698: Improved makfiles to make it possible to build on Linux.
! <li>
! Removed implicit dependency to allegro 4.1.* (dat2c)
! <li>
! Some general improvements in makefiles (e.g. uninstall, clean and
! veryclean corrected, removing of redundant code)
! <li>
! Removed makedoc, using CGUI's makedoc instead.
! <li>
! Minor bufixes and clearifications in the docs.
! </ul>
! 1.0.1:
! <ul>
! <li>
! Fixed bug #855852 "Warning text error" (confusing error messages)
! <li>
! Fixed bug #855857 "Error in error handling" (didn't set default sound file)
! <li>
! Added default sound files to the package.
! <li>
! Adapted build to Msys.
! </ul>
!
! 1.0.0:
! <ul>
! <li>
! Initial official version.
! </ul>
|