UNIT EINGBOX;

(* ******************************************************************** *)
(* K L A S S E : CEingabebox                                            *)
(* -------------------------------------------------------------------- *)
(* Version     : 1.1                                                    *)
(* Autor       : S. Spolwig, OSZ-Handel I,  10997 Berlin                *)
(*                                                                      *)
(* Dateiname   : eingbox.pas                                            *)
(*                                                                      *)
(* Aufgabe     : stellt Textfenster zur Eingabe einer Textzeile zur     *)
(*               Verfuegung.                                            *)
(*               Die zugelassenen Zeichen koennen mit TMuster deklariert*)
(*               werden.                                                *)
(*               Die Fensterlaenge ist dem Text angepasst und ist max.  *)
(*               eine Zeile lang.                                       *)
(*               Wird Textbox ohne Rahmen gewaehlt, wird lediglich die  *)
(*               Textzeile geschrieben                                  *)
(*                                                                      *)
(* Compiler    : Turbo Pascal 7.0 / MSDOS                               *)
(* Aenderung   : V 1.1  - 19-MAY-98   readdefst, Init berichtigt        *)
(* ******************************************************************** *)

INTERFACE
(* ========================== Export ================================== *)

USES TXTBOX;

type
  TMuster     = set of char;   (* die zugelassenen Zeichen *)

  CEingabebox = object (CTextBox)
                   Aufforderung : string;
                   Textlaenge   : integer;
                   Muster       : TMuster;

                   constructor Init (eineXPos,eineYPos,eineLaenge,eineHoehe,
                                    einRahmen : integer; einTitel : string);

                   procedure EingabeInit(eineXPos, eineYPos : integer; einLabel:string;
                                         einMuster: TMuster; TxtLaenge: integer); virtual;

                   procedure TextEinlesen (var tx : string);   virtual;
                   procedure Leeren;                           virtual;

                 private
                   procedure readdefst(spalte,zeile: integer) ;
                end;

var
  Eingabebox : CEingabebox;  (* ist bereits init. mit (3,23,1,1,0,'') *)

(*  ----------------- B e s c h r e i b u n g -------------------------

Oberklasse    : CTextbox
Bezugsklassen : BILDSCHIRM : import Screen
benutze Module: ASCII, CRT


Methoden
--------

Init (eineXPos,eineYPos,eineLaenge,eineHoehe,
      einRahmen : integer; einTitel : string)

   Auftrag: initialisiert CFenster und Farben
   vorher : -
   nachher: Textfarbe ist SCHWARZ, Hintergrundfarbe ist HELLGRAU


EingabeInit (eineXPos, eineYPos : integer; einLabel : string;
             einMuster: TMuster; TxtLaenge: integer)

   Auftrag: initialisiert die Eingabe, um dasselbe Objekt wieder zu benutzen
   vorher : init.
   nachher: -


TextEinlesen (var tx : string)

   Auftrag: Eingabebox zeigen und Text von der Tastatur einlesen
   vorher : -
   nachher: Text steht in tx

----------------------------------------------------------------------- *)

Zurück zur Startseite