campo-sirio/ps/pf0001100.cpp
alex 17e79bc7c9 Patch level : 4.0 905
Files correlati     :
Ricompilazione Demo : [ ]
Commento           :

Riportata la versione 3.2 patch 1092


git-svn-id: svn://10.65.10.50/trunk@16293 c028cbd2-c16b-5b4b-a496-9718f37d4682
2008-03-11 15:50:42 +00:00

589 lines
19 KiB
C++
Executable File

#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <applicat.h>
#include <automask.h>
#include <execp.h>
#include <progind.h>
#include <recset.h>
#include <relation.h>
#include <reprint.h>
#include "pf0001.h"
#include "pf0001100.h"
#include "../mg/rmovmag.h"
#include "../mg/codcorr.h"
typedef const char* LPCTSTR;
typedef char* LPTSTR;
#define VERIFY(s) if (!(s)) return false;
typedef int (_stdcall *pfnB_Bar2d_Maxi)(int x, int y, int cl, int cc, long int pc,
LPCTSTR data);
typedef int (_stdcall *pfnB_Bar2d_PDF417)(int x, int y, int w, int v, int s, int c,
int px, int py, int r, int l, int t, int o,
LPCTSTR data);
typedef int (_stdcall *pfnB_Bar2d_PDF417_N)(int x, int y, int w, int h, int s, int c,
int hrx, int hry, int hrm, int f, int mw, int bh, int r, int l,
int t, LPCTSTR data);
typedef void (_stdcall *pfnB_ClosePrn)(void);
typedef int (_stdcall *pfnB_CreatePrn)(int selection, LPCTSTR filename);
typedef int (_stdcall *pfnB_Del_Form)(char formname[10]);
typedef int (_stdcall *pfnB_Del_Pcx)(char pcxname[10]);
typedef int (_stdcall *pfnB_Draw_Box)(int x, int y, int thickness, int hor_dots,
int ver_dots);
typedef int (_stdcall *pfnB_Draw_Line)(char mode, int x, int y, int hor_dots,
int ver_dots);
typedef int (_stdcall *pfnB_Error_Reporting)(char option);
typedef char* (_stdcall *pfnB_Get_DLL_Version)(int nShowMessage);
typedef int (_stdcall *pfnB_Get_DLL_VersionA)(int nShowMessage);
typedef int (_stdcall *pfnB_Get_Graphic_ColorBMP)(int x, int y, LPCTSTR filename);
typedef int (_stdcall *pfnB_Get_Pcx)(int x, int y, LPCTSTR filename);
typedef int (_stdcall *pfnB_Initial_Setting)(int Type, LPCTSTR Source);
typedef int (_stdcall *pfnB_Load_Pcx)(int x, int y, char pcxname[10]);
typedef int (_stdcall *pfnB_Open_ChineseFont)(char* path);
typedef int (_stdcall *pfnB_Print_Form)(int labset, int copies, char form_out[10],
LPTSTR var);
typedef int (_stdcall *pfnB_Print_MCopy)(int labset, int copies);
typedef int (_stdcall *pfnB_Print_Out)(int labset);
typedef int (_stdcall *pfnB_Prn_Barcode)(int x, int y, int ori, char type[4], int narrow,
int width, int height, char human, LPCTSTR data);
typedef void (_stdcall *pfnB_Prn_Configuration)(void);
typedef int (_stdcall *pfnB_Prn_Text)(int x,int y,int ori,int font,int hor_factor,
int ver_factor,char mode,LPCTSTR data);
typedef int (_stdcall *pfnB_Prn_Text_Chinese)(int x, int y, int fonttype,
LPCTSTR id_name, LPCTSTR data);
typedef int (_stdcall *pfnB_Prn_Text_TrueType)(int x, int y, int FSize, LPCTSTR FType,
int Fspin, int FWeight, int FItalic,
int FUnline, int FStrikeOut,
LPCTSTR id_name, LPCTSTR data);
typedef int (_stdcall *pfnB_Prn_Text_TrueType_W)(int x, int y, int FHeight, int FWidth,
LPCTSTR FType, int Fspin, int FWeight,
int FItalic, int FUnline, int FStrikeOut,
LPCTSTR id_name, LPCTSTR data);
typedef int (_stdcall *pfnB_Select_Option)(int object);
typedef int (_stdcall *pfnB_Select_Symbol)(int num_bit, int symbol, int country);
typedef int (_stdcall *pfnB_Set_Backfeed)(char option);
typedef int (_stdcall *pfnB_Set_BMPSave)(int nSave, char* pstrBMPFName);
typedef int (_stdcall *pfnB_Set_Darkness)(int darkness);
typedef int (_stdcall *pfnB_Set_DebugDialog)(int nEnable);
typedef int (_stdcall *pfnB_Set_Direction)(char direction);
typedef int (_stdcall *pfnB_Set_Form)(LPCTSTR formfile);
typedef int (_stdcall *pfnB_Set_Labgap)(int lablength, int gaplength);
typedef int (_stdcall *pfnB_Set_Labwidth)(int labwidth);
typedef int (_stdcall *pfnB_Set_Originpoint)(int hor, int ver);
typedef int (_stdcall *pfnB_Set_Prncomport)(int baud, char parity, int data, int stop);
typedef int (_stdcall *pfnB_Set_Prncomport_PC)(int nBaudRate, int nByteSize, int nParity,
int nStopBits, int nDsr, int nCts, int nXonXoff);
typedef int (_stdcall *pfnB_Set_Speed)(int speed);
typedef int (_stdcall *pfnB_Set_ProcessDlg)(int nShow);
typedef int (_stdcall *pfnB_GetUSBBufferLen)(void);
typedef int (_stdcall *pfnB_EnumUSB)(char *buf);
typedef int (_stdcall *pfnB_CreateUSBPort)(int nPort);
typedef int (_stdcall *pfnB_Set_ErrorReport)(int nEnable);
typedef int (_stdcall *pfnB_ResetPrinter)(void);
pfnB_Bar2d_Maxi B_Bar2d_Maxi = NULL;
pfnB_Bar2d_PDF417 B_Bar2d_PDF417 = NULL;
pfnB_Bar2d_PDF417_N B_Bar2d_PDF417_N = NULL;
pfnB_ClosePrn B_ClosePrn = NULL;
pfnB_CreatePrn B_CreatePrn = NULL;
pfnB_Del_Form B_Del_Form = NULL;
pfnB_Del_Pcx B_Del_Pcx = NULL;
pfnB_Draw_Box B_Draw_Box = NULL;
pfnB_Draw_Line B_Draw_Line = NULL;
pfnB_Error_Reporting B_Error_Reporting = NULL;
pfnB_Get_DLL_Version B_Get_DLL_Version = NULL;
pfnB_Get_DLL_VersionA B_Get_DLL_VersionA = NULL;
pfnB_Get_Graphic_ColorBMP B_Get_Graphic_ColorBMP = NULL;
pfnB_Get_Pcx B_Get_Pcx = NULL;
pfnB_Initial_Setting B_Initial_Setting = NULL;
pfnB_Load_Pcx B_Load_Pcx = NULL;
pfnB_Open_ChineseFont B_Open_ChineseFont = NULL;
pfnB_Print_Form B_Print_Form = NULL;
pfnB_Print_MCopy B_Print_MCopy = NULL;
pfnB_Print_Out B_Print_Out = NULL;
pfnB_Prn_Barcode B_Prn_Barcode = NULL;
pfnB_Prn_Configuration B_Prn_Configuration = NULL;
pfnB_Prn_Text B_Prn_Text = NULL;
pfnB_Prn_Text_Chinese B_Prn_Text_Chinese = NULL;
pfnB_Prn_Text_TrueType B_Prn_Text_TrueType = NULL;
pfnB_Prn_Text_TrueType_W B_Prn_Text_TrueType_W = NULL;
pfnB_Select_Option B_Select_Option = NULL;
pfnB_Select_Symbol B_Select_Symbol = NULL;
pfnB_Set_Backfeed B_Set_Backfeed = NULL;
pfnB_Set_BMPSave B_Set_BMPSave = NULL;
pfnB_Set_Darkness B_Set_Darkness = NULL;
pfnB_Set_DebugDialog B_Set_DebugDialog = NULL;
pfnB_Set_Direction B_Set_Direction = NULL;
pfnB_Set_Form B_Set_Form = NULL;
pfnB_Set_Labgap B_Set_Labgap = NULL;
pfnB_Set_Labwidth B_Set_Labwidth = NULL;
pfnB_Set_Originpoint B_Set_Originpoint = NULL;
pfnB_Set_Prncomport B_Set_Prncomport = NULL;
pfnB_Set_Prncomport_PC B_Set_Prncomport_PC = NULL;
pfnB_Set_Speed B_Set_Speed = NULL;
pfnB_Set_ProcessDlg B_Set_ProcessDlg = NULL;
pfnB_GetUSBBufferLen B_GetUSBBufferLen = NULL;
pfnB_EnumUSB B_EnumUSB = NULL;
pfnB_CreateUSBPort B_CreateUSBPort = NULL;
pfnB_Set_ErrorReport B_Set_ErrorReport = NULL;
pfnB_ResetPrinter B_ResetPrinter = NULL;
////////////////////////////////////////////////////////
// MASCHERA
////////////////////////////////////////////////////////
class TStampa_etich_art_mask : public TAutomask
{
protected:
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TStampa_etich_art_mask();
virtual ~TStampa_etich_art_mask() {}
};
bool TStampa_etich_art_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
bool ok = true;
/* switch (o.dlg())
{
case :
{
}
break;
default: break;
}*/
return ok;
}
TStampa_etich_art_mask::TStampa_etich_art_mask()
:TAutomask("pf0001100")
{}
///////////////////////////////////////////////////////////////
// RECORDSET
///////////////////////////////////////////////////////////////
class TStampa_etich_art_recordset : public TISAM_recordset
{
int _ncopie;
TRecnotype _current_row;
public:
virtual bool move_to(TRecnotype pos);
virtual TRecnotype items() const;
virtual TRecnotype current_row() const;
void set_filter(const TStampa_etich_art_mask& msk);
TStampa_etich_art_recordset(const TString& sql) : TISAM_recordset(sql), _ncopie(1), _current_row(0L) { }
};
//metodo per caricare i valori nel recordset dalla maschera...fighissimo!!
void TStampa_etich_art_recordset::set_filter(const TStampa_etich_art_mask& msk)
{
TVariant var;
var = msk.get(F_DACODART);
set_var("#DACODART", var);
var = msk.get(F_ACODART);
set_var("#ACODART", var);
_ncopie = msk.get_int(F_QTA);
var = msk.get(F_LIST);
set_var("#LIST", var);
}
TRecnotype TStampa_etich_art_recordset::items() const
{
return _ncopie * TISAM_recordset::items();
}
TRecnotype TStampa_etich_art_recordset::current_row() const
{
return _current_row;
}
bool TStampa_etich_art_recordset::move_to(TRecnotype pos)
{
_current_row = pos;
const bool valid = _current_row < items();
if (_ncopie > 1)
{
if (pos >= items())
return false;
pos /= _ncopie;
}
if (valid)
TISAM_recordset::move_to(pos);
else
_current_row = 0L;
return valid;
}
//////////
class TStampa_etich_mov_recordset : public TISAM_recordset
{
TPointer_array _index;
TRecnotype _current_row;
public:
virtual bool move_to(TRecnotype pos);
virtual TRecnotype items() const;
virtual TRecnotype current_row() const;
void set_filter(const TStampa_etich_art_mask& msk);
TPointer_array & index() { return _index; }
virtual void requery();
TStampa_etich_mov_recordset(const TString& sql) : TISAM_recordset(sql), _current_row(0L) { }
};
//metodo per caricare i valori nel recordset dalla maschera...fighissimo!!
void TStampa_etich_mov_recordset::set_filter(const TStampa_etich_art_mask& msk)
{
TVariant var;
var = msk.get(F_DACODART);
set_var("#DACODART", var);
var = msk.get(F_ACODART);
set_var("#ACODART", var);
var = msk.get(F_DADATA);
set_var("#DADATA", var);
var = msk.get(F_ADATA);
set_var("#ADATA", var);
var = msk.get(F_CAUS);
set_var("#CAUS", var);
var = msk.get(F_LIST);
set_var("#LIST", var);
TCursor * c = cursor();
requery();
}
TRecnotype TStampa_etich_mov_recordset::items() const
{
return _index.items();
}
TRecnotype TStampa_etich_mov_recordset::current_row() const
{
return _current_row;
}
bool TStampa_etich_mov_recordset::move_to(TRecnotype pos)
{
_current_row = pos;
const bool valid = _current_row < items();
if (valid)
TISAM_recordset::move_to(_index.get_long(pos) - 1);
else
_current_row = 0L;
return valid;
}
bool build_index(const TRelation& rel, void* pJolly)
{
TStampa_etich_mov_recordset * r = (TStampa_etich_mov_recordset *) pJolly;
int ncopie = atoi(rel.curr().get(RMOVMAG_QUANT));
const TRecnotype pos = r->cursor()->pos();
if (ncopie > 0)
for ( int i = 0; i < ncopie; i++)
r->index().insert_long(pos + 1);
return true;
}
void TStampa_etich_mov_recordset::requery()
{
if (valid_cursor())
{
TCursor * c = cursor();
_index.destroy();
c->scan(build_index, this);
}
}
////////////////////////////////////////////////////////
// REPORT
////////////////////////////////////////////////////////
class TStampa_etich_art_rep : public TReport
{
protected:
virtual bool get_usr_val(const TString& name, TVariant& var) const;
virtual bool set_recordset(const TString& query);
public:
void set_filter(const TStampa_etich_art_mask& msk);
};
//metodo per il calcolo dei campi da calcolare (ma va'!) nel report
bool TStampa_etich_art_rep::get_usr_val(const TString& name, TVariant& var) const
{
return TReport::get_usr_val(name, var);
}
bool TStampa_etich_art_rep::set_recordset(const TString& query)
{
return TReport::set_recordset(new TStampa_etich_art_recordset(query));
}
void TStampa_etich_art_rep::set_filter(const TStampa_etich_art_mask& msk)
{
((TStampa_etich_art_recordset *)recordset())->set_filter(msk);
}
////////////////////////////////////////////////////////
class TStampa_etich_mov_rep : public TReport
{
protected:
virtual bool get_usr_val(const TString& name, TVariant& var) const;
virtual bool set_recordset(const TString& query);
public:
void set_filter(const TStampa_etich_art_mask& msk);
};
//metodo per il calcolo dei campi da calcolare (ma va'!) nel report
bool TStampa_etich_mov_rep::get_usr_val(const TString& name, TVariant& var) const
{
return TReport::get_usr_val(name, var);
}
bool TStampa_etich_mov_rep::set_recordset(const TString& query)
{
return TReport::set_recordset(new TStampa_etich_mov_recordset(query));
}
void TStampa_etich_mov_rep::set_filter(const TStampa_etich_art_mask& msk)
{
((TStampa_etich_mov_recordset *)recordset())->set_filter(msk);
}
////////////////////////////////////////////////////////
// book
////////////////////////////////////////////////////////
class TEtich_book : public TReport_book
{
public:
void print_labels(int width, int height, int ncopie) const;
};
void TEtich_book::print_labels(int width, int height, int ncopie) const
{
B_CreatePrn(1, NULL);
B_Select_Option(2);
B_Set_Darkness(8);
B_Set_Labgap(275,16);
B_Set_Labwidth(450);
TString str(1024);
char* buffer = str.get_buffer();
ifstream ifs(file());
TString_array page;
int row, col, wid, hei;
TString fontname(80);
int size;
int prog = 0;
int quant = 1;
XVT_FONT_STYLE_MASK style;
const TPoint res = page_res();
while (!ifs.eof())
{
ifs.getline(buffer, str.size());
if (str.starts_with("<frame "))
{
long x, y, dx, dy;
sscanf(str, "<frame x=%ld y=%ld dx=%ld dy=%ld />", &x, &y, &dx, &dy);
row = y * 10 / 44;
col = x * 10 / 44;
wid = dx * 10 / 44;
hei = dy * 10 / 44;
} else
if (str.starts_with("</page "))
{
int copie = ncopie;
if (copie == 0)
copie = quant;
B_Print_Out(1);
} else
if (str.starts_with("<font"))
{
sscanf(str, "<font name=%s size=%d style=%ld />", (const char *)fontname, &size, &style);
fontname.strip("\"");
}
else
if (str == "<text>")
{
TString stringona;
while (!ifs.eof())
{
ifs.getline(buffer, str.size());
if (str == "</text>")
break;
stringona << str << '\n';
}
stringona.trim();
if (stringona.starts_with("Q="))
quant = atoi(stringona.mid(2));
else
{
TParagraph_string para(stringona, wid);
for (int i = 0; i < para.items(); i++)
{
const int j = row + size + 2;
TString fld = para.get();
TString fmt;
fmt.format("%d",prog++);
if (fontname == "Symbol")
B_Prn_Barcode(col, j, 0, "E80", 2, 6, hei - 12, 'B', (char *) (const char *) fld);
else
B_Prn_Text_TrueType(col , j, size * 3, fontname, 1, 700, 0, 0, 0, fmt, (const char *) fld);
}
}
}
}
B_ClosePrn();
}
////////////////////////////////////////////////////////
// APPLICAZIONE
////////////////////////////////////////////////////////
class TStampa_etich_art : public TSkeleton_application
{
HINSTANCE hlib;
int _ncopie;
protected:
bool loadlibrary();
void print(TReport & rep);
virtual void main_loop();
virtual const char * extra_modules() const {return "ba";}
};
bool TStampa_etich_art::loadlibrary()
{
if (!hlib) // Check in already loaded
{
UINT fuError = SetErrorMode(SEM_NOOPENFILEERRORBOX);
hlib = LoadLibrary("winpplb.dll");
SetErrorMode(fuError);
if (hlib < (HINSTANCE)HINSTANCE_ERROR)
{
DWORD err = (DWORD)hlib & 0xFFFF;
hlib = NULL;
return error_box("Errore di caricamento di winpplb.dll: %lu", err);
}
}
VERIFY(B_Bar2d_Maxi = (pfnB_Bar2d_Maxi) ::GetProcAddress(hlib,"B_Bar2d_Maxi"));
VERIFY(B_Bar2d_PDF417 = (pfnB_Bar2d_PDF417) ::GetProcAddress(hlib,"B_Bar2d_PDF417"));
VERIFY(B_Bar2d_PDF417_N = (pfnB_Bar2d_PDF417_N) ::GetProcAddress(hlib,"B_Bar2d_PDF417_N"));
VERIFY(B_ClosePrn = (pfnB_ClosePrn) ::GetProcAddress(hlib,"B_ClosePrn"));
VERIFY(B_CreatePrn = (pfnB_CreatePrn) ::GetProcAddress(hlib,"B_CreatePrn"));
VERIFY(B_Del_Form = (pfnB_Del_Form) ::GetProcAddress(hlib,"B_Del_Form"));
VERIFY(B_Del_Pcx = (pfnB_Del_Pcx) ::GetProcAddress(hlib,"B_Del_Pcx"));
VERIFY(B_Draw_Box = (pfnB_Draw_Box) ::GetProcAddress(hlib,"B_Draw_Box"));
VERIFY(B_Draw_Line = (pfnB_Draw_Line) ::GetProcAddress(hlib,"B_Draw_Line"));
VERIFY(B_Error_Reporting = (pfnB_Error_Reporting) ::GetProcAddress(hlib,"B_Error_Reporting"));
VERIFY(B_Get_DLL_Version = (pfnB_Get_DLL_Version) ::GetProcAddress(hlib,"B_Get_DLL_Version"));
VERIFY(B_Get_DLL_VersionA = (pfnB_Get_DLL_VersionA) ::GetProcAddress(hlib,"B_Get_DLL_VersionA"));
VERIFY(B_Get_Graphic_ColorBMP = (pfnB_Get_Graphic_ColorBMP) ::GetProcAddress(hlib,"B_Get_Graphic_ColorBMP"));
VERIFY(B_Get_Pcx = (pfnB_Get_Pcx) ::GetProcAddress(hlib,"B_Get_Pcx"));
VERIFY(B_Initial_Setting = (pfnB_Initial_Setting) ::GetProcAddress(hlib,"B_Initial_Setting"));
VERIFY(B_Load_Pcx = (pfnB_Load_Pcx) ::GetProcAddress(hlib,"B_Load_Pcx"));
VERIFY(B_Open_ChineseFont = (pfnB_Open_ChineseFont) ::GetProcAddress(hlib,"B_Open_ChineseFont"));
VERIFY(B_Print_Form = (pfnB_Print_Form) ::GetProcAddress(hlib,"B_Print_Form"));
VERIFY(B_Print_MCopy = (pfnB_Print_MCopy) ::GetProcAddress(hlib,"B_Print_MCopy"));
VERIFY(B_Print_Out = (pfnB_Print_Out) ::GetProcAddress(hlib,"B_Print_Out"));
VERIFY(B_Prn_Barcode = (pfnB_Prn_Barcode) ::GetProcAddress(hlib,"B_Prn_Barcode"));
VERIFY(B_Prn_Configuration = (pfnB_Prn_Configuration) ::GetProcAddress(hlib,"B_Prn_Configuration"));
VERIFY(B_Prn_Text = (pfnB_Prn_Text) ::GetProcAddress(hlib,"B_Prn_Text"));
VERIFY(B_Prn_Text_Chinese = (pfnB_Prn_Text_Chinese) ::GetProcAddress(hlib,"B_Prn_Text_Chinese"));
VERIFY(B_Prn_Text_TrueType = (pfnB_Prn_Text_TrueType) ::GetProcAddress(hlib,"B_Prn_Text_TrueType"));
VERIFY(B_Prn_Text_TrueType_W = (pfnB_Prn_Text_TrueType_W) ::GetProcAddress(hlib,"B_Prn_Text_TrueType_W"));
VERIFY(B_Select_Option = (pfnB_Select_Option) ::GetProcAddress(hlib,"B_Select_Option"));
VERIFY(B_Select_Symbol = (pfnB_Select_Symbol) ::GetProcAddress(hlib,"B_Select_Symbol"));
VERIFY(B_Set_Backfeed = (pfnB_Set_Backfeed) ::GetProcAddress(hlib,"B_Set_Backfeed"));
VERIFY(B_Set_BMPSave = (pfnB_Set_BMPSave) ::GetProcAddress(hlib,"B_Set_BMPSave"));
VERIFY(B_Set_Darkness = (pfnB_Set_Darkness) ::GetProcAddress(hlib,"B_Set_Darkness"));
VERIFY(B_Set_DebugDialog = (pfnB_Set_DebugDialog) ::GetProcAddress(hlib,"B_Set_DebugDialog"));
VERIFY(B_Set_Direction = (pfnB_Set_Direction) ::GetProcAddress(hlib,"B_Set_Direction"));
VERIFY(B_Set_Form = (pfnB_Set_Form) ::GetProcAddress(hlib,"B_Set_Form"));
VERIFY(B_Set_Labgap = (pfnB_Set_Labgap) ::GetProcAddress(hlib,"B_Set_Labgap"));
VERIFY(B_Set_Labwidth = (pfnB_Set_Labwidth) ::GetProcAddress(hlib,"B_Set_Labwidth"));
VERIFY(B_Set_Originpoint = (pfnB_Set_Originpoint) ::GetProcAddress(hlib,"B_Set_Originpoint"));
VERIFY(B_Set_Prncomport = (pfnB_Set_Prncomport) ::GetProcAddress(hlib,"B_Set_Prncomport"));
VERIFY(B_Set_Prncomport_PC = (pfnB_Set_Prncomport_PC) ::GetProcAddress(hlib,"B_Set_Prncomport_PC"));
VERIFY(B_Set_Speed = (pfnB_Set_Speed) ::GetProcAddress(hlib,"B_Set_Speed"));
VERIFY(B_Set_ProcessDlg = (pfnB_Set_ProcessDlg) ::GetProcAddress(hlib,"B_Set_ProcessDlg"));
VERIFY(B_GetUSBBufferLen = (pfnB_GetUSBBufferLen) ::GetProcAddress(hlib,"B_GetUSBBufferLen"));
VERIFY(B_EnumUSB = (pfnB_EnumUSB) ::GetProcAddress(hlib,"B_EnumUSB"));
VERIFY(B_CreateUSBPort = (pfnB_CreateUSBPort) ::GetProcAddress(hlib,"B_CreateUSBPort"));
// VERIFY(B_Set_ErrorReport = (pfnB_Set_ErrorReport) ::GetProcAddress(hlib,"B_Set_ErrorReport"));
VERIFY(B_ResetPrinter = (pfnB_ResetPrinter) ::GetProcAddress(hlib,"B_ResetPrinter"));
return true;
}
void TStampa_etich_art::main_loop()
{
hlib = NULL;
_ncopie = 0;
loadlibrary();
TStampa_etich_art_mask mask;
while (mask.run() == K_ENTER)
{
TEtich_book b;
if (mask.get(F_TIPOST) == "A")
{
TStampa_etich_art_rep rep;
rep.load("pf0001100a");
_ncopie = mask.get_int(F_QTA);
rep.set_filter(mask);
b.add(rep);
b.print_labels(1, 2, _ncopie);
}
else
{
TStampa_etich_mov_rep rep;
rep.load("pf0001100b");
rep.set_filter(mask);
b.add(rep);
b.print_labels(1, 2, _ncopie);
}
}
}
int pf0001100(int argc, char* argv[])
{
TStampa_etich_art a;
a.run(argc, argv, TR("Stampa etichette articoli"));
return 0;
}