mxVT.c


/* mxVT.c */

#include "mxVT.h"
#include "mxSeriell.h"
#include "mxKontrolle.h"
#include "mxStrukturen.h"
#include "mxTrap.h"

/**********************
** Globale Variablen **
**********************/
int VT_Abbruch;                                                         /* Gibt an, ob der Benutzer MinMax mit CTRL-C   */
                                                                        /* terminieren will                             */

/* -------------------------------------------------------------------------------------------------------------------- */
/***************
** Funktionen **
***************/

void Loeschen(void)
{
  ProzesswechselUnterbinden();
  SchreibSeriell(cESC);                                                 /* VT-100-Steuersequenz ausgeben                */
  SchreibSeriell('[');
  SchreibSeriell('2');
  SchreibSeriell('J');
  ProzesswechselZulassen();
} /* Loeschen */

/* -------------------------------------------------------------------------------------------------------------------- */

void SchreibZahl(int i)
/*
 * Gibt die uebergebene Zahl als Dezimalzahl aus
 */
{
  int Divi;

  if (i == 0) {
    SchreibSeriell('0');
  } else {
    Divi = 10000;
    while ((i / Divi) == 0 ) {
      Divi = (Divi / 10);
    }
    do {
      SchreibSeriell((char) ( i / Divi + ('0')));
      i = (i % Divi);
      if (Divi == 1) {
        Divi = 0;
      } else {
        Divi = (Divi / 10);
      }
    } while (!(Divi == 0));
  }
} /* SchreibZahl */

/* -------------------------------------------------------------------------------------------------------------------- */

void Position(int X, int Y)
/*
 * positioniert den Curser in Spüalte X, Zeile Y
 */
{
  ProzesswechselUnterbinden();
  SchreibSeriell(cESC);                                                 /* VT-100-Steuersequenz ausgeben                */
  SchreibSeriell('[');
  SchreibZahl(Y);
  SchreibSeriell(';');
  SchreibZahl(X);
  SchreibSeriell('H');
  ProzesswechselZulassen();
} /* Position */

/* -------------------------------------------------------------------------------------------------------------------- */

void ScrollRegion(int OG, int UG)
{
  ProzesswechselUnterbinden();
  SchreibSeriell(cESC);                                                 /* VT-100-Steuersequenz ausgeben                */
  SchreibSeriell('[');
  SchreibZahl(OG);
  SchreibSeriell(';');
  SchreibZahl(UG);
  SchreibSeriell('r');
  ProzesswechselZulassen();
} /* ScrollRegion */


/* -------------------------------------------------------------------------------------------------------------------- */

void Invers(void)
{
  ProzesswechselUnterbinden();
  SchreibSeriell(cESC);                                                 /* VT-100-Steuersequenz ausgeben                */
  SchreibSeriell('[');
  SchreibZahl(7);
  SchreibSeriell('m');
  ProzesswechselZulassen();
} /* Invers */

/* -------------------------------------------------------------------------------------------------------------------- */

void AttributeReset(void)
{
  ProzesswechselUnterbinden();
  SchreibSeriell(cESC);                                                 /* VT-100-Steuersequenz ausgeben                */
  SchreibSeriell('[');
  SchreibZahl(0);
  SchreibSeriell('m');
  ProzesswechselZulassen();
} /* AttributeReset */

/* -------------------------------------------------------------------------------------------------------------------- */

int InitVT(void)
{
  VT_Abbruch = FALSE;

  return TRUE;
}


Bei Problemen mit der Seite bitte eine Mail an Marek
Converted with C2HTML V0.669 by Iluvatar
Prozeßdatenverarbeitung