#define americano 1 #define europeo 0 #define lmax 200 #define posin 18 #define estac 18+posin #define linea 18+posin #define durac 18+posin #define hor 27+posin #define fech 18+posin #define tranf 0 +posin #define numero 18+posin #define ccost 0 #define proye 18+posin #define cuenta 0 #define pulsos 0 #define ruta 0 #define prinum 0 #define ring 0 #define antran 0 // anexo transferido #define fofech americano #define ladat 60+posin #define ampm 15 #define incomin 28 char reg[60000][ladat],*cuf, *duf,*fuf, *guf,*huf, *juf,*kuf,aux[7][ladat]; int c_linea, d_linea, f_linea, g_linea, h_linea, j_linea, k_linea, Cont_Linea, i, j; c_linea=0; d_linea=0; f_linea=0; g_linea=0; h_linea=0; j_linea=0; k_linea=0; Cont_Linea=0; i=0;j=0; extern void gua_rut(char *buf); extern char rgua[]; void in_central() { rgua[0]='\0'; } void fi_central() { } void DatCentral(char *buf, char *tel, int vestac, int vlinea,int vdurac,int vhor, int vfech, int vtranf, int vnumero, int vccost,int vproye, int vcuenta, int vpulsos, int vruta, int vprinum, int vring, int vantran, int vfofech) { int k,haux,maux,saux,it,e,l,m,cont,nolinea; char sseg[6],smin[6],shora[6]; j=0;i=strlen(buf);e=ladat; if (i> vlinea && buf[vnumero-9]=='N' && buf[vnumero-15]=='C') //Numero { for(j=0;e>=j;j++) { aux[1][j] = ' '; aux[1][j]=buf[j]; } c_linea=1; return; } else if (i> vlinea && buf[vnumero-9]=='N' && buf[vnumero-16]=='C') //anexo { for(j=0;j<=e;j++) { aux[2][j] = ' '; aux[2][j]=buf[j]; } d_linea=1; return; } else if (i> (vlinea-1) && buf[vnumero-11]=='U' && buf[vnumero-7]=='N') //nombre_anexo { for(j=0;j<=e;j++) { aux[3][j] = ' '; aux[3][j]=buf[j]; } f_linea=1; return; } else if (i> vlinea && buf[vnumero-11]=='C' && buf[vnumero-7]=='T') //tipo llamado { for(j=0;j<=e;j++) { aux[4][j]=' '; aux[4][j]=buf[j]; } g_linea=1; return; } else if (i> vlinea && buf[vnumero-14]=='E' && buf[vnumero-7]=='T') //hora y fecha Inicio { for(j=0;j<=e;j++) { aux[5][j]=' '; aux[5][j]=buf[j]; } h_linea=1; return; } else if (i> vlinea && buf[vnumero-11]=='D' && buf[vnumero-7]=='t') //duracion { for(j=0;j<=e;j++) { aux[6][j]=' '; aux[6][j]=buf[j]; } j_linea=1; return; } else if (i> vlinea && buf[vnumero-16]=='S' && buf[vnumero-7]=='T') //hora y fera de termino { for(j=0;j<=e;j++) { aux[7][j]=' '; aux[7][j]=buf[j]; } k_linea=1; return; } else if (c_linea==1&& d_linea==1&& f_linea==1&& g_linea==1&& h_linea==1&& j_linea==1&& k_linea==1) { cuf=aux[1];duf=aux[2];fuf=aux[3];guf=aux[4];huf=aux[5];juf=aux[6];kuf=aux[7]; c_linea=0; d_linea=0; f_linea=0; g_linea=0; h_linea=0; j_linea=0; k_linea=0; cont=0;nolinea=0; k=0;l=strlen(duf);m=strlen(cuf); for (it=0;l>(vnumero+it);it++) tel[k++] = duf[vestac+it] ; tel[k++] = ' ' ; for (it=0;!((guf[vlinea+it])=='(');it++){cont++;} for(it=0;(vlinea+cont+it) (vnumero+it) ;it++) { if (isdigit(cuf[vnumero+it])) tel[k++] = cuf[vnumero+it]; } tel[k++] = ' ' ; tel[k++] = '*' ; tel[k++] = '*' ; tel[k++] = '*' ; // centro de costo tel[k++] = ' ' ; tel[k++] = '*' ; // código de proyecto tel[k++] = '*' ; // código de proyecto tel[k++] = '*' ; // código de proyecto tel[k++] = ' ' ; tel[k++] = '*' ; /* codigo de cuenta */ tel[k++] = '*' ; /* codigo de cuenta */ tel[k++] = '*' ; /* codigo de cuenta */ tel[k++] = ' ' ; tel[k++] = '0' ; /* tarifa o pulsos */ tel[k++] = '0' ; /* tarifa o pulsos */ tel[k++] = '0' ; /* tarifa o pulsos */ tel[k++] = '0' ; /* tarifa o pulsos */ tel[k++] = ' ' ; tel[k++] = '*' ; /* ruta */ tel[k++] = '*' ; /* ruta */ tel[k++] = '*' ; /* ruta */ tel[k++] = ' ' ; tel[k++] = '*' ; /* primer numero */ tel[k++] = ' ' ; tel[k++] = '0' ; tel[k++] = '0' ; tel[k++] = ':' ; tel[k++] = '0' ; tel[k++] = '0' ; /* tiempo ring */ tel[k++] = ' ' ; tel[k++] = '*' ; // anexo transferido tel[k++] = '\r' ; tel[k++] = '\n' ; tel[k++] = '\0' ; } }