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
589 lines
19 KiB
C++
Executable File
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;
|
|
} |