Patch level : 10.0 462
Files correlati : cg0.exe cg1.exe Ricompilazione Demo : [ ] Commento Supporto per il passaggio di vairabili sulla riga dello stampatore di report git-svn-id: svn://10.65.10.50/trunk@19406 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
198208b90f
commit
312ae4b486
@ -152,9 +152,38 @@ TReport* TKlarkKent_app::create_report(const char* name) const
|
||||
|
||||
void TKlarkKent_app::main_loop()
|
||||
{
|
||||
TString_array arr;
|
||||
TString_array arr; // Lista dei reports
|
||||
TAssoc_array vars; // Variabili utente
|
||||
|
||||
for (int i = 2; i < argc(); i++)
|
||||
arr.add(argv(i));
|
||||
{
|
||||
const TFixed_string arg(argv(i));
|
||||
const int uguale = arg.find('=');
|
||||
if (uguale > 0)
|
||||
{
|
||||
TString16 name = arg.left(uguale); name.trim();
|
||||
TString80 val = arg.mid(uguale+1); val.trim();
|
||||
if (name.full() && val.full())
|
||||
{
|
||||
TVariant* var = NULL;
|
||||
if (real::is_real(val))
|
||||
var = new TVariant(real(val));
|
||||
else
|
||||
var = new TVariant(val);
|
||||
if (name[0] != '#')
|
||||
name.insert("#");
|
||||
vars.add(name, var);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TFilename rep = arg;
|
||||
rep.ext("rep");
|
||||
if (rep.custom_path())
|
||||
arr.add(arg);
|
||||
}
|
||||
}
|
||||
|
||||
if (arr.items() == 0)
|
||||
arr.add(EMPTY_STRING);
|
||||
|
||||
@ -192,6 +221,11 @@ void TKlarkKent_app::main_loop()
|
||||
if (custom_app)
|
||||
{
|
||||
appname << ' ' << report_name;
|
||||
if (vars.items() > 0)
|
||||
{
|
||||
FOR_EACH_ASSOC_OBJECT(vars, h, name, var)
|
||||
appname<< ' ' << name << '=' << ((TVariant *) var)->as_string();
|
||||
}
|
||||
TExternal_app app(appname);
|
||||
app.run(true);
|
||||
}
|
||||
@ -202,6 +236,12 @@ void TKlarkKent_app::main_loop()
|
||||
report = create_report(report_name);
|
||||
if (report != NULL)
|
||||
{
|
||||
TRecordset* pset = report->recordset();
|
||||
if (pset != NULL && vars.items() > 0)
|
||||
{
|
||||
FOR_EACH_ASSOC_OBJECT(vars, h, name, var)
|
||||
pset->set_var(name, *(TVariant*)var, true);
|
||||
}
|
||||
const bool ok = book.add(*report);
|
||||
if (ok && arr.items() == 1) // Controlla se e' pensabile ripetere la stampa
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user