00001
00002
00003
00004
00005 #include <OFONT.H>
00006 #include <OINFO.H>
00007 #include <OFINANCE.H>
00008
00009 #include <ONEWS.H>
00010
00011
00012
00013
00014
00015
00016 NewsArray::NewsArray() : DynArray(sizeof(News), 100) {
00017 }
00018
00019
00020
00021
00023
00024 reset();
00025 }
00026
00027
00028
00029
00031
00032 reset();
00033 }
00034
00035
00036
00037
00041
00042 zap();
00043
00044 last_clear_recno = 0;
00045 news_add_flag = 1;
00046
00047 default_setting();
00048 }
00049
00050
00051
00052
00056
00057 news_type_option[NEWS_NORMAL]=1;
00058
00059 news_who_option = NEWS_DISP_ALL;
00060 }
00061
00062
00063
00064
00071
00072 News* newsPtr;
00073
00074 for( int i=size() ; i>0 ; i-- ) {
00075 newsPtr = news_array[i];
00076
00077 if( newsPtr->id == newsId &&
00078 newsPtr->short_para1 == shortPara1 ) {
00079 linkout(i);
00080
00081
00082
00083 if( i<=last_clear_recno && last_clear_recno > 0 )
00084 last_clear_recno--;
00085
00086
00087 break;
00088 }
00089 }
00090 }
00091
00092
00093
00094
00095
00096 News* NewsArray::operator[](int recNo) {
00097 #ifdef DEBUG
00098
00099 News* msgPtr;
00100
00101 if( recNo )
00102 msgPtr = (News*) get(recNo);
00103 else
00104 msgPtr = NULL;
00105
00106 err_if( !msgPtr || msgPtr->news_date==0 )
00107 err_now( "NewsArray[] is deleted" );
00108
00109 return msgPtr;
00110
00111 #else
00112
00113 return (News*) get(recNo);
00114 #endif
00115 }
00116
00117