/*-------------------------------------------------------------------*/ /* ���� �������� �����. */ /* ッpイカ錺� �矣 � ⑭�p 甃キ� �p� 筮p�p��⑧� 皀絖���メ�� */ /* �p�� � �甄イ⑤� 甃キ�. */ #include "complex.h" #include "shst_prt.h" extern long _ttm; /* 皀�薀� ∇ガ� B PROT.C */ long tn_sm; /* ��� ��pイ⑭� 甃キ� (か� ��� �甄イ⑤� 甃キ�) */ long tk_sm; /* �⑤� ��pイ⑭� 甃キ� (か� ��� �甄イ⑤� 甃キ�) */ extern struct par_prt par;/* 痰珮�窶� ���矗� �������⑧� B FP.C */ extern struct smena sm[4]; /* �瘁│ 甃キ B FP.C */ extern word_s ksmen; /* ��腑痰〓 甃キ B FP.C */ /* extern resourceptr ekran;*/ extern struct tm t_t; /* B PROT.C 皀�薀� */ extern struct tm t_tn; /* B PROT.C ��� �������⑧� */ extern struct tm *t; /* B PROT.C 皀�薀� ∇ガ� */ extern struct tm *tn; /* B PROT.C ∇ガ� ��� �������⑧� */ #define ty t->tm_year /* 皀�薀� */ #define tmon t->tm_mon #define td t->tm_mday #define th t->tm_hour #define tmi t->tm_min #define ts t->tm_sec #define ny tn->tm_year /* ∇ガ� ��� �������⑧� */ #define nmon tn->tm_mon #define nd tn->tm_mday #define nh tn->tm_hour word_s POI_LAST_SMENA(ch_sm) word_s ch_sm; /*word_s pr_p; */ { word_s i,j; long t0_d; /* ��� 皀�薑� 痺皰� (か� ��� �甄イ⑤� 甃キ�) */ long t0_h; /* ��� 皀�薀� �� (か� ��� �甄イ⑤� 甃キ�) */ tn=&t_tn; t=&t_t; time(&_ttm); _ttm=_ttm+(3600L*(long)sm[0].l*ch_sm); /* �ppオ皋p�� �pガキ� か� �pイ. */ /* ��� 甃キ�,� �皰p竡 筮p�.�p��� */ /* t=localtime(&_ttm);*/ t_loct(&_ttm,t); /* ------- ��� 甌�▲矚癶竡薀� 甃キ� � 皀�薑� 痺皖�� ------- */ t0_h = _ttm - ts - tmi * 60L; /* ��� 皀�薀� �� */ t0_d = t0_h - th * 3600L; /* ��� 皀�薑� 痺皰� */ j = 1; for(i=0; i<ksmen; i++) { tn_sm = t0_d + sm[i].h * 3600L; /* ��� 甃キ� */ tk_sm = t0_d + (sm[i].h + sm[i].l) * 3600L; /* �⑤� 甃キ� */ /* ��� 甃キ� < ��� 皀�薀� �� <= �⑤� 甃キ� */ if((tn_sm <= t0_h) && (t0_h < tk_sm)) { ny=ty; nmon=tmon; nd=td; nh=sm[i].h; par.smena=sm[i].nom_sm; j = 0; break; } } if(j==1) /* �甄イ㍼� 甃キ� �腮�モ瘴 � �pイ襪竕� 痺皖�� */ { _ttm -= 3600L * 24L; /* t=localtime(&_ttm); */ t_loct(&_ttm,t); /* �pイ襪竕�� ��(�Ν� ��,�瘴�,ぅ㈹) */ t0_d -= 24L * 3600L; /* ��� �pイ襪竕� 痺皰� */ for(i=0; i<ksmen; i++) { tn_sm = t0_d + sm[i].h * 3600L; /*��� 甃キ�*/ tk_sm = t0_d + (sm[i].h + sm[i].l) * 3600L;/*�⑤� 甃キ�*/ /* ��� 甃キ� < ��� 皀�薀� �� <= �⑤� 甃キ� */ if((tn_sm <= t0_h) && (t0_h < tk_sm)) { ny=ty; nmon=tmon; nd=td; nh=sm[i].h; par.smena=sm[i].nom_sm; j = 0; break; } } } return 0; }