Sistemato numero di copie nella printer; la set() chiamata dalle applicazioni

non printapp nasconde la voce n. copie a meno che non si faccia
enable_multiple_copies()


git-svn-id: svn://10.65.10.50/trunk@243 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1994-09-15 07:52:53 +00:00
parent c1e97ca1f9
commit 7c792335de
8 changed files with 1043 additions and 1046 deletions

View File

@ -31,7 +31,7 @@
#define CLASS_DATE_FIELD 23 #define CLASS_DATE_FIELD 23
#define CLASS_BOOLEAN_FIELD 30 #define CLASS_BOOLEAN_FIELD 30
#define CLASS_LIST_FIELD 31 #define CLASS_LIST_FIELD 31
#define CLASS_RADIO_FIELD 32 #define CLASS_RADIO_FIELD 32
#define CLASS_BUTTON_FIELD 40 #define CLASS_BUTTON_FIELD 40
#define CLASS_SHEET_FIELD 50 #define CLASS_SHEET_FIELD 50

View File

@ -1,4 +1,4 @@
// $Id: printapp.cpp,v 1.7 1994-09-14 10:43:51 villa Exp $ // $Id: printapp.cpp,v 1.8 1994-09-15 07:52:43 villa Exp $
#include <ctype.h> #include <ctype.h>
#include <stdarg.h> #include <stdarg.h>
@ -762,10 +762,11 @@ void TPrint_application::print()
// only external apps can change it // only external apps can change it
_repeat_print = FALSE; _repeat_print = FALSE;
ncopies = printer().n_copies();
// never print multiple copies if printer is viswin // never print multiple copies if printer is viswin
// only application may repeat printing by setting _repeat_print // only application may repeat printing by setting _repeat_print
int nc = printer().printtype() == screenvis ? 1 : _ncopies; int nc = printer().printtype() == screenvis ? 1 : ncopies;
// NULL cursor passed only prints once // NULL cursor passed only prints once
// pre and post process do everything // pre and post process do everything
@ -1242,7 +1243,6 @@ TPrint_application::TPrint_application ():TApplication (), _transtab (10),
{ {
_cur = NULL; _cur = NULL;
_repeat_print = FALSE; _repeat_print = FALSE;
_ncopies = 1;
_currow = _maxrow = 0; _currow = _maxrow = 0;
_auto_ff = FALSE; _auto_ff = FALSE;
_wbar = _wcancel = TRUE; _wbar = _wcancel = TRUE;

View File

@ -72,7 +72,6 @@ class TPrint_application : public TApplication
TProgind* _prind; TProgind* _prind;
const char* _picture; const char* _picture;
MENU_TAG _last_choice; MENU_TAG _last_choice;
int _ncopies;
bool _repeat_print; bool _repeat_print;
// set the printer // set the printer
@ -456,8 +455,6 @@ public:
{ printer().setcurrentpage(n); } { printer().setcurrentpage(n); }
void set_n_copies(int n) { _ncopies = n; }
int get_n_copies() { return _ncopies; }
void repeat_print() { _repeat_print = TRUE; } void repeat_print() { _repeat_print = TRUE; }
TPrint_application(); TPrint_application();

View File

@ -642,7 +642,7 @@ bool set_windows_print_device (TMask_field & f, KEY key)
TPrinter::TPrinter() TPrinter::TPrinter()
: _date (TODAY), _multiple_link (FALSE), _frozen (FALSE), _isgraphics (TRUE), : _date (TODAY), _multiple_link (FALSE), _frozen (FALSE), _isgraphics (TRUE),
_lines_per_inch (6), _ch_size (12) _lines_per_inch (6), _ch_size (12), _ncopies(1)
{ {
_footerhandler = _headerhandler = NULL; _footerhandler = _headerhandler = NULL;
@ -662,6 +662,8 @@ TPrinter::TPrinter()
_headersize = 0; _headersize = 0;
_footersize = 0; _footersize = 0;
_isopen = FALSE; _isopen = FALSE;
_multiple_copies = MainApp()->class_id() == CLASS_PRINTER_APPLICATION;
// read configuration file // read configuration file
read_configuration (_config); read_configuration (_config);
#if XVT_OS == XVT_OS_WIN #if XVT_OS == XVT_OS_WIN
@ -1149,6 +1151,7 @@ void TPrinter::set()
mask.hide(MSK_1_SETUP); mask.hide(MSK_1_SETUP);
mask.hide(MSK_1_SIZE); mask.hide(MSK_1_SIZE);
mask.hide(MSK_1_LINES); mask.hide(MSK_1_LINES);
if (!_multiple_copies) mask.hide(MSK_1_NPAGES);
pn1 = ""; pn1 = "";
pn2 = ""; pn2 = "";
@ -1171,11 +1174,7 @@ void TPrinter::set()
mask.set (MSK_1_PRINTERS, format ("%d", _curprn)); mask.set (MSK_1_PRINTERS, format ("%d", _curprn));
mask.set (MSK_1_CODES, format ("%d", _curcode)); mask.set (MSK_1_CODES, format ("%d", _curcode));
mask.set (MSK_1_FILENAME, _printerfile); mask.set (MSK_1_FILENAME, _printerfile);
mask.set(MSK_1_NPAGES, _ncopies);
int nc = 1;
if (MainApp()->class_id() == CLASS_PRINT_APPLICATION)
nc = ((TPrint_application*)MainApp())->get_n_copies();
mask.set(MSK_1_NPAGES, nc);
mask.reset (MSK_1_SAVE); mask.reset (MSK_1_SAVE);
@ -1195,9 +1194,7 @@ void TPrinter::set()
// get user choices // get user choices
_curprn = atoi(mask.get(MSK_1_PRINTERS)); _curprn = atoi(mask.get(MSK_1_PRINTERS));
_ncopies = atoi(mask.get(MSK_1_NPAGES));
if (MainApp()->class_id() == CLASS_PRINT_APPLICATION)
((TPrint_application*)MainApp())->set_n_copies(atoi(mask.get(MSK_1_NPAGES)));
PrinterDef& def = (PrinterDef &) get_description (_curprn); PrinterDef& def = (PrinterDef &) get_description (_curprn);
switch (atoi(mask.get (MSK_1_TYPE))) switch (atoi(mask.get (MSK_1_TYPE)))
@ -1241,15 +1238,15 @@ void TPrinter::set()
((TList_field &) (mask.field (MSK_1_PRINTERS))).replace_items(pn1, pn2); ((TList_field &) (mask.field (MSK_1_PRINTERS))).replace_items(pn1, pn2);
mask.set(MSK_1_PRINTERS, pn1.get(_curprn)); mask.set(MSK_1_PRINTERS, pn1.get(_curprn));
mask.hide(MSK_1_CODES); mask.hide(MSK_1_CODES);
if (!_multiple_copies) mask.hide(MSK_1_NPAGES);
mask.set(MSK_1_ISGRAPHICS, _isgraphics ? "X" : ""); mask.set(MSK_1_ISGRAPHICS, _isgraphics ? "X" : "");
mask.set(MSK_1_SIZE, _ch_size); mask.set(MSK_1_SIZE, _ch_size);
mask.set(MSK_1_LINES, _lines_per_inch); mask.set(MSK_1_LINES, _lines_per_inch);
int nc = 1; mask.set(MSK_1_NPAGES, _ncopies);
if (MainApp()->class_id() == CLASS_PRINT_APPLICATION)
nc = ((TPrint_application*)MainApp())->get_n_copies();
mask.set(MSK_1_NPAGES, nc);
if (_printertype == fileprinter) if (_printertype == fileprinter)
mask.set (MSK_1_TYPE, "1"); mask.set (MSK_1_TYPE, "1");
@ -1312,8 +1309,7 @@ void TPrinter::set()
mask.save (); mask.save ();
} }
if (MainApp()->class_id() == CLASS_PRINT_APPLICATION) _ncopies = atoi (mask.get (MSK_1_NPAGES));
((TPrint_application*)MainApp())->set_n_copies(atoi (mask.get (MSK_1_NPAGES)));
switch (atoi (mask.get (MSK_1_TYPE))) switch (atoi (mask.get (MSK_1_TYPE)))
{ {

View File

@ -35,7 +35,7 @@ enum TPrintstyle {
boldstyle = 1, boldstyle = 1,
underlinedstyle = 2, underlinedstyle = 2,
italicstyle = 3 italicstyle = 3
}; };
enum TPrtype { enum TPrtype {
normprinter = 0, normprinter = 0,
@ -44,7 +44,7 @@ enum TPrtype {
localprinter = 3, localprinter = 3,
screenvis = 4, screenvis = 4,
winprinter = 5 winprinter = 5
}; };
// @END // @END
@ -55,61 +55,61 @@ enum TPrtype {
class TPrintrow : public TObject class TPrintrow : public TObject
{ {
enum { MAXSTR = 256 }; enum { MAXSTR = 256 };
// @DPROT // @DPROT
TString256 _row; // the actual string to print TString256 _row; // the actual string to print
char _attr[MAXSTR]; // contains char attributes of _row char _attr[MAXSTR]; // contains char attributes of _row
int _cols[MAXSTR]; // contains color attributes of _row int _cols[MAXSTR]; // contains color attributes of _row
TPrintstyle _currentstyle; // the current char attribute TPrintstyle _currentstyle; // the current char attribute
int _currentcolor; // the current color attribute int _currentcolor; // the current color attribute
int _lastpos; // last print position int _lastpos; // last print position
public: public:
// @FPUB // @FPUB
TPrintrow(); TPrintrow();
TPrintrow(const TPrintrow& pr); TPrintrow(const TPrintrow& pr);
virtual ~TPrintrow() {} virtual ~TPrintrow() {}
// TPrintrow& center(const char* str, int position); // TPrintrow& center(const char* str, int position);
virtual word class_id() const; virtual word class_id() const;
virtual const char* class_name() const; virtual const char* class_name() const;
virtual TObject* dup() const; virtual TObject* dup() const;
const char* row() const { return _row; } const char* row() const { return _row; }
const char* row_codified(); const char* row_codified();
TPrintrow& reset(); TPrintrow& reset();
TPrintstyle get_style(int position) const { return (TPrintstyle)_attr[position]; } TPrintstyle get_style(int position) const { return (TPrintstyle)_attr[position]; }
TPrintstyle get_style() const { return _currentstyle; } TPrintstyle get_style() const { return _currentstyle; }
int get_color(int position) const { return (TPrintstyle)_cols[position]; } int get_color(int position) const { return (TPrintstyle)_cols[position]; }
int get_color() const { return _currentcolor; } int get_color() const { return _currentcolor; }
TPrintrow& put(const char* str, int position = -1, int len=0); TPrintrow& put(const char* str, int position = -1, int len=0);
void set_style(TPrintstyle style) { _currentstyle=style; } void set_style(TPrintstyle style) { _currentstyle=style; }
int lastpos() const { return _lastpos; } int lastpos() const { return _lastpos; }
}; };
class PrinterDef : public TObject class PrinterDef : public TObject
{ {
friend class TPrinter; friend class TPrinter;
TString _printername; // name of the printer file TString _printername; // name of the printer file
TString _printertype; // type of printer (0=diretta,1=locale,2=spool) TString _printertype; // type of printer (0=diretta,1=locale,2=spool)
TString _filtername; // filter for the pipe (UNIX only) TString _filtername; // filter for the pipe (UNIX only)
TString _devicename; // name of print device TString _devicename; // name of print device
char _atstr[4][10]; // attribute codes for the current printer char _atstr[4][10]; // attribute codes for the current printer
TArray _codes; // print codes TArray _codes; // print codes
TArray _names; // name of print codes TArray _names; // name of print codes
TString _ffcode; // formfeed code for the current printer TString _ffcode; // formfeed code for the current printer
TString _nlcode; // special newline code for the current printer TString _nlcode; // special newline code for the current printer
public: public:
bool read(const char* name, FILE* fd); // read description from file; bool read(const char* name, FILE* fd); // read description from file;
bool isdefault(); // name matches "Default" bool isdefault(); // name matches "Default"
const char* get_codenames(word i) const { return i < (word) _names.items() ? (const char*)(TString&)_names[i] : NULL; } const char* get_codenames(word i) const { return i < (word) _names.items() ? (const char*)(TString&)_names[i] : NULL; }
const char* get_codes(word i) const { return i < (word) _codes.items() ? (const char*)(TString&)_codes[i] : NULL; } const char* get_codes(word i) const { return i < (word) _codes.items() ? (const char*)(TString&)_codes[i] : NULL; }
PrinterDef() : _printername(10), _filtername(10), PrinterDef() : _printername(10), _filtername(10),
_ffcode("\f"), _nlcode("\n") _ffcode("\f"), _nlcode("\n")
{} {}
}; };
@ -125,156 +125,160 @@ typedef void (*LINKHANDLER)(int, const char*);
class TPrinter : public TObject class TPrinter : public TObject
{ {
// @DPROT // @DPROT
FILE* _cnfptr; // config file FILE* _cnfptr; // config file
FILE* _fp; // pointer to the printer file FILE* _fp; // pointer to the printer file
TViswin* _vf; // pointer to file visualizer TViswin* _vf; // pointer to file visualizer
TTextfile _txt; TTextfile _txt;
TFilename _config; // name of the configuration file TFilename _config; // name of the configuration file
int _headersize; int _headersize;
int _footersize; int _footersize;
TArray _header; TArray _header;
TArray _footer; TArray _footer;
TArray _printers; // printers descriptions TArray _printers; // printers descriptions
int _curprn; // current printer index int _curprn; // current printer index
int _curcode; // current printer index int _curcode; // current printer index
int _formlen; // length of the logic page int _formlen; // length of the logic page
int _currentrow; // next row to print int _currentrow; // next row to print
int _ch_size; int _ch_size;
word _currentpage; // logic page containing _currentrow word _currentpage; // logic page containing _currentrow
word _frompage; // first page to print (normally 0) word _frompage; // first page to print (normally 0)
word _topage; // last page to print (normally = USHRT_MAX) word _topage; // last page to print (normally = USHRT_MAX)
bool _hwformfeed; // if TRUE a ff will be printed after any footer bool _hwformfeed; // if TRUE a ff will be printed after any footer
TPrtype _printertype; // specifies the kind of output the user wants TPrtype _printertype; // specifies the kind of output the user wants
bool _isopen; // printer open bool _isopen; // printer open
TDate _date; // printing date TDate _date; // printing date
TFilename _printerfile; // filename for printing on file TFilename _printerfile; // filename for printing on file
TArray _linksdescr; TArray _linksdescr;
bool _multiple_link; // bool _multiple_link; //
TArray _background; TArray _background;
const char* _bg_desc; const char* _bg_desc;
TToken_string _printer_names; TToken_string _printer_names;
bool _isgraphics; bool _isgraphics;
bool _frozen; bool _frozen;
int _ncopies;
#if XVT_OS == XVT_OS_WIN #if XVT_OS == XVT_OS_WIN
PRINT_RCD* _print_rcd; PRINT_RCD* _print_rcd;
int _print_rcd_size; int _print_rcd_size;
#endif #endif
int _lines_per_inch; int _lines_per_inch;
int _vert_offset; int _vert_offset;
int _horz_offset; int _horz_offset;
int _dots_per_line; int _dots_per_line;
void _parse_background(); void _parse_background();
void _get_windows_printer_names(TToken_string& t); void _get_windows_printer_names(TToken_string& t);
bool _multiple_copies;
PRINTSECTIONHANDLER _headerhandler, _footerhandler; PRINTSECTIONHANDLER _headerhandler, _footerhandler;
LINKHANDLER _linkhandler; LINKHANDLER _linkhandler;
// @END // @END
// @FPROT // @FPROT
protected: protected:
virtual char newline() { return '\n'; } virtual char newline() { return '\n'; }
bool printrow (TPrintrow* rowtoprint=NULL); // base methods for printing bool printrow (TPrintrow* rowtoprint=NULL); // base methods for printing
bool printformfeed (); bool printformfeed ();
void read_configuration(const char* cfg); void read_configuration(const char* cfg);
bool printheader(); bool printheader();
bool printfooter(); bool printfooter();
public: public:
// @FPUB // @FPUB
TPrinter (); TPrinter ();
virtual ~TPrinter(); virtual ~TPrinter();
#if XVT_OS == XVT_OS_WIN #if XVT_OS == XVT_OS_WIN
static BOOLEAN start_winprint(long); static BOOLEAN start_winprint(long);
#endif #endif
void set_config_file (const char * ffile) { _config = ffile ; } void set_config_file (const char * ffile) { _config = ffile ; }
void set_from_page (word from) { _frompage = from; } void set_from_page (word from) { _frompage = from; }
void set_to_page (word to) { _topage = to; } void set_to_page (word to) { _topage = to; }
void set_hwff (bool hwff) { _hwformfeed = hwff; } void set_hwff (bool hwff) { _hwformfeed = hwff; }
int descriptions() int descriptions()
{ return _printers.items(); } { return _printers.items(); }
const PrinterDef& get_description(word i) const const PrinterDef& get_description(word i) const
{ return (const PrinterDef&) _printers[i]; } { return (const PrinterDef&) _printers[i]; }
virtual const char* class_name() const; virtual const char* class_name() const;
virtual word class_id() const; virtual word class_id() const;
int formlen () const { return _formlen; } int formlen () const { return _formlen; }
word frompage () const { return _frompage; } word frompage () const { return _frompage; }
word topage () const { return _topage; } word topage () const { return _topage; }
int headersize () const { return _headersize; } int headersize () const { return _headersize; }
int footersize () const { return _footersize; } int footersize () const { return _footersize; }
TPrintrow* getheaderline (int linetoget); TPrintrow* getheaderline (int linetoget);
TPrintrow* getfooterline (int linetoget); TPrintrow* getfooterline (int linetoget);
int formlen (int fl) { return (_formlen=fl); } int formlen (int fl) { return (_formlen=fl); }
int footerlen (int fl) { return (_footersize=fl); } int footerlen (int fl) { return (_footersize=fl); }
int headerlen (int hl) { return (_headersize=hl); } int headerlen (int hl) { return (_headersize=hl); }
word frompage (word fp) { return (_frompage=fp);} word frompage (word fp) { return (_frompage=fp);}
word topage (word tp) { return (_topage=tp); } word topage (word tp) { return (_topage=tp); }
void setheaderline (int linetoset, TPrintrow* line); void setheaderline (int linetoset, TPrintrow* line);
void setheaderline (int linetoset, const TPrintrow& line); void setheaderline (int linetoset, const TPrintrow& line);
void setfooterline (int linetoset, TPrintrow* line); void setfooterline (int linetoset, TPrintrow* line);
void setfooterline (int linetoset, const TPrintrow& line); void setfooterline (int linetoset, const TPrintrow& line);
void resetheader(); void resetheader();
void resetfooter(); void resetfooter();
void setbackground(const char* bg); void setbackground(const char* bg);
TArray* getbgdesc() { return &_background; } TArray* getbgdesc() { return &_background; }
bool frozen() { return _frozen; } bool frozen() { return _frozen; }
void freeze(bool b = TRUE) { _frozen = b; } void freeze(bool b = TRUE) { _frozen = b; }
int n_copies() { return _ncopies; }
void enable_multiple_copies(bool b = TRUE) { _multiple_copies = b; }
TToken_string& getprinternames(); TToken_string& getprinternames();
TTextfile& get_txt() { return _txt; } TTextfile& get_txt() { return _txt; }
void setheaderhandler(PRINTSECTIONHANDLER h) { _headerhandler = h; } void setheaderhandler(PRINTSECTIONHANDLER h) { _headerhandler = h; }
void setfooterhandler(PRINTSECTIONHANDLER h) { _footerhandler = h; } void setfooterhandler(PRINTSECTIONHANDLER h) { _footerhandler = h; }
// used by viswin() // used by viswin()
// sono qui e non nella printapp per poter usare una viswin // sono qui e non nella printapp per poter usare una viswin
// completamente anche da un'altra application // completamente anche da un'altra application
void setlinkhandler(LINKHANDLER h) { _linkhandler = h; } void setlinkhandler(LINKHANDLER h) { _linkhandler = h; }
LINKHANDLER getlinkhandler() { return _linkhandler; } LINKHANDLER getlinkhandler() { return _linkhandler; }
TArray& links() { return _linksdescr; } TArray& links() { return _linksdescr; }
void setmultiplelink(bool on) { _multiple_link = on; } void setmultiplelink(bool on) { _multiple_link = on; }
bool ismultiplelink() { return _multiple_link; } bool ismultiplelink() { return _multiple_link; }
bool skip (int linetoskip); bool skip (int linetoskip);
bool jump (int linestojump); bool jump (int linestojump);
void reset (); void reset ();
virtual void set (); virtual void set ();
bool open (); bool open ();
void close (); void close ();
bool formfeed (); bool formfeed ();
bool print (TPrintrow& rowtoprint); bool print (TPrintrow& rowtoprint);
bool isopen() { return _isopen; } bool isopen() { return _isopen; }
void setdate(TDate& d) { _date = d; } void setdate(TDate& d) { _date = d; }
TPrtype printtype() { return _printertype; } TPrtype printtype() { return _printertype; }
void set_printtype(TPrtype dest) { _printertype=dest; } void set_printtype(TPrtype dest) { _printertype=dest; }
void set_printerfile(const char * ffile) { _printerfile=ffile; } void set_printerfile(const char * ffile) { _printerfile=ffile; }
word getcurrentpage() { return _currentpage; } word getcurrentpage() { return _currentpage; }
void setcurrentpage(word n) { _currentpage = n; } void setcurrentpage(word n) { _currentpage = n; }
word rows() const { return _formlen-_headersize-_footersize; } word rows() const { return _formlen-_headersize-_footersize; }
word rows_left() const; word rows_left() const;
#if XVT_OS == XVT_OS_WIN #if XVT_OS == XVT_OS_WIN
PRINT_RCD* get_printrcd() { return _print_rcd; } PRINT_RCD* get_printrcd() { return _print_rcd; }
void set_printrcd(PRINT_RCD* p) { _print_rcd = p; } void set_printrcd(PRINT_RCD* p) { _print_rcd = p; }
int& get_printrcdsize() { return _print_rcd_size; } int& get_printrcdsize() { return _print_rcd_size; }
void set_win_formlen(); void set_win_formlen();
#endif #endif
void set_lines_per_inch(int n) { _lines_per_inch = n; } void set_lines_per_inch(int n) { _lines_per_inch = n; }
int get_lines_per_inch(int n) { return _lines_per_inch; } int get_lines_per_inch(int n) { return _lines_per_inch; }
int get_vert_offset() { return _vert_offset; } int get_vert_offset() { return _vert_offset; }
int get_horz_offset() { return _horz_offset; } int get_horz_offset() { return _horz_offset; }
int get_dots_per_line() { return _dots_per_line; } int get_dots_per_line() { return _dots_per_line; }
bool isgraphics() { return _isgraphics; } bool isgraphics() { return _isgraphics; }
int get_char_size() { return _ch_size; } int get_char_size() { return _ch_size; }
}; };
@ -298,7 +302,7 @@ class TFile_printer : public TPrinter
TArray _tmp_files; // array dei file temporanei generati TArray _tmp_files; // array dei file temporanei generati
FILE * _fd; FILE * _fd;
// bool scrivi_volume(); // bool scrivi_volume();
public: public:
@ -311,10 +315,10 @@ public:
void set_label (const char * label) { _label = label; } void set_label (const char * label) { _label = label; }
void set_record (int record_to_set, TPrintrow* line) void set_record (int record_to_set, TPrintrow* line)
{_record.add(line, record_to_set); } {_record.add(line, record_to_set); }
TPrintrow * get_record (int record_to_get) TPrintrow * get_record (int record_to_get)
{return (TPrintrow *)&_record[record_to_get]; } {return (TPrintrow *)&_record[record_to_get]; }
TPrintrow* get_record_inizio_volume() const { return (TPrintrow*)&_record[0];} TPrintrow* get_record_inizio_volume() const { return (TPrintrow*)&_record[0];}
TPrintrow* get_record_inizio_elenco() const {return (TPrintrow*)&_record[1];} TPrintrow* get_record_inizio_elenco() const {return (TPrintrow*)&_record[1];}
@ -332,19 +336,19 @@ public:
void open(); void open();
void close(); void close();
// void scrivi(); // void scrivi();
bool genera_dischetti(); bool genera_dischetti();
virtual void set (); virtual void set ();
// //
// tipo_disco: // tipo_disco:
// 0 per 360 // 0 per 360
// 1 per 1.2 // 1 per 1.2
// 2 per 720 // 2 per 720
// 3 per 1,44 // 3 per 1,44
// 4 per 2,88 // 4 per 2,88
// //
TFile_printer (const char* file, TFile_printer (const char* file,
const char* label, const char* label,
int len_rec, int len_rec,

View File

@ -1,36 +1,36 @@
BUTTON DLG_SAVEREC 8 2 BUTTON DLG_SAVEREC 8 2
BEGIN BEGIN
PROMPT -16 -1 "~Registra" PROMPT -16 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
END END
BUTTON DLG_NEWREC 8 2 BUTTON DLG_NEWREC 8 2
BEGIN BEGIN
PROMPT -26 -1 "~Nuovo" PROMPT -26 -1 "~Nuovo"
MESSAGE EXIT,K_INS MESSAGE EXIT,K_INS
END END
BUTTON DLG_DELREC 8 2 BUTTON DLG_DELREC 8 2
BEGIN BEGIN
PROMPT -36 -1 "~Elimina" PROMPT -36 -1 "~Elimina"
MESSAGE EXIT,K_DEL MESSAGE EXIT,K_DEL
END END
BUTTON DLG_FINDREC 8 2 BUTTON DLG_FINDREC 8 2
BEGIN BEGIN
PROMPT -46 -1 "Ri~cerca" PROMPT -46 -1 "Ri~cerca"
MESSAGE EXIT,K_F9 MESSAGE EXIT,K_F9
END END
BUTTON DLG_CANCEL 8 2 BUTTON DLG_CANCEL 8 2
BEGIN BEGIN
PROMPT -56 -1 "" PROMPT -56 -1 ""
MESSAGE EXIT,K_ESC MESSAGE EXIT,K_ESC
END END
BUTTON DLG_QUIT 8 2 BUTTON DLG_QUIT 8 2
BEGIN BEGIN
PROMPT -66 -1 "" PROMPT -66 -1 ""
MESSAGE EXIT,K_QUIT MESSAGE EXIT,K_QUIT
END END