TPVwin/TpvCFG.cpp
2021-09-12 22:19:30 +02:00

145 lines
5.8 KiB
C++
Raw Blame History

//---------------------------------------------------------------------------
#include <vcl.h>
#include <inifiles.hpp>
#pragma hdrstop
#include "TpvCFG.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TCFG *CFG;
//---------------------------------------------------------------------------
__fastcall TCFG::TCFG(TComponent* Owner)
: TForm(Owner)
{
TIniFile *ini;
ini = new TIniFile( ExtractFileDir( Application->ExeName ) + "\\TPV.INI" );
// General
initMax->Checked = ini->ReadBool( "Form", "InitMax", false );
// Ventas
alFacturar->ItemIndex = ini->ReadInteger( "Ventas", "alFacturar", 1 );
Codigo_y_Unidad->Checked = ini->ReadBool( "Ventas", "Codigo_y_Unidad", false );
CajonMonedasDonde->ItemIndex = ini->ReadInteger( "Ventas", "CajonMonedas-donde", 2 );
CajonMonedas->Checked = ini->ReadBool( "Ventas", "CajonMonedas", false );
CajonMonedasDonde->Visible = CajonMonedas->Checked;
ProbarCajon->Visible = CajonMonedas->Checked;
CambioPrecioProdExistente->Checked = ini->ReadBool( "Ventas", "CambioPrecioProdExistente", false );
// Almacen / Stock
RecalcularPrecioVentaAlCambiarCoste->ItemIndex = ini->ReadInteger( "Almacen", "RecalcularPrecioVentaAlCambiarCoste", 1 );
RefQR_LEDS->Checked = ini->ReadBool( "Almacen", "RefQR_LEDS", true );
ImprimirCabFam->Checked = ini->ReadBool( "Almacen", "ImprimirCabFam", true );
ImprimirCabFamVacia->Checked = ini->ReadBool( "Almacen", "ImprimirCabFamVacia", false );
StockQR_LEDS->Checked = ini->ReadBool( "Almacen", "StockQR_LEDS", true );
// Resumenes
VntProdCosteBeneficio->Checked = ini->ReadBool( "Resumenes", "VntProdCosteBeneficio", true );
// Compras
CmpActualizaPCoste->Checked = ini->ReadBool( "Compras", "CmpActualizaPCoste", true );
CmpActualizaPVP->Checked = ini->ReadBool( "Compras", "CmpActualizaPVP", true );
delete ini;
}
//---------------------------------------------------------------------------
void __fastcall TCFG::AbrirCajon( void )
{
HANDLE hCom;
hCom = CreateFile( CajonMonedasDonde->Items->Strings[CajonMonedasDonde->ItemIndex].c_str(),
GENERIC_READ | GENERIC_WRITE,
0, // comm devices must be opened w/exclusive-access
NULL, // no security attributes
OPEN_EXISTING, // comm devices must use OPEN_EXISTING
0, // not overlapped I/O
NULL // hTemplate must be NULL for comm devices
);
if (hCom != INVALID_HANDLE_VALUE)
{
DCB dcb;
// We will build on the current configuration, and skip setting the size
// of the input and output buffers with SetupComm.
if ( GetCommState(hCom, &dcb) )
{
// Fill in the DCB: baud=57,600 bps, 8 data bits, no parity, and 1 stop bit.
dcb.BaudRate = CBR_9600; // set the baud rate
dcb.ByteSize = 8; // data size, xmit, and rcv
dcb.Parity = NOPARITY; // no parity bit
dcb.StopBits = ONESTOPBIT; // one stop bit
if ( SetCommState(hCom, &dcb) )
TransmitCommChar( hCom, 0xFF );
CloseHandle( hCom );
}
}
}
//---------------------------------------------------------------------------
void __fastcall TCFG::SpeedButton1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TCFG::SpeedButton2Click(TObject *Sender)
{
// Meter datos en la base de datos...
if ( alFacturar->ItemIndex==-1 )
alFacturar->ItemIndex = 1;
/*
0 ...siempre
1 ...solo a clientes
2 ...a clientes y preguntar otros
3 ...preguntar siempre
4 ...nunca
*/
if ( RecalcularPrecioVentaAlCambiarCoste->ItemIndex==-1 )
RecalcularPrecioVentaAlCambiarCoste->ItemIndex = 1;
/*
0 ...nunca
1 ...absoluto
2 ...proporcional
*/
TIniFile *ini;
ini = new TIniFile( ExtractFileDir( Application->ExeName ) + "\\TPV.INI" );
// General
ini->WriteBool( "Form", "InitMax", initMax->Checked );
// Ventas
ini->WriteInteger( "Ventas", "alFacturar", alFacturar->ItemIndex );
ini->WriteBool( "Ventas", "Codigo_y_Unidad", Codigo_y_Unidad->Checked );
ini->WriteInteger( "Ventas", "CajonMonedas-donde", CajonMonedasDonde->ItemIndex );
ini->WriteBool( "Ventas", "CajonMonedas", CajonMonedas->Checked );
ini->WriteBool( "Ventas", "CambioPrecioProdExistente", CambioPrecioProdExistente->Checked );
// Almacen / Stock
ini->WriteInteger( "Almacen", "RecalcularPrecioVentaAlCambiarCoste", RecalcularPrecioVentaAlCambiarCoste->ItemIndex );
ini->WriteBool( "Almacen", "RefQR_LEDS", RefQR_LEDS->Checked );
ini->WriteBool( "Almacen", "ImprimirCabFam", ImprimirCabFam->Checked );
ini->WriteBool( "Almacen", "ImprimirCabFamVacia", ImprimirCabFamVacia->Checked );
ini->WriteBool( "Almacen", "StockQR_LEDS", StockQR_LEDS->Checked );
// Resumenes
ini->WriteBool( "Resumenes", "VntProdCosteBeneficio", VntProdCosteBeneficio->Checked );
// Compras
ini->WriteBool( "Compras", "CmpActualizaPCoste", CmpActualizaPCoste->Checked );
ini->WriteBool( "Compras", "CmpActualizaPVP", CmpActualizaPVP->Checked );
delete ini;
}
//---------------------------------------------------------------------------
void __fastcall TCFG::SpeedButton3Click(TObject *Sender)
{
ShowMessage( "Especifique un valor, para hacer que la siguiente factura empiece a contar desde <20>l." );
}
//---------------------------------------------------------------------------
void __fastcall TCFG::CajonMonedasClick(TObject *Sender)
{
CajonMonedasDonde->Visible = CajonMonedas->Checked;
ProbarCajon->Visible = CajonMonedas->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TCFG::ProbarCajonClick(TObject *Sender)
{
AbrirCajon();
}
//---------------------------------------------------------------------------