Patch level :R_02_01 nopatch

Files correlati     :ve7.exe ve7500*.*
Ricompilazione Demo : [ ]
Commento            :programma per gommisti funzionante


git-svn-id: svn://10.65.10.50/trunk@11797 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2004-03-03 11:26:01 +00:00
parent a11485820a
commit c6734ca369
5 changed files with 36 additions and 10 deletions

View File

@ -1,10 +1,7 @@
#include <applicat.h>
#include <filetext.h>
#include <isamrpc.h>
#include <mask.h>
#include <tabutil.h>
#include <progind.h>
#include <recarray.h>
#include <utility.h>
#include "..\mg\umart.h"
@ -20,10 +17,8 @@
class TLis2fil_txt: public TFile_text
{
protected:
// virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str);
public:
void save_price(const TRecord_text& rec, const TString& um);
TLis2fil_txt(const TString& file_name, const TString& config_name);
virtual ~TLis2fil_txt() { }
};
@ -33,6 +28,22 @@ TLis2fil_txt::TLis2fil_txt(const TString& file_name, const TString& config_name)
{
}
//validate per sistemare il prezzo nel file UMART
void TLis2fil_txt::save_price(const TRecord_text& rec, const TString& um)
{
const TString80 codart = rec.get(0);
const TPrice prezzo = real(rec.get(2));
TLocalisamfile umart(LF_UMART);
TRectype& curr = umart.curr();
curr.put(UMART_CODART, codart);
curr.put(UMART_NRIGA, 1);
curr.put(UMART_UM, um);
curr.put(UMART_PREZZO, prezzo);
if (umart.rewrite() != NOERR)
umart.write();
}
/////////////////////////////////////////////////////
// Classe TLis2fil: applicazione principale //
@ -41,6 +52,7 @@ TLis2fil_txt::TLis2fil_txt(const TString& file_name, const TString& config_name)
class TLis2fil: public TSkeleton_application
{
TMask* _msk;
TString4 _um;
protected:
virtual bool create(void);
@ -84,6 +96,7 @@ void TLis2fil::import(const TString& filename)
{
pi.setstatus(trasfile.read_file()->tellg());
trasfile.autosave(rel, curr);
trasfile.save_price(curr, _um);
}
trasfile.close();
@ -97,6 +110,8 @@ bool TLis2fil::create()
_msk = new TMask("ve7500a");
TString default_dir = "A:\\";
_msk->set(F_DIRNAME, default_dir);
TString4 default_um = "PZ";
_msk->set(F_UM, default_um);
return TSkeleton_application::create();
}
@ -119,11 +134,12 @@ void TLis2fil::main_loop()
if (key == K_ENTER)
{
TString_array dir_files;
TFilename path = _msk->get(F_DIRNAME);
TFilename path = _msk->get(F_DIRNAME); //da maschera si seleziona la directory di importazione..
_um = _msk->get(F_UM);
path.add("*.txt");
list_files(path, dir_files);
list_files(path, dir_files); //..poi si mettono tutti i nomi dei files .txt presenti nella dir in un TString_array..
FOR_EACH_ARRAY_ROW(dir_files, i, row)
import(*row);
import(*row); //..e per ogni file (riga del TString-array) si procede all'upload dei record
}
}
}

View File

@ -2,3 +2,4 @@
// definizione campi per maschera di selezione
#define F_DIRNAME 101 // nome della directory da cui caricare i dati
#define F_UM 102 // unita' di misura da utilizzare per i record da caricare

View File

@ -1,7 +1,7 @@
#include "ve7500a.h"
PAGE "Acquisizione dati da file" -1 -1 78 4
PAGE "Acquisizione dati da file" -1 -1 78 5
BUTTON DLG_OK 10 2
BEGIN
@ -19,5 +19,12 @@ BEGIN
CHECKTYPE REQUIRED
END
STRING F_UM 2
BEGIN
PROMPT 1 2 "Unita' di misura da utilizzare "
FLAGS "U"
CHECKTYPE REQUIRED
END
ENDPAGE
ENDMASK

View File

@ -49,4 +49,5 @@ NAME(2) = PRICE
TYPE(2) = EURO
POSITION(2) = 63
LENGTH(2) = 8
MESSAGE(2) = _PREZZO

View File

@ -49,4 +49,5 @@ NAME(2) = PRICE
TYPE(2) = EURO
POSITION(2) = 47
LENGTH(2) = 11
MESSAGE(2) = _PREZZO