/***************************************************************************/ // "Меркурий"-"Правда" - open source переводчик // распространяется в соответсвии с лицензией GNU v 2.0 // // удобные штучки для интерфейса // Анисимов Д.В. сегодня /***************************************************************************/ # include # include # include # include "mylib.h" # include "video.h" # include "color.h" # include "window.h" short kommand_yxf1( short y, short x, char **str, short n_str ); e_WinMsg kommand_yxf( short y, short x, char f, char *str, short lenght, char EIN, char **str1=NULL, short n_str1=0 ); /***************************************************************************/ // Выдать сообщение или ошибку // flag 0-ошика 1-сообщение /***************************************************************************/ short my_figna( char *str, char flag ) { short i,j,x,y,y_i,n_str,l_str,r1,sx,sy ; short key1,key2 ; char str1[80] ; j=0 ; l_str=0 ; for( n_str=1,i=0 ; i<512 ; i++ ) { if( str[i]==0 ) { if( i-j>l_str ) l_str=i-j ; break ; } if( str[i]=='\n' ) { if( i-j>l_str ) l_str=i-j ; n_str++ ; j=i ; } } s_get_size( sx, sy ); x=sx/2-l_str/2-1 ; y=sy/2-n_str/2-2 ; if( flag!=1 ) s_save( y,x,y+n_str+1,x+l_str+2 ) ; s_rame1_F( y,x,y+n_str+1,x+l_str+2,0x70 ) ; for( y_i=0,r1=0 ; y_i0 ) p-- ; break ; case S_key_Right: if( ZZ&(S_Ctrl_L|S_Ctrl_R) ) return WM_NEXT ; if( p=L ) break ; for( i=p ; i0) /* Zuruck */ { for( i=(--p) ; i=p ; i-- ) str[i+1]=str[i] ; str[p]=(char )key1 ; p++ ; L++ ; }else if( p=p ; i-- ) str[i+1]=str[i] ; str[p]=(char )key1 ; p++ ; } } if( REG==0 && p=L ){ str[p+1]=0 ; L=p+1 ; } p++ ; } } } } AUSGANG: return WM_OK ; } /***************************************************************************/ // выбор строки из массива предыдущих строк /***************************************************************************/ short kommand_yxf1( short y, short x, char **str, short n_str ) { short i,PY=0 ; short key1,key2 ; char c ; s_save( y,x,y+n_str+1,x+40 ) ; s_rame1_F( y,x,y+n_str+1,x+40,0x70 ) ; while( 1 ) { for( i=0 ; i