#include "complex.h" #include "screen.h" #include "shst_prt.h" /* структура пар-ров прот-я, B PROTOKOL.C */ extern struct par_prt par; /* B PROTOKOL.C стpуктуpа записи пpотоколов наpушений и событий */ extern struct prt_al_ev rec_al_ev; /* B PROTOKOL.C стpуктуpа записи технологического журнала */ extern struct prt_tg tg; extern struct prt_eq equip_p; extern word_s xl,yl,xr,yr,i; word_s PR_KON,PR_NAC,T_N_STR,ch_sh; /* ----------------------------------*/ word_s d_h=1; /* кол-во столбцов,на кот.сдвигается экpан пpи 1 нажатии */ extern struct smena sm[4]; extern long int _ttm; extern struct tm *tn; extern struct en en_vyv; void form_str(word_s nscr); /* ---------------------------------- */ extern two_sc *t_scr[]; extern char *tscreen[]; #define tscr t_scr[nscr] #define BASECOLOR 7 /*YELLOW_ 14 */ typedef struct { byte day; byte mon; byte year; byte hour; byte min; byte sec; char str[50]; } a_op1; extern char *nmec[]; #if (UCHET) word_s sign_ed; word_s flag_edit=1; word_s flag_ed[4]; /* признак редактирования edit.bin */ edit_doc *p_doc; extern char *cipher_ed; // extern word_s k_alg; // extern s_alg *p_alg; extern gr_cont *p_c_e[]; extern gr_cont * gr_c_p; /* указ.на нач.опис.гpупп контуpов */ word_s sum_edit(word_s nscr); #endif #define nmon tn->tm_mon void str_form1(a_op1 *pf,word_s nscr); /* double change_ed_val(double ed_val,word_s ch,word_s flag);*/ #if (UCHET) extern void light_num_lock(byte cmd); extern void fgtext(word_s c,word_s x,word_s y,char *fmt, ...); void vyv_ch_val(word_s ch,char *buf); char *buf_fmt_ed="%12.2f"; #endif word_s VIEW_PROT( char * im_fail,word_s nscr); void PECH(word_s nscr); /* ******************************************************************** */ word_s VIEW_PROT( char * im_fail,word_s nscr) { word_s k1,k2; #if (UCHET) double val_ed; char buf_ed[13]; word_s ch_ed; word_s h_bin,h_p; #endif tscr->PR_KON=0; tscr->PR_NAC=1; tscr->nh1=0; tscr->pr_offset=0; tscr->vid=par.vid; if (tscr->vid==3) { if (sm[0].l==8 && !SMENA) tscr->pr_offset=0; else tscr->pr_offset=1; } if (tscr->vid==3 || tscr->vid==5) { tscr->T_N_STR=5; tscr->RAZMER=15; tscr->ch_sh=5; } else { if (tscr->vid==6) { #if (UCHET) tscr->T_N_STR=7; tscr->RAZMER=13; tscr->ch_sh=7; #else tscr->T_N_STR=8; tscr->RAZMER=12; tscr->ch_sh=8; #endif } else { tscr->T_N_STR=3; tscr->RAZMER=17; tscr->ch_sh=3; } } // if (tscr->vid==7){ АРХИВ ОПЕРАТОРА // tscr->T_N_STR=0; tscr->RAZMER=20; tscr->ch_sh=0;} if((tscr->hn_prtkl=sopen(im_fail, O_BINARY | O_RDONLY, SH_DENYNO))==-1) { request_resource(ekran,0L); _settextcolor(MAG_BR_); gprintf(ns_1,nc_1+3,"УКАЗАННЫЙ ПРОТОКОЛ ОТСУТСТВУЕТ "); release_resource(ekran); return(0); } if(tscr->vid==1) tscr->size=sizeof(rec_al_ev); else if(tscr->vid==0) tscr->size=sizeof(rec_al_ev); else if(tscr->vid==3) tscr->size=sizeof(tg); else if(tscr->vid==5) tscr->size=sizeof(equip_p); else if(tscr->vid==6) #if(UCHET) tscr->size=sizeof(en_vyv)-1; #else tscr->size=89; #endif else tscr->size=sizeof(a_op1); request_resource(ekran,0L); _setcolor(BLACK_); _rectangle(_GFILLINTERIOR,0,Y_T_SCR,X_SCR,Y_B_SCR-2); _settextcolor(MAG_BR_); gprintf(ns_1,nc_1-11,"ВПЕРЕД,HАЗАД-клавиши \"ЛИСТАHИЕ\"; ВЫХОД-кл.\"ВОЗВРАТ\""); if(tscr->vid==7) tscr->dl_f=(filelength(tscr->hn_prtkl)-sizeof(word_s)) / tscr->size; else tscr->dl_f=filelength(tscr->hn_prtkl) / tscr->size; _settextcolor(BASECOLOR); if (tscr->vid==3) { /* вывод шапки для техн.жуpнала */ for (k1=0;k1<5;k1++) { read(tscr->hn_prtkl,tscr->stroka,tscr->size); if (k1==3) { memcpy(tscr->str_sh,tscr->stroka,tscr->size); form_str(nscr); } if (k1==3 && tscr->pr_offset) gprintf(ns_1+1+k1,1,tscr->str); else { if (tscr->pr_offset && (k1==2 || k1==4)) tscr->stroka[26+79]='\0'; gprintf(ns_1+1+k1,1,tscr->stroka+26); } } } else { /* вывод шапки для пpотокола событий */ if(tscr->vid!=7) { if (tscr->vid==5) k2=5; else if(tscr->vid==6) #if(UCHET) k2=7; #else k2=8; #endif else k2=3; for (k1=0;k1hn_prtkl,tscr->stroka,tscr->size); #if(!UCHET) if (tscr->vid==6 && k1>2) { memcpy(tscr->stroka,tscr->stroka+6,80); tscr->stroka[80]='\0'; } #endif gprintf(ns_1+1+k1,1,tscr->stroka); } } } if (tscr->vid==7) { lseek(tscr->hn_prtkl,0L,SEEK_SET); read(tscr->hn_prtkl,&(tscr->nz),sizeof(word_s)); tscr->RAZMER=20; tscr->ch_sh=0; if (tscr->nz==tscr->dl_f) tscr->nz_b=0; else tscr->nz_b=tscr->nz+1; if (tscr->nz >= tscr->RAZMER) { tscr->T_N_STR=tscr->nz - tscr->RAZMER; tscr->PR_NAC=0; } else { if (tscr->nz==tscr->dl_f) tscr->T_N_STR=0; else{ tscr->T_N_STR=tscr->dl_f-(tscr->RAZMER - tscr->nz); tscr->PR_NAC=0; } } lseek(tscr->hn_prtkl,(long)sizeof(word_s)+(long)tscr->T_N_STR*tscr->size,SEEK_SET); tscr->PR_KON=1; } /* if (tscr->vid==7) { tscr->RAZMER=20; tscr->ch_sh=0; tscr->T_N_STR=0; lseek(tscr->hn_prtkl,(long)sizeof(word_s)+(long)tscr->T_N_STR*tscr->size,SEEK_SET); } */ PECH(nscr); release_resource(ekran); while( ( tscr->kod=read_wpipe(scr_chn[nscr],0*HZ)) !=ESC) { if (endrun) { close(tscr->hn_prtkl); return(-2);} /* завершение комплекса */ var_obj(tscr->kod,nscr); if (list_func(tscr->kod)) { close(tscr->hn_prtkl); request_resource(ekran,0L); _setcolor(BLACK_); _rectangle(_GFILLINTERIOR,(nc_1+1)*DW,(ns_1-1)*DH,(nc_2+38)*DW,(ns_1+2)*DH); open_graph(); release_resource(ekran); return(tscr->kod); } gprintf(3,2," "); if(tscr->kod==PgDn || tscr->kod==PgUp || tscr->kod==Down || tscr->kod==Up) { if(tscr->kod==Down || tscr->kod==PgDn) { if(tscr->kod==Down) tscr->kol_str = 1; else tscr->kol_str = tscr->RAZMER-1; tscr->PR_NAC=0; if (tscr->dl_fRAZMER+tscr->ch_sh) tscr->PR_NAC=1; if (tscr->PR_KON!=1){ tscr->T_N_STR = tscr->T_N_STR + tscr->kol_str; if (tscr->vid==7){ if (tscr->T_N_STR > tscr->dl_f) { if (tscr->dl_f==tscr->nz) tscr->T_N_STR=tscr->dl_f; else tscr->T_N_STR=tscr->T_N_STR - tscr->dl_f; } if (tscr->T_N_STR > tscr->nz && tscr->T_N_STR - tscr->kol_str < tscr->nz) tscr->T_N_STR = tscr->nz; /* gprintf(2,36,"%1d %1d %4d %4d",tscr->PR_NAC,tscr->PR_KON, tscr->T_N_STR,tscr->nz); */ lseek(tscr->hn_prtkl,(long)tscr->size * tscr->T_N_STR + sizeof(word_s),SEEK_SET); } else{ if (tscr->T_N_STR>tscr->dl_f) tscr->T_N_STR=tscr->dl_f; lseek(tscr->hn_prtkl,(long)tscr->size * tscr->T_N_STR,SEEK_SET); } request_resource(ekran,0L); PECH(nscr);release_resource(ekran); } } if(tscr->kod==Up || tscr->kod==PgUp) { if(tscr->kod==Up) tscr->kol_str=1; else tscr->kol_str = tscr->RAZMER-1; tscr->PR_KON=0; if (tscr->dl_fRAZMER+tscr->ch_sh) tscr->PR_KON=1; if (tscr->PR_NAC!=1){ tscr->T_N_STR = tscr->T_N_STR - tscr->kol_str; if (tscr->vid==7) { if ( tscr->T_N_STR <=tscr->ch_sh ) { if (tscr->nz == tscr->dl_f) { tscr->PR_NAC = 1; tscr->T_N_STR = tscr->ch_sh; } else { tscr->PR_NAC = 0; tscr->T_N_STR = tscr->dl_f+tscr->T_N_STR; } } if (tscr->T_N_STR <= tscr->nz_b && tscr->T_N_STR + tscr->kol_str > tscr->nz_b) { tscr->T_N_STR = tscr->nz_b; tscr->PR_NAC = 1; /* _settextcolor(WHITE_); gprintf(3,2,"Начало архива"); */ } /* gprintf(1,36,"%1d %1d %4d %4d",tscr->PR_NAC,tscr->PR_KON, tscr->T_N_STR,tscr->nz); */ lseek(tscr->hn_prtkl,(long)tscr->size * tscr->T_N_STR + sizeof(word_s),SEEK_SET); } else{ if ( tscr->T_N_STR <= tscr->ch_sh ) { tscr->T_N_STR = tscr->ch_sh; tscr->PR_NAC = 1;} lseek(tscr->hn_prtkl,(long)tscr->size * tscr->T_N_STR,SEEK_SET); } request_resource(ekran,0L); PECH(nscr); release_resource(ekran); } } } if ((tscr->kod==Left || tscr->kod==Right) && tscr->vid==3 && tscr->pr_offset) { if (tscr->kod==Left) /* стpелка влево */ { if (tscr->nh1) tscr->nh1--; } if (tscr->kod==Right) /* стpелка впpаво */ { if (sm[0].l==12 && !SMENA ) #if (ITOG) {if (tscr->nh1 <2) tscr->nh1++;} #else {if (tscr->nh1<1) tscr->nh1++;} #endif else #if (ITOG) {if (tscr->nh1 < sm[0].l-4) tscr->nh1++;} #else {if (tscr->nh1 < sm[0].l-5) tscr->nh1++;} #endif } memcpy(tscr->stroka,tscr->str_sh,tscr->size); form_str(nscr); request_resource(ekran,0L); _settextcolor(BASECOLOR); gprintf(ns_1+4,1,tscr->str); release_resource(ekran); lseek(tscr->hn_prtkl,(long) tscr->size * tscr->T_N_STR,SEEK_SET); request_resource(ekran,0L); PECH(nscr);release_resource(ekran); } /******************************************/ #if (UCHET) #if (ARH_MOD) if ((tscr->kod==ENTER || (t_kbd && tscr->kod==Ent_grey)) && tscr->vid==6 && !flag_ed[nscr]) { if ( (p_doc=(edit_doc *) calloc(1,sizeof(edit_doc)))==NULL ) return -37; /* нет памяти */ if((h_bin = sopen( "edit.bin",O_BINARY|O_RDWR,SH_DENYNO, S_IREAD|S_IWRITE))!=-1) { flag_ed[0]=flag_ed[1]=1; lseek(h_bin,(par.spisok_n_gr[0]-1)*sizeof(edit_doc),SEEK_SET); read(h_bin,p_doc,sizeof(edit_doc)); if (!p_doc->flag) { tscr->T_N_STR = tscr->dl_f-11; lseek(tscr->hn_prtkl,(long) tscr->size * tscr->T_N_STR,SEEK_SET); tscr->PR_NAC=0; request_resource(ekran,0L); PECH(nscr); memset(tscr->buf_ent,'0',12); tscr->buf_ent[8]='.'; tscr->buf_ent[0]='+'; /* tscr->buf_ent[11]='\0';*/ tscr->ch_ent=0; if(!t_kbd) tscr->flag_NumLock=0; ch_ed=0; _settextcolor(7); gprintf(23,3,"ВВЕДИТЕ ПОПРАВКУ:"); _setcolor(WHITE_); _rectangle(_GBORDER,20*DW-5,22*DH-4,31*DW+1,23*DH); vyv_ch_val(tscr->ch_ent,tscr->buf_ent) ; release_resource(ekran); while(ch_ed!=12 && ( tscr->kod=read_wpipe(scr_chn[nscr],0*HZ)) !=ESC ) { if (endrun) { close(tscr->hn_prtkl); return(-2);} /* завершение комплекса */ var_obj(tscr->kod,nscr); if(((tscr->kod!=0x0d) && t_kbd) || ((tscr->kod!=0x4c) && !t_kbd)) { if (list_func(tscr->kod)) { close(tscr->hn_prtkl); close(h_bin); free(p_doc); request_resource(ekran,0L); _setcolor(BLACK_); _rectangle(_GFILLINTERIOR,(nc_1+1)*DW,(ns_1-1)*DH,(nc_2+38)*DW,(ns_1+2)*DH); open_graph(); release_resource(ekran); if(tscr->flag_NumLock && !t_kbd) light_num_lock(0); flag_ed[0]=flag_ed[1]=0; return(tscr->kod); } } if ((tscr->kod==0x45) && !t_kbd) { if (tscr->flag_NumLock){ tscr->flag_NumLock=0; light_num_lock(0);} else{ tscr->flag_NumLock=1; light_num_lock(2);} } if ((tscr->kod==ENTER) || ((tscr->kod==Ent_grey) && t_kbd)) ch_ed=12; if (tscr->kod==Left && (t_kbd || !tscr->flag_NumLock)) { if(tscr->ch_ent) { if (tscr->ch_ent==9) tscr->ch_ent=7; else tscr->ch_ent--; } vyv_ch_val(tscr->ch_ent,tscr->buf_ent) ; } if (tscr->kod==Right && (t_kbd || !tscr->flag_NumLock)) { if(tscr->ch_ent<10){ if(tscr->ch_ent==7) tscr->ch_ent=9; else tscr->ch_ent++; } vyv_ch_val(tscr->ch_ent,tscr->buf_ent) ; } if (tscr->kod==SPOINT) { if (!ch_ed){ memset (tscr->buf_ent+1,'0',7); tscr->buf_ent[8]='.'; } if (tscr->ch_ent<=7) tscr->ch_ent=9; vyv_ch_val(tscr->ch_ent,tscr->buf_ent) ; } if (tscr->kod==SPLUS && !tscr->ch_ent){ tscr->buf_ent[0]='+'; tscr->ch_ent=1; vyv_ch_val(tscr->ch_ent,tscr->buf_ent) ; } if (tscr->kod==SMIN && !tscr->ch_ent){ tscr->buf_ent[0]='-'; tscr->ch_ent=1; vyv_ch_val(tscr->ch_ent,tscr->buf_ent) ; } if((tscr->kod==S0 || tscr->kod==S1 || tscr->kod==S2 || tscr->kod==S3 || tscr->kod==S4 || tscr->kod==S5 || tscr->kod==S6 || tscr->kod==S7 || tscr->kod==S8 || tscr->kod==S9) && tscr->ch_ent && tscr->ch_ent!=8 && (t_kbd || tscr->flag_NumLock)) { switch(tscr->kod){ case S0: tscr->buf_ent[tscr->ch_ent]='0'; break; case S1: tscr->buf_ent[tscr->ch_ent]='1'; break; case S2: tscr->buf_ent[tscr->ch_ent]='2'; break; case S3: tscr->buf_ent[tscr->ch_ent]='3'; break; case S4: tscr->buf_ent[tscr->ch_ent]='4'; break; case S5: tscr->buf_ent[tscr->ch_ent]='5'; break; case S6: tscr->buf_ent[tscr->ch_ent]='6'; break; case S7: tscr->buf_ent[tscr->ch_ent]='7'; break; case S8: tscr->buf_ent[tscr->ch_ent]='8'; break; case S9: tscr->buf_ent[tscr->ch_ent]='9'; break; } if (tscr->ch_ent<10) tscr->ch_ent++; if (tscr->ch_ent==8) tscr->ch_ent++; vyv_ch_val(tscr->ch_ent,tscr->buf_ent) ; ch_ed=1; } } if (tscr->kod!=ESC) { sscanf(tscr->buf_ent,"%lf",&p_doc->ed_g[nmon].val_cur); p_doc->ed_g[nmon].val+=p_doc->ed_g[nmon].val_cur; buf_ed[12]='\0'; sprintf(buf_ed,buf_fmt_ed,p_doc->ed_g[nmon].val); sscanf(buf_ed,"%lf",&p_doc->ed_g[nmon].val); // arc_op( cipher_ed, 63, nmon, (float)p_doc->ed_g[nmon].val_cur); lseek(h_bin,(par.spisok_n_gr[0]-1)*sizeof(edit_doc),SEEK_SET); write(h_bin,p_doc,sizeof(edit_doc)); if((h_p = sopen( im_fail,O_BINARY|O_RDWR,SH_DENYNO, S_IREAD|S_IWRITE))!=-1) { /* sprintf(buf_ed, buf_fmt_ed, p_doc->ed_g[nmon].val);*/ lseek(h_p, (long)(-tscr->size) * 8+4,SEEK_END); write(h_p,buf_ed,12); lseek(h_p, (long)(-tscr->size) * 10+4,SEEK_END); read(h_p,buf_ed,12); buf_ed[12]='\0'; sscanf(buf_ed,"%lf",&val_ed); sprintf(buf_ed,buf_fmt_ed, val_ed + p_doc->ed_g[nmon].val); lseek(h_p, (long)(-tscr->size) * 6+4,SEEK_END); write(h_p,buf_ed,12); close(h_p); tscr->T_N_STR = tscr->dl_f-11; lseek(tscr->hn_prtkl,(long) tscr->size * tscr->T_N_STR,SEEK_SET); tscr->PR_NAC=0; request_resource(ekran,0L); PECH(nscr); release_resource(ekran); } val_ed=p_doc->ed_g[nmon].val_cur; k1=1; k2=0; while (k1){ if (k2!=par.spisok_n_gr[0]-1){ lseek(h_bin,k2*sizeof(edit_doc),SEEK_SET); k1=read(h_bin,p_doc,sizeof(edit_doc)); if (p_doc->flag){ if (sum_edit(nscr)) { p_doc->ed_g[nmon].val_cur = val_ed; p_doc->ed_g[nmon].val += p_doc->ed_g[nmon].val_cur; lseek(h_bin,k2*sizeof(edit_doc),SEEK_SET); write(h_bin,p_doc,sizeof(edit_doc)); } } } k2++; } } close(h_bin); free(p_doc); if (tscr->kod!=ESC) flag_edit=1; if (tscr->flag_NumLock && !t_kbd) light_num_lock(0); request_resource(ekran,0L); _setcolor(BLACK_); _rectangle(_GFILLINTERIOR,2*DW,22*DH-4,31*DW+1,23*DH); release_resource(ekran); } close(h_bin);free(p_doc); } free(p_doc); flag_ed[0]=flag_ed[1]=0; } #endif #endif /******************************/ } close(tscr->hn_prtkl); if(tscr->kod==ESC) { request_resource(ekran,0L); _setcolor(BLACK_);_rectangle(_GFILLINTERIOR,0,Y_T_SCR-1,X_SCR,Y_B_SCR-2); release_resource(ekran); return(0); } return 0; } /* ******************************************************************** */ void PECH(word_s nscr) { word_s i,j,sstt; for(i=0;iRAZMER;i++) { tscr->k = read (tscr->hn_prtkl,tscr->stroka,tscr->size); #if(!UCHET) if(tscr->vid==6) memcpy(tscr->stroka,tscr->stroka+6,80); #endif if( (tscr->k<=0 ) || (tscr->vid==7 && tscr->T_N_STR+i==tscr->nz && tscr->dl_f!=tscr->nz && i)) { if ( tscr->k<=0 && tscr->vid==7 && tscr->dl_f!=tscr->nz){ lseek(tscr->hn_prtkl, (long)sizeof(word_s), SEEK_SET); tscr->k = read (tscr->hn_prtkl,tscr->stroka,tscr->size); } else{ /* _settextcolor(WHITE_); gprintf(3,2,"Конец архива %2d ",i); */ tscr->PR_KON=1; for(j=i;jRAZMER;j++) { if (tscr->vid==3 || tscr->vid==5){ xl=0; yl=(8+j)*DH; xr=X_SCR; yr=(9+j)*DH;} else if (tscr->vid==6) #if(UCHET) { xl=0; yl=(10+j)*DH; xr=X_SCR; yr=(11+j)*DH;} #else { xl=0; yl=(11+j)*DH; xr=X_SCR; yr=(12+j)*DH;} #endif else{ if(tscr->vid==7){ xl=0; yl=(3+j)*DH; xr=X_SCR; yr=(4+j)*DH;} else{ xl=0; yl=(6+j)*DH; xr=X_SCR; yr=(7+j)*DH;} } _setcolor(BLACK_); _rectangle( _GFILLINTERIOR, xl,yl,xr,yr); } return; } } _settextcolor(BASECOLOR); if (tscr->vid==3 && tscr->pr_offset) form_str(nscr); tscr->stroka[tscr->size]='\0'; if (tscr->vid==7){ str_form1((a_op1 *)tscr->stroka, nscr); tscr->str[79]='\0'; } if (tscr->vid==3 || tscr->vid==5){ xl=0; yl=(8+i)*DH; xr=X_SCR; yr=(9+i)*DH;} else if (tscr->vid==6) #if(UCHET) {xl=0; yl=(10+i)*DH; xr=X_SCR; yr=(11+i)*DH;} #else {xl=0; yl=(11+i)*DH; xr=X_SCR; yr=(12+i)*DH;} #endif else{ if (tscr->vid!=7){ xl=0; yl=(6+i)*DH; xr=639; yr=(7+i)*DH;} else{ xl=0; yl=(3+i)*DH; xr=639; yr=(4+i)*DH;} } _setcolor(0);_rectangle( _GFILLINTERIOR, xl,yl,xr,yr); if(tscr->vid==0 || tscr->vid==1) { gprintf(ns_1+4+i,1,tscr->stroka); } if(tscr->vid==3 || tscr->vid==5 || tscr->vid==6) { if (tscr->vid==6) #if(UCHET) sstt=ns_1+8+i; #else sstt=ns_1+9+i; #endif else sstt=ns_1+6+i; if (tscr->vid==5 || tscr->vid==6) gprintf(sstt,1,tscr->stroka); else{ if (tscr->pr_offset) gprintf(sstt,1,tscr->str); else gprintf(sstt,1,tscr->stroka+26); } } if (tscr->vid==7){ gprintf(ns_1+1+i,1,tscr->str); } } } /* ******************************************************************** */ #if (UCHET) void form_str(word_s nscr) { memcpy(tscr->str,tscr->stroka+26,20); #if (ITOG) memcpy(tscr->str+20,tscr->stroka+46+ tscr->nh1*d_h*12 ,48); memcpy(tscr->str+68,tscr->stroka+sizeof(tg)-12,12); #else memcpy(tscr->str+20,tscr->stroka+46+ tscr->nh1*d_h*12 ,60); #endif /* memcpy(tscr->str+70,tscr->stroka+sizeof(tg)-10,10);*/ tscr->str[79]='\0'; } #else void form_str(word_s nscr) { memcpy(tscr->str,tscr->stroka+26,10); #if (ITOG) memcpy(tscr->str+10,tscr->stroka+36+ tscr->nh1*d_h*12 ,48); memcpy(tscr->str+58,tscr->stroka+sizeof(tg)-22,12); #else memcpy(tscr->str+10,tscr->stroka+36+ tscr->nh1*d_h*12 ,60); #endif memcpy(tscr->str+70,tscr->stroka+sizeof(tg)-10,10); tscr->str[79]='\0'; } #endif /*-------------------------------------------------------------------*/ void str_form1(a_op1 *pf,word_s nscr) { word_s i; char *op; memset(tscr->str,' ',80); sprintf(tscr->str,"%02x-%02x-%02x",pf->day,pf->mon,pf->year); sprintf(tscr->str+9,"%02x:%02x:%02x %s",pf->hour,pf->min,pf->sec,pf->str); for(i=0; i < 80; i++) if(tscr->str[i]==0) tscr->str[i]=' '; } /*------------------------------------------------------------------- double change_ed_val(double ed_val,word_s ch,word_s flag){ switch (ch){ case 4: if (flag) {if (ed_val<9999) ed_val=ed_val+1;} else if (ed_val>=1) ed_val=ed_val-1; break; case 3: if (flag) {if (ed_val+10<9999) ed_val=ed_val+10;} else if(ed_val>=10) ed_val=ed_val-10; break; case 2: if (flag) {if(ed_val+100<9999) ed_val=ed_val+100;} else if (ed_val>=100) ed_val=ed_val-100; break; case 1: if (flag) {if (ed_val<9000) ed_val=ed_val+1000;} else {if (ed_val>=1000) ed_val=ed_val-1000;} break; case 6: if (flag) {if (ed_val<9999.9) ed_val=ed_val+0.1;} else {if (ed_val>=0.1) ed_val=ed_val-0.1;} break; case 7: if (flag) {if (ed_val<9999.99) ed_val=ed_val+0.01;} else { if (ed_val>=0.01) ed_val=ed_val-0.01; else {ed_val=0.0; sign_ed=1;} } break; } if (ed_val>9999.99) ed_val=9999.99; return ed_val; } *********************************/ #if (UCHET) void vyv_ch_val(word_s ch,char *buf) { word_s i,col; for (i=0;i<11;i++){ if (i==ch) { _setcolor(WHITE_); _rectangle(_GFILLINTERIOR,(20+i)*DW,22*DH,(21+i)*DW,23*DH-2); col=BLACK_; } else { _setcolor(BLACK_); _rectangle(_GFILLINTERIOR,(20+i)*DW,22*DH,(21+i)*DW,23*DH-2); col=WHITE_; } fgtext(col,(20+i)*DW,22*DH,"%c",buf[i]); } _setcolor(BLACK_); } word_s sum_edit(word_s nscr) { word_s i,j,z,kz=0; analog *a_ptr_edit; s_alg *p_alg_edit; for (j=0; jcipher,(gr_c_p+j)->cipher,9)) { for (i=0; inomk))->a_ptr; if (!memcmp((a_ptr_edit+((p_alg+i)->nomz))->cipher, (gr_c_p+j)->ciph_par[0],10) ) { p_alg_edit=p_alg+i; for (z=0; z<8; z++) { if ((p_alg_edit->vhod[z]).tip!=9) { a_ptr_edit=(c_ptr+((p_alg+i)->vhod[z].nc))->a_ptr; if (!memcmp((a_ptr_edit+((p_alg+i)->vhod[z].nz))->cipher, p_c_e[nscr]->ciph_par[0],10) ) { kz=1; break; } } } break; } } break; } } return kz; } #endif