Correzione MI3625 e MI3635, relativi alla eliminazione del file header sporco e

all'estrazione del numero civico in ricezione da sistema


git-svn-id: svn://10.65.10.50/trunk@4928 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-07-25 16:22:16 +00:00
parent 155961bf24
commit 2fa1f11a59

View File

@ -398,6 +398,7 @@ void TTransfer_file::remove_all(bool file_ditta)
sigle = sigle_file(); sigle = sigle_file();
sigle.trim(); sigle.trim();
close(); close();
fremove(dir); // Rimuove l'header
dir = ""; dir = "";
if (file_ditta) if (file_ditta)
{ {
@ -407,20 +408,11 @@ void TTransfer_file::remove_all(bool file_ditta)
else else
dir << firm2dir(0); dir << firm2dir(0);
bool prima_volta = TRUE;
for (int i = 0; i < sigle.len(); i++) for (int i = 0; i < sigle.len(); i++)
{ {
char sigla = sigle[i]; char sigla = sigle[i];
if (prima_volta)
{
TString80 trasf;
trasf << dir << HEADER;
fremove(trasf);
prima_volta = FALSE;
}
if (sigla == 'W') if (sigla == 'W')
{ {
TString80 path; TString80 path;
@ -974,46 +966,40 @@ char TTransfer_file::TipoConto(int g, int c)
const char* TTransfer_file::numero_civico(TString& indirizzo) const char* TTransfer_file::numero_civico(TString& indirizzo)
{ {
int i,start,end; int i,j;
bool spazio = FALSE;
start = 0;
end = 0;
TEMP = ""; TEMP = "";
for (i = 0; i < indirizzo.len(); i++) i = indirizzo.find(','); // Cerca prima la virgola
{ if (i >= 0) // se la trova restituisce la prima parola dopo di essa
char numero = indirizzo[i]; {
TToken_string t(indirizzo,',');
if (spazio && (isdigit(numero))) TEMP = t.get(1);
{ TEMP.trim();
TEMP << indirizzo[i]; TToken_string n(TEMP,' '); // Il primo item dopo la virgola e' il numero civico
if (start == 0) TEMP = n.get(0);
start = i; indirizzo = t.get(0); // Prima parte di indirizzo. Gia' senza la virgola.
end = i; j = n.items();
} for (i = 1; i < j; i++)
indirizzo << " " << n.get(i); // Completa l'indirizzo
if (indirizzo[i] == ' ' || indirizzo[i] == '.') TEMP.trim();
if (!spazio) }
spazio = TRUE; else // Se non c'e' nessuna virgola
else { // Ritorna l'ultima parola a partire da dx che contiene almeno una cifra
if (TEMP != "") TToken_string t(indirizzo,' ');
break; TEMP = t.get(t.items()-1);
j = TEMP.len();
for (i = 0; i<j; i++)
if (isdigit(TEMP[i]))
{
indirizzo.rtrim(j); // Toglie la parte del numero dall'indirizzo
TEMP.trim();
break;
}
if (i == j)
TEMP = "";
} }
TString substr1 = "";
TString substr2 = "";
if (start != 0)
substr1 = indirizzo.sub(0,start - 1);
if (end != 0)
substr2 = indirizzo.sub(end +1);
if (substr1.not_empty())
indirizzo = substr1;
if (substr2.not_empty)
indirizzo << substr2;
return TEMP; return TEMP;
} }