Patch level : 10.0
Files correlati : ba0.exe Ricompilazione Demo : [ ] Commento : Corretta esecuzione da menu di programmi di conversione (??cnv.exe) Raddoppiata dimensione massima delle stringhe da 32 a 64 KB git-svn-id: svn://10.65.10.50/branches/R_10_00@22355 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
187bdfaf6c
commit
c88a888656
@ -3,9 +3,8 @@
|
||||
|
||||
#define DEFFLD(fldname) const char* const ALL_##fldname = #fldname;
|
||||
|
||||
// Key 1 = ANNO+CODATT+PROGR
|
||||
// Key 1 = ANNO+PROGR
|
||||
DEFFLD(ANNO)
|
||||
DEFFLD(CODATT)
|
||||
DEFFLD(PROGR)
|
||||
|
||||
// Key 2 = TIPOCF+CODCF+OCFPI+PROGR
|
||||
|
@ -42,7 +42,7 @@ long TExternal_app::run(
|
||||
params = ps;
|
||||
if (params > 0)
|
||||
comm_name.cut(params);
|
||||
if (*comm_name.ext() == '\0') //se non c'e' estensione ci mette .exe (sono programmi)
|
||||
if (*comm_name.ext() == '\0') // se non c'e' estensione ci mette .exe (sono programmi)
|
||||
comm_name.ext("exe");
|
||||
|
||||
const bool found = comm_name.custom_path(); //cerca il file in custom o in locale
|
||||
@ -52,7 +52,8 @@ long TExternal_app::run(
|
||||
bool our_app = name.len() > 2;
|
||||
if (our_app && atoi(name) < 70)
|
||||
{
|
||||
our_app = isalpha(name[0]) && isalpha(name[1]) && isdigit(name[2]);
|
||||
our_app = (isalpha(name[0]) && isalpha(name[1])) &&
|
||||
(isdigit(name[2]) || name.ends_with("cnv"));
|
||||
}
|
||||
if (!our_app) // Non e' un programma di campo per cui ...
|
||||
utente = 0; // ... non aggiungo il codice utente al comando
|
||||
@ -65,7 +66,7 @@ long TExternal_app::run(
|
||||
path << _path.mid(params);
|
||||
}
|
||||
|
||||
if (utente)
|
||||
if (utente && path.find(" /u") < 0)
|
||||
path << " /u" << user();
|
||||
|
||||
// save cwd
|
||||
|
@ -3618,30 +3618,29 @@ bool TRectype::get_bool(const char* fieldname) const
|
||||
|
||||
TDate TRectype::get_date(const char* fieldname) const
|
||||
{
|
||||
TDate d(get_str(fieldname));
|
||||
const TDate d(get_str(fieldname));
|
||||
return d;
|
||||
}
|
||||
|
||||
void TRectype::put(const char* fieldname, int val)
|
||||
{
|
||||
TString16 tmp;
|
||||
tmp.format("%d", val);
|
||||
char tmp[16];
|
||||
itoa(val, tmp, 10);
|
||||
put_str(fieldname, tmp);
|
||||
}
|
||||
|
||||
|
||||
void TRectype::put(const char* fieldname, long val)
|
||||
{
|
||||
TString16 tmp;
|
||||
tmp.format("%ld", val);
|
||||
char tmp[16];
|
||||
ltoa(val, tmp, 10);
|
||||
put_str(fieldname, tmp);
|
||||
}
|
||||
|
||||
|
||||
void TRectype::put(const char* fieldname, word val)
|
||||
{
|
||||
TString16 tmp; tmp.format("%u", val);
|
||||
put_str( fieldname, tmp);
|
||||
put(fieldname, (int)val);
|
||||
}
|
||||
|
||||
void TRectype::put(const char* fieldname, const real& val)
|
||||
@ -3656,7 +3655,6 @@ void TRectype::put(const char* fieldname, const TCurrency& val)
|
||||
|
||||
void TRectype::put(const char* fieldname, const TDate& val)
|
||||
{
|
||||
// put_str( fieldname, val.string(full));
|
||||
put( fieldname, val.date2ansi());
|
||||
}
|
||||
|
||||
@ -3669,7 +3667,7 @@ void TRectype::put(const char* fieldname, char val)
|
||||
|
||||
void TRectype::put(const char* fieldname, bool val)
|
||||
{
|
||||
put( fieldname, val ? 'X' : ' ');
|
||||
put(fieldname, val ? 'X' : ' ');
|
||||
}
|
||||
|
||||
|
||||
|
@ -376,10 +376,10 @@ public:
|
||||
// @cmember Azzera il campo
|
||||
void reset(const char * fld_id) {set(fld_id, "");}
|
||||
|
||||
// @cmember Legge, dalla relazione <p Trelation>, i valori del campo con specifica FIELD
|
||||
void autoload(const TRelation& r);
|
||||
// @cmember Scrive, dalla relazione <p Trelation>, i valori del campo con specifica FIELD
|
||||
void autosave(TRelation& r) const;
|
||||
// @cmember Legge, dalla relazione <p TRelation>, i valori del campo con specifica FIELD
|
||||
virtual void autoload(const TRelation& r);
|
||||
// @cmember Scrive, dalla relazione <p TRelation>, i valori del campo con specifica FIELD
|
||||
virtual void autosave(TRelation& r) const;
|
||||
|
||||
// @cmember Permette di mandare un tasto ad un campo
|
||||
void send_key(KEY key, short id, TMask_field* from = NULL);
|
||||
|
@ -24,7 +24,7 @@ const TToken_string& empty_string()
|
||||
|
||||
// Most descriptions will fit in fifty characters
|
||||
const int DEFAULT_SIZE = 50;
|
||||
const int MAX_SIZE = 32000;
|
||||
const int MAX_SIZE = 65535;
|
||||
|
||||
inline bool is_space(char c)
|
||||
{ return c >= '\t' && c <= ' '; }
|
||||
@ -97,7 +97,7 @@ int TString::make_room(
|
||||
if (new_size > MAX_SIZE)
|
||||
new_size = MAX_SIZE;
|
||||
if (new_size < min_size)
|
||||
fatal_box("Stringa di lunghezza eccessiva (%ld)", min_size);
|
||||
fatal_box("Stringa di lunghezza eccessiva (%d)", min_size);
|
||||
resize(int(new_size), true);
|
||||
}
|
||||
return lun;
|
||||
@ -149,7 +149,6 @@ char TString::shift(int n)
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
TString& TString::operator <<(const char* s)
|
||||
{
|
||||
if (s && *s)
|
||||
@ -171,23 +170,20 @@ TString& TString::operator <<(char c)
|
||||
|
||||
TString& TString::operator <<(int n)
|
||||
{
|
||||
char s[16];
|
||||
sprintf(s, "%d", n);
|
||||
char s[16]; _itoa(n, s, 10);
|
||||
return operator <<(s);
|
||||
}
|
||||
|
||||
|
||||
TString& TString::operator <<(long n)
|
||||
{
|
||||
char s[16];
|
||||
sprintf(s, "%ld", n);
|
||||
char s[16]; _ltoa(n, s, 10);
|
||||
return operator <<(s);
|
||||
}
|
||||
|
||||
TString& TString::operator <<(double n)
|
||||
{
|
||||
char s[32];
|
||||
sprintf(s, "%lg", n);
|
||||
char s[32]; sprintf(s, "%lg", n);
|
||||
return operator <<(s);
|
||||
}
|
||||
|
||||
@ -245,7 +241,6 @@ bool TString::full() const
|
||||
|
||||
}
|
||||
|
||||
|
||||
TString& TString::strip_spaces()
|
||||
{
|
||||
char instring = '\0';
|
||||
@ -1826,7 +1821,7 @@ int TToken_string::get_pos(const char* s)
|
||||
// Certified 80%
|
||||
int TToken_string::get_pos(long n)
|
||||
{
|
||||
char s[16]; sprintf(s, "%ld", n);
|
||||
char s[16]; _ltoa(n, s, 10);
|
||||
return get_pos(s);
|
||||
}
|
||||
|
||||
@ -1894,8 +1889,7 @@ void TToken_string::add(char c, int pos)
|
||||
// Certified 100%
|
||||
void TToken_string::add(long n, int pos)
|
||||
{
|
||||
char s[16];
|
||||
sprintf(s, "%ld", n);
|
||||
char s[16]; _ltoa(n, s, 10);
|
||||
add(s, pos);
|
||||
}
|
||||
|
||||
@ -1903,8 +1897,7 @@ void TToken_string::add(long n, int pos)
|
||||
// Certified 100%
|
||||
void TToken_string::add(int n, int pos)
|
||||
{
|
||||
char s[16];
|
||||
sprintf(s, "%d", n);
|
||||
char s[16]; _itoa(n, s, 10);
|
||||
add(s, pos);
|
||||
}
|
||||
|
||||
@ -2010,7 +2003,7 @@ TAuto_token_string& TAuto_token_string::create(const char* ts)
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
TParagraph_string::TParagraph_string(const char* s, int width)
|
||||
: TToken_string(s, '|'), _width(width)
|
||||
: TToken_string(s, '|'), _width(width)
|
||||
{ tokenize(); }
|
||||
|
||||
const TString& TParagraph_string::operator =(const char* s)
|
||||
@ -2075,7 +2068,8 @@ int TString_array::add(const char* s, int n)
|
||||
{
|
||||
if (objptr(n) == NULL)
|
||||
n = TArray::add(new TToken_string(s), n);
|
||||
else row(n) = s;
|
||||
else
|
||||
row(n) = s;
|
||||
return n;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user