Exemplo n.º 1
0
Arquivo: EDIT.C Projeto: rbe/ancient_c
void status()
{
  _settextwindow(1,1,25,80);
  _settextposition(25,1);
  printf("Datei: %s  |  Zeile: %d/%d",file,von,ges);
  _settextwindow(1,1,24,1);
}
Exemplo n.º 2
0
void cwindow::onpagedown()
{       
	int		i, nmoverows = m_nmaxrows - m_nactiverow + m_nmaxrows;
	
	for(i = 0; i < nmoverows; i ++) //move to next page'end            
	{
		if(m_pitemactive->pnext == NULL) break;
		m_pitemactive = m_pitemactive->pnext;
	}   
	if(m_nactiverow + i <= m_nmaxrows)//this is last a page
	{          
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, TEXTCOLOR, BKCOLOR, m_nmaxcols);
		m_nactiverow += i;
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
		return;
	}
	_settextwindow(m_nrow1 + 1, m_ncol1 + 1, m_nrow2 - 1, m_ncol2 - 1);
	_clearscreen(_GWINDOW);
	for(i = m_nmaxrows; i > 0; i --)//from next page'end to head outtext
	{   
		_settextposition(i, 2);
		_outtext(m_pitemactive->szitemtext);
		if(m_pitemactive->ppre != NULL) m_pitemactive = m_pitemactive->ppre;
	}                                 
	for(i = 0; i < m_nactiverow; i++) //modify pointer 
		m_pitemactive = m_pitemactive->pnext;
	modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
	_settextwindow(1, 1, g_SysInfo.nmaxrows, g_SysInfo.nmaxcols);
}
Exemplo n.º 3
0
void cwindow::writeitem(int nrow,char * szstr)
{
	_settextwindow(m_nrow1 + 1, m_ncol1 + 1, m_nrow2 - 1, m_ncol2 - 1);
	_settextposition(nrow, 2);
	_outtext(szstr);                 
	_settextwindow(1, 1, g_SysInfo.nmaxrows, g_SysInfo.nmaxcols);
}
Exemplo n.º 4
0
void cwindow::onpageup()
{       
	int		i, nmoverows = m_nactiverow - 1 + m_nmaxrows;
	 
	for(i = 0; i < nmoverows; i ++) //move to pre page'head            
	{
		if(m_pitemactive->ppre == NULL) break;
		m_pitemactive = m_pitemactive->ppre;
	}   
	if(m_nactiverow - i == 1)//this is first page 
	{          
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, TEXTCOLOR, BKCOLOR, m_nmaxcols);
		m_nactiverow = 1;
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
		return;
	}
	_settextwindow(m_nrow1 + 1, m_ncol1 + 1, m_nrow2 - 1, m_ncol2 - 1);
	_clearscreen(_GWINDOW);
	for(i = 1; i <= m_nmaxrows; i ++)//from pre page'head to end outtext 
	{   
		_settextposition(i, 2);
		_outtext(m_pitemactive->szitemtext);
		if(m_pitemactive->pnext != NULL) 
			m_pitemactive = m_pitemactive->pnext;
	}                                 
	for(i = 0; i <= m_nmaxrows - m_nactiverow; i++) //modify pointer 
		m_pitemactive = m_pitemactive->ppre;
	modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
	_settextwindow(1, 1, g_SysInfo.nmaxrows, g_SysInfo.nmaxcols);
}
Exemplo n.º 5
0
main()
{
    int i;
    short r1, c1, r2, c2;
    char buf[ 80 ];

    _setvideomode( _TEXTC80 );
    _gettextwindow( &r1, &c1, &r2, &c2 );
    _settextwindow( 5, 20, 20, 40 );
    for( i = 1; i <= 20; ++i ) {
	sprintf( buf, "Line %d\n", i );
	_outtext( buf );
    }
    getch();
    _settextwindow( r1, c1, r2, c2 );
    _setvideomode( _DEFAULTMODE );
}
Exemplo n.º 6
0
void cwindow::onkeyup()
{
	if((m_pitemactive == NULL) ||  (m_pitemactive->ppre == NULL)) return;                                   
	m_pitemactive = m_pitemactive->ppre;
	if(m_nactiverow - 1 < 1)//scroll down 1 row
	{                                                        
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, TEXTCOLOR, BKCOLOR, m_nmaxcols);
		_settextwindow(m_nrow1 + 1, m_ncol1 + 1, m_nrow2 - 1, m_ncol2 - 1);
		_scrolltextwindow(-1);//scroll up 1 row  
		_settextwindow(1, 1, g_SysInfo.nmaxrows, g_SysInfo.nmaxcols);
		writeitem(1, m_pitemactive->szitemtext);
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
	}
    else
    {
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, TEXTCOLOR, BKCOLOR, m_nmaxcols);
		m_nactiverow --;
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
     }
}
Exemplo n.º 7
0
void cwindow::onctrl_home()
{           
	int	i;
	
	_settextwindow(m_nrow1 + 1, m_ncol1 + 1, m_nrow2 - 1, m_ncol2 - 1);
	_clearscreen(_GWINDOW);   
	m_pitemactive = m_pitemhead;
	for(i = 1; i <= m_nmaxrows; i ++)
	{                
		if(i > m_nitemcount) break;
		_settextposition(i, 2);
		_outtext(m_pitemactive->szitemtext);
		if(m_pitemactive->pnext != NULL) 
			m_pitemactive = m_pitemactive->pnext;
	}                                 
	m_pitemactive = m_pitemhead;
	m_nactiverow = 1;
	modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
	_settextwindow(1, 1, g_SysInfo.nmaxrows, g_SysInfo.nmaxcols);
}
Exemplo n.º 8
0
void cwindow::onkeydown()
{                            
	if((m_pitemactive == NULL) || (m_pitemactive->pnext == NULL))
	{
		return;                                   
	}
	m_pitemactive = m_pitemactive->pnext;
	if(m_nactiverow == m_nmaxrows)//scroll up
	{                                                        
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, TEXTCOLOR, BKCOLOR, m_nmaxcols);
		_settextwindow(m_nrow1 + 1, m_ncol1 + 1, m_nrow2 - 1, m_ncol2 - 1);
		_scrolltextwindow(1);//scroll up 1 row  
		_settextwindow(1, 1, g_SysInfo.nmaxrows, g_SysInfo.nmaxcols);
		writeitem(m_nmaxrows, m_pitemactive->szitemtext);
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
	}
    else//normal display
    {
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, TEXTCOLOR, BKCOLOR, m_nmaxcols);
		m_nactiverow ++;
		modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
	}
}
Exemplo n.º 9
0
void main()
{
  _clearscreen(0);
  for (i=0; i<8; i++)
  {
    _settextcolor(i);
    _outtext("FARBTEST!\n");
  }
  _settextwindow(1,10,25,80);
  for (i=8; i<16; i++)
  {
    _settextcolor(i);
    _outtext("FARBTEST!\n");
  }
}
Exemplo n.º 10
0
void cwindow::onctrl_end()
{
	int	i, j;
	
	_settextwindow(m_nrow1 + 1, m_ncol1 + 1, m_nrow2 - 1, m_ncol2 - 1);
	_clearscreen(_GWINDOW);   
	m_pitemactive = m_pitemend;
	for(i = 1; i < m_nmaxrows; i ++)
	{
		if(m_pitemactive->ppre == NULL) break;
		m_pitemactive = m_pitemactive->ppre;   
	}
	for(j = 1; j <= i; j ++)//from next page'end to head outtext
	{   
		_settextposition(j, 2);
		_outtext(m_pitemactive->szitemtext);
		if(m_pitemactive->pnext != NULL) 
			m_pitemactive = m_pitemactive->pnext;
	}                                 
	m_pitemactive = m_pitemend;
	m_nactiverow = i;
	modifyattrib(m_npage, m_nactiverow + m_nrow1, 1 + m_ncol1, SELCOLOR, WHITE, m_nmaxcols);
	_settextwindow(1, 1, g_SysInfo.nmaxrows, g_SysInfo.nmaxcols);
}
Exemplo n.º 11
0
int destroy_windows( void ) {

#ifdef DIAGNOSTICS
   fprintf(stderr, "entering DESTROY_WINDOWS\n");
#endif

   _settextwindow ( 1, 1, 24, 80 );
   _settextposition ( 24, 1 );

#ifdef DIAGNOSTICS
   fprintf(stderr, "exit DESTROY_WINDOWS\n");
#endif

   return ( 0 ) ;
}
void TW_Close_Window(void)
{
   if (TW_anz_fenster>-1)
    {
      /* TM_Prot(); */

      LoadWindow(fenster[TW_anz_fenster].adr,
		 (char)(fenster[TW_anz_fenster].x-1),
		 (char)(fenster[TW_anz_fenster].y-1),
		 (char)(fenster[TW_anz_fenster].br+2),
		 (char)(fenster[TW_anz_fenster].ho+2));
      TW_anz_fenster--;
      if (TW_anz_fenster<0)
	_settextwindow(1,1,25,80);
	else
	_settextwindow((short)(fenster[TW_anz_fenster].y),
		       (short)(fenster[TW_anz_fenster].x),
		       (short)(fenster[TW_anz_fenster].y+
				    fenster[TW_anz_fenster].ho-1),
		       (short)(fenster[TW_anz_fenster].x+
				    fenster[TW_anz_fenster].br-1));
    }
    /* TM_Prot(); */
}
Exemplo n.º 13
0
main()
{
    int i;
    char buf[ 80 ];

    _setvideomode( _TEXTC80 );
    _settextwindow( 5, 20, 20, 40 );
    for( i = 1; i <= 10; ++i ) {
	sprintf( buf, "Line %d\n", i );
	_outtext( buf );
    }
    getch();
    _scrolltextwindow( _GSCROLLDOWN );
    getch();
    _scrolltextwindow( _GSCROLLUP );
    getch();
    _setvideomode( _DEFAULTMODE );
}
Exemplo n.º 14
0
Arquivo: EDIT.C Projeto: rbe/ancient_c
void quit()
{
   _settextwindow(1,1,25,80);
   printf("\nEDIT -- %s",RB_COPYRIGHT);
   exit(0);
}
Exemplo n.º 15
0
int create_window( Window how_big, char *title, short border_color,
                    long background_color, short foreground_color ) {
   static int window_counter;
   int i, j;

#ifdef DIAGNOSTICS
   fprintf(stderr, "entering CREATE_WINDOW\n");
#endif

   _settextwindow(how_big.row1-1, how_big.col1-1, how_big.row2+1, how_big.col2+1);
   _wrapon ( _GWRAPOFF );
   _setbkcolor ( background_color );
   _clearscreen ( _GWINDOW );
   _settextwindow(how_big.row1-1, how_big.col1-1, how_big.row2+2, how_big.col2+4);

   _settextcolor( border_color );
   _settextposition(1,1);
   _outtext("É");
   for (i=1; i<=(how_big.col2-how_big.col1) / 2 - strlen(title) / 2 - 1; i++)
      _outtext("Í");
   if ( strlen ( title ) % 2 == 0 )
      _outtext("Í");
   _outtext(" ");
   _settextcolor( BRIGHT_WHITE );
   _outtext(strupr(title));
   _settextcolor( border_color );
   _outtext(" ");
   for (i=1; i<=(how_big.col2-how_big.col1) / 2 - strlen(title) / 2 - 1; i++)
      _outtext("Í");
   if ( strlen ( title ) % 2 == 0 )
      _outtext("Í");
   _outtext("»");

   for (j=2; j<=how_big.row2-how_big.row1+2; j++) {
      _settextposition(j, 1);
      _outtext("º");
      _settextposition(j, how_big.col2-how_big.col1+3);
      _outtext("º");
   }

   _settextposition(how_big.row2-how_big.row1+3, 1);
   _outtext("È");
   for (i=1; i<=how_big.col2-how_big.col1+1; i++)
      _outtext("Í");
   _outtext("¼");

   /*
   **  Draw shadows (shadows are necessary to avoid end-of-window wrapping).
   */

   _setbkcolor ( BLACK );
   for (i=2; i<=how_big.row2+2; i++) {
      _settextposition ( i, how_big.col2-how_big.col1+4 );
      _outtext ( "  " );
   }
   for (j=2; j<=how_big.col2-how_big.col1+3; j++) {
      _settextposition ( how_big.row2+2, j );
      _outtext ( " " );
   }

   _setbkcolor ( background_color );
   _settextcolor ( foreground_color );

   _settextwindow(how_big.row1, how_big.col1, how_big.row2, how_big.col2);
   _settextposition(1,1);

   return(0);

#ifdef DIAGNOSTICS
   fprintf(stderr, "exit CREATE_WINDOW\n");
#endif

   return(window_counter++);
}
char TW_Open_Window (char x,char y,char br,char ho,char rahmen,
		     char titelart,char ofs,char *titel)
{
   unsigned char _far *adr;
   char ret=0,z,zw,
	rstr[11];

   /* TM_Prot(); */
   _settextwindow(1,1,25,80);
   adr=SaveWindow((char)(x-1),(char)(y-1),(char)(br+2),(char)(ho+2));
   if (adr!=NULL)
     {
       TW_anz_fenster++;
       ret=1;
       fenster[TW_anz_fenster].x=x;
       fenster[TW_anz_fenster].y=y;
       fenster[TW_anz_fenster].ho=ho;
       fenster[TW_anz_fenster].br=br;
       fenster[TW_anz_fenster].adr=adr;

       switch(rahmen)
	 {
	   case  TW_RAHMEN_S1:strcpy(rstr,"дЁз©ыю╢цаб");
			      break;
	   case  TW_RAHMEN_D1:strcpy(rstr,"м╨и╩╪х╣фпр");
			      break;
	   case  TW_RAHMEN_D2:strcpy(rstr,"мЁу╦╬т╢цаб");
			      break;
	   default:strcpy(rstr,"          ");
	 }

       _settextposition(y-1,x-1);
       printchar(rstr[2]);
       _settextposition(y-1,x+br);
       printchar(rstr[3]);
       _settextposition(y+ho,x+br);
       printchar(rstr[4]);
       _settextposition(y+ho,x-1);
       printchar(rstr[5]);
       for (z=x;z<x+br;z++)
	 {
	    _settextposition(y-1,z);
	    printchar(rstr[0]);
	    _settextposition(y+ho,z);
	    printchar(rstr[0]);
	 }
       for (z=y;z<y+ho;z++)
	 {
	    _settextposition(z,x-1);
	    printchar(rstr[1]);
	    for (zw=1;zw<=br;zw++)
		_outtext(" ");
	    printchar(rstr[1]);
	 }

       /* Titel setzten */
	if (strcmp(titel,""))
	{
	  switch (titelart)
	    {
	      case TW_TITEL_OBEN:
		   {
		     _settextposition(y-1,x+ofs);
		     printchar(rstr[6]);
		     _outtext(titel);
		     printchar(rstr[7]);
		   }
		   break;
	      case TW_TITEL_UNTEN:
		   {
		     _settextposition(y+ho,x+ofs);
		     printchar(rstr[6]);
		     _outtext(titel);
		     printchar(rstr[7]);
		   }
		   break;
	      case TW_TITEL_RECHTS:
		   {
		     _settextposition(y+ofs,x-1);
		     printchar(rstr[8]);
		     for (z=1;(size_t)z<strlen(titel);z++)
			{
			  _settextposition(y+ofs+z,x-1);
			  printchar(titel[z]);
			}
		     _settextposition(y+ofs+z,x-1);
		     printchar(rstr[9]);
		   }
		   break;
	      case TW_TITEL_LINKS:
		   {
		     _settextposition(y+ofs,x+br);
		     printchar(rstr[8]);
		     for (z=1;(size_t)z<strlen(titel);z++)
			{
			  _settextposition(y+ofs+z,x+br);
			  printchar(titel[z]);
			}
		     _settextposition(y+ofs+z,x+br);
		     printchar(rstr[9]);
		   }
		   break;
	    }  /*von SWITCH */
	}   /*von IF*/

       _settextwindow((short)y,
		       (short)x,
		       (short)(y+ho-1),
		       (short)(x+br-1));
     }

   /* TM_Prot(); */
   return(ret);
 }
Exemplo n.º 17
0
void
progressbar (int current, int total)
{
  /* display a progress bar on screen */

  char bar[51];
  int percent;
  int width;
  int col;
  int row;

  /* assumes current >= 0, current <= total, and both current & total
     are non-negative, otherwise behavior may not be as expected. */

  if (total > 0)
    {
      percent = 100 * current / total;
    }
  else
    {
      percent = 0;
    }

  if (percent < 0)
    {
      percent = 0;
    }
  else if (percent > 100)
    {
      percent = 100;
    }

  width = percent / 2;

  /* generate a string to display */

  for (col = 0; col < width; col++)
    {
      /* bar[col] = '#'; */
      bar[col] = 219;				/* filled box */
    }

  for ( ; col < 50; col++)
    {
      /* bar[col] = '-'; */
      bar[col] = 176;				/* shaded box */
    }

  bar[50] = 0;

  /* print the string */

  /* bar is 50 cols wide, so offset is 80 - 50 = 30 ; 30 / 2 = 15 */

  _settextwindow (15,1 , 20,80);		/* y1,x1 , y2,x2 */

  _settextcolor (_YELLOW_);
  _setbkcolor (_BLUE_);

  /* only initalize/clear screen if 'current' is 0 */

  if (current == 0)
    {
      _clearscreen (_GWINDOW);
    }

  for (row = 1; row <= 3; row++)
    {
      _settextposition (row, 15);		/* relative to window */
      cputs (bar);
    }

  _settextposition (3, 67);			/* relative to window */
  cprintf ("%d%%", percent);
}