222 lines
4.0 KiB
C++
Executable File
222 lines
4.0 KiB
C++
Executable File
#ifndef __FILAPP_H
|
|
#include <filapp.h>
|
|
#endif
|
|
|
|
#ifndef __XVTILITY_H
|
|
#include <xvtility.h>
|
|
#endif
|
|
|
|
#ifndef __EXTCTYPE_H
|
|
#include <extctype.h>
|
|
#endif
|
|
|
|
#ifndef __URLDEFID_H
|
|
#include <urldefid.h>
|
|
#endif
|
|
|
|
#ifndef __STDTYPES_H
|
|
#include <stdtypes.h>
|
|
#endif
|
|
|
|
#ifndef __MASK_H
|
|
#include <mask.h>
|
|
#endif
|
|
|
|
#ifndef __BA1_H
|
|
#include "ba1.h"
|
|
#endif
|
|
|
|
|
|
#include <string.h>
|
|
|
|
// Qui includo la classe TDir_sheet
|
|
#ifndef __BA1101_H
|
|
#include "ba1101.h"
|
|
#endif
|
|
|
|
#ifndef __BA1201_H
|
|
#include "ba1201.h"
|
|
#endif
|
|
|
|
#ifndef __BA1200_H
|
|
#include "ba1200.h"
|
|
#endif
|
|
|
|
#ifndef __LFFILES_H
|
|
#include <lffiles.h>
|
|
#endif
|
|
|
|
|
|
class BA1200_application : public TApplication
|
|
{
|
|
TDir_sheet * _browse_dir;
|
|
TRec_sheet * _browse_rec;
|
|
TMask * _mask;
|
|
bool menu (MENU_TAG);
|
|
bool create () ;
|
|
bool destroy();
|
|
//void insert_riga(long, TToken_string&);
|
|
void edit_campo(TToken_string);
|
|
void visualizza_tracciato(long);
|
|
|
|
public:
|
|
BA1200_application();
|
|
};
|
|
|
|
BA1200_application::BA1200_application()
|
|
{
|
|
}
|
|
|
|
bool BA1200_application::create() // initvar e arrmask
|
|
{
|
|
_browse_rec = new TRec_sheet ("Manutenzione tracciati record", "N. |Nome campo|Tipo campo|Lunghezza|Decimali") ;
|
|
if (_browse_rec == NULL) fatal_box("Non e' possibile allocare _browse_rec");
|
|
|
|
_browse_dir = new TDir_sheet ("Manutenzione tracciati record") ;
|
|
if (_browse_dir == NULL) fatal_box("Non e' possibile allocare _browse_dir");
|
|
|
|
_mask = new TMask ("ba1200a");
|
|
|
|
dispatch_e_menu(BAR_ITEM(1));
|
|
return TRUE ;
|
|
}
|
|
|
|
bool BA1200_application::destroy() // releasev e arrmask
|
|
{
|
|
delete _browse_rec;
|
|
delete _browse_dir;
|
|
delete _mask;
|
|
return TRUE ;
|
|
}
|
|
|
|
/*
|
|
void BA1200_application::insert_riga (long riga_sel, TToken_string& riga)
|
|
{
|
|
KEY tasto;
|
|
//FileDes dep;
|
|
long num_files = _browse->dir()->items();
|
|
|
|
_mask->set (FLD_NUM, riga.get());
|
|
|
|
tasto=_mask->run();
|
|
|
|
switch (tasto) {
|
|
case K_ENTER:
|
|
|
|
for (int i=num_files; i>=riga_sel; i--) {
|
|
_browse->dir()->get (i, _nolock, _nordir, _sysdirop);
|
|
_browse->dir()->put (i+1, _nordir, _sysdirop);
|
|
|
|
}
|
|
|
|
_browse->dir()->set (_mask->get (FLD_NOME),
|
|
atoi(_mask->get (FLD_EOD)),
|
|
atoi(_mask->get (FLD_FLAG)),
|
|
_mask->get (FLD_DESC),
|
|
_mask->get (FLD_FORMULA));
|
|
|
|
_browse->dir()->put(riga_sel, _nordir, _sysdirop);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
*/
|
|
|
|
void BA1200_application::edit_campo (TToken_string riga_campo)
|
|
{
|
|
KEY tasto;
|
|
|
|
_mask->set (FLD_NUM,riga_campo.get());
|
|
_mask->set (FLD_NOME_CAMPO,riga_campo.get());
|
|
_mask->set (FLD_TIPO_CAMPO,riga_campo.get());
|
|
_mask->set (FLD_LUNGHEZZA,riga_campo.get());
|
|
_mask->set (FLD_DECIMALI,riga_campo.get());
|
|
|
|
tasto = _mask->run();
|
|
switch (tasto) {
|
|
case K_ENTER:
|
|
|
|
break;
|
|
case K_ESC:
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void BA1200_application::visualizza_tracciato (long file_sel)
|
|
{
|
|
KEY tasto;
|
|
RecDes *dep;
|
|
int nfile;
|
|
TToken_string riga_campo;
|
|
|
|
tasto = _browse_rec->run();
|
|
|
|
switch (tasto) {
|
|
case K_ENTER:
|
|
riga_campo=_browse_rec->row();
|
|
edit_campo(riga_campo);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
bool BA1200_application::menu(MENU_TAG m)
|
|
{
|
|
TTrec *dep;
|
|
TToken_string riga;
|
|
//long riga_selezionata;
|
|
long num_file_selezionato;
|
|
bool done = FALSE;
|
|
KEY tasto;
|
|
|
|
while (!done) {
|
|
|
|
tasto = _browse_dir->run();
|
|
|
|
switch (tasto) {
|
|
|
|
/* Insert
|
|
case K_INS:
|
|
riga_selezionata = _browse->selected();
|
|
riga = _browse->row();
|
|
insert_riga (riga_selezionata, riga);
|
|
break;
|
|
*/
|
|
|
|
// Edit
|
|
case K_ENTER:
|
|
num_file_selezionato = _browse_dir->selected();
|
|
riga = _browse_dir->row();
|
|
|
|
dep = _browse_rec->rec();
|
|
dep->get((int)num_file_selezionato+1, _nordir);
|
|
|
|
visualizza_tracciato (num_file_selezionato);
|
|
break;
|
|
|
|
case K_ESC:
|
|
done = TRUE;
|
|
break;
|
|
// return TRUE;
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
int ba1200(int argc, char* argv[], bool insmode)
|
|
{
|
|
BA1200_application a;
|
|
|
|
a.run(argc, argv, "");
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
|
|
|