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