/***************************************************************************/ // "Меркурий"-"Правда" - open source переводчик // распространяется в соответсвии с лицензией GNU v 2.0 // // данные, для отображения подсказки // Анисимов Д.В. сегодня /***************************************************************************/ # include # ifndef __WIN__ # include #endif # include # include # include # include extern char *HelpDir ; /***************************************************************************/ long FileToWord( char *File, char ***_Str ) { long i,j,L ; char *m,**ss ; L=file_to_mass( File, &m ); for( i=0 ; i> mkhelp.tmp",Path ); system( Str ); n_File=FileToWord( "mkhelp.tmp",&ss ); File=(t_HelpFile *)Calloc( n_File,sizeof(t_HelpFile) ); for( i=0 ; i" ,5) ) { f=1 ; i+=5 ; } if( 0==strncmp(Text+i,"",6) ) break ; if( 0==strncmp(Text+i,"" ,3) ) { Text[j++]=3 ; i+=3 ; } if( 0==strncmp(Text+i,"",4) ) { Text[j++]=1 ; i+=4 ; } if( 0==strncmp(Text+i,"",4) ) { Text[j++]=1 ; i+=3 ; continue ; } if( f==1 ) Text[j++]=Text[i] ; } Text[j]=0 ; File[i_File].Text =Text ; File[i_File].l_Text=j ; } /******************************************************************************/ void t_HelpData :: mk_href( void ) { long i,i1,z,z1 ; char *Str ; for( i=0 ; i' ) { z=i1 ; break ; } // ------- проставить файл и позицию -------------- z1=find_link( Link[i].Name ); if( 0<=z1 ) { Link[i].i_file=Link1[z1].i_file ; Link[i].i_pos =Link1[z1].i_pos ; } strcpy( Str,Str+z+1 ); } } /******************************************************************************/ long t_HelpData :: find_link( char *Str ) { char *Str1="" ; long i,i_File=-1 ; for( i=0 ; Str[i]!=0 ; i++ ) if( Str[i]=='"' ) { Str[i]=0 ; break ; } for( i=0 ; Str[i]!=0 ; i++ ) if( Str[i]=='#' ) { Str[i]=0 ; Str1=Str+i+1 ; } for( i=0 ; i