                                  - TOC-   1 -





 TDoubleValidator.Done-Destruktor .....................................      1
 GvCombo ..............................................................      1
 TDoubleValidator.Init-Konstruktor ....................................      1
 TDoubleValidator.IsValid-Methode .....................................      1
 TDoubleValidator-Objekt  (Unit GvCombo) ..............................      1
 TDoubleValidator.Val1-Feld ...........................................      1
 TDoubleValidator.Val2-Feld ...........................................      1
 TDoubleValidator.IsValidInput-Methode ................................      2
 TLinkedStringLookUpValidator.ListBox-Feld ............................      2
 TLinkedStringLookUpValidator.Strict-Feld .............................      2
 TLinkedStringLookUpValidator-Objekt  (Unit GvCombo) ..................      2
 TDoubleValidator.Transfer-Methode ....................................      2
 TLinkedStringLookUpValidator.Done-Destruktor .........................      3
 TLinkedStringLookUpValidator.Init-Konstruktor ........................      3
 TLinkedStringLookUpValidator.IsValid-Methode .........................      3
 TLinkedStringLookUpValidator.IsValidInput-Methode ....................      3
 TLinkedStringLookUpValidator.Lookup-Methode ..........................      3
 LinkedStringLookUpValidator.LookupItem-Methode .......................      3
 TStringLookUpListBox-Objekt  (Unit GvCombo) ..........................      3
 TStringLookUpListBox.FocusItem-Methode ...............................      4
 TStringLookUpListBox.Init-Konstruktor ................................      4
 TStringLookUpListBox.InputLine-Feld ..................................      4
 TStringLookUpListBox.NewList-Methode .................................      4
 TComboViewer-Objekt  (Unit GvCombo) ..................................      4
 TStringLookUpListBox.Validator-Feld ..................................      4
 TComboViewer.Init-Konstruktor ........................................      5
 TComboWindow.Init-Methode ............................................      5
 TCombo-Objekt  (Unit GvCombo) ........................................      5
 TComboWindow-Objekt  (Unit GvCombo) ..................................      5
 TCombo.Done-Destruktor ...............................................      6
 TCombo.Init-Konstruktor ..............................................      6
 TCombo.InitHistoryWindow-Methode .....................................      6
 TCombo.LookUpListBox-Feld ............................................      6
 TCombo.RecordHistory-Methode .........................................      6























                                  - TOC-   1 -
                                    -    1 -






GvCombo
 
Die Unit GvCombo ermglicht Ihnen die Verwendung von Comboboxen,
d.h. von Verbindungen von Eingabezeilen mit Listen.

 TDoubleValidator
 TLinkedStringLookUpValidator
 TStringLookUpListBox
 TComboViewer
 TComboWindow
 TCombo

TDoubleValidator-Objekt  (Unit GvCombo)
 
Dieser TValidator-Nachkomme implementiert ein Objekt, welches
das Verhalten zweier beliebiger Validatoren kombiniert.
Durck kaskadierte TDoubleValidator-Instanzen knnen auch
Kombinationen mehrerer Validatoren erzielt werden.

 Felder:

 Val1
 Val2

 Methoden:

 Init
 Done
 IsValid
 IsValidInput
 Transfer

TDoubleValidator.Val1-Feld
 
 Deklaration:
Val1: PValidator;

Dieses Feld speichert einen Zeiger auf das erste Validator-Objekt.

TDoubleValidator.Val2-Feld
 
 Deklaration:
Val2: PValidator;

Dieses Feld speichert einen Zeiger auf das zweite Validator-Objekt.

TDoubleValidator.Init-Konstruktor
 
 Deklaration:
constructor Init(AVal1, AVal2: PValidator);

Dieser Konstruktor ruft zunchst TObject.Init auf.
Danach setzt es Val1 auf AVal1
und Val2 auf AVal2.

TDoubleValidator.Done-Destruktor
 
 Deklaration:
destructor Done; virtual;

Dieser Destruktor nimmt zunchst Val1 und
Val2 vom Stack und ruft dann
TObject.Done auf.



                  gvcombo, Page #   1   Date 22-7-1996 Monday
                                    -    2 -






TDoubleValidator.IsValid-Methode
 
 Deklaration:
function IsValid(const S: string): Boolean; virtual;

Diese Funktion ermittelt TRUE, wenn sowohl Val1^.IsValid als
auch Val2^.IsValid TRUE ermitteln.

TDoubleValidator.IsValidInput-Methode
 
 Deklaration:

 function IsValidInput(var S: string;
   NoAutoFill: Boolean): Boolean; virtual;

Diese Funktion ermittelt TRUE, wenn sowohl Val1^.IsValidInput
als auch Val2^.IsValidInput TRUE ermitteln. Wenn Val1^.IsValidInput
FALSE ermittelt, wird Val2^.IsValidInput gar nicht aufgerufen.

TDoubleValidator.Transfer-Methode
 
 Deklaration:

 function Transfer(var S: String; Buffer: Pointer;
   Flag: TVTransfer): Word; virtual;

Diese Funktion ruft zunchst Val1^.Transfer auf. Dann ruft sie
Val2^.Transfer mit einem um die Val1-Datengre erhhten
Buffer-Zeiger auf. Das Funktionsergebnis ist die Summe der
Datengren von Val1 und Val2.

TLinkedStringLookUpValidator-Objekt  (Unit GvCombo)
 
Dieser TGStringLookUpValidator-Nachkomme
ist direkt mit einem TSortedListBox-Objekt verbunden. LookUp-
Operationen werden sofort in Fokussierung eines entsprechenden
Listenelements umgesetzt.

 Felder:

 ListBox
 Strict

 Methoden:

 Init
 Done
 IsValid
 IsValidInput
 Lookup
 LookupItem

TLinkedStringLookUpValidator.ListBox-Feld
 
 Deklaration:
ListBox: PSortedListBox;

Dieses Feld speichert die dem Validator assoziierte ListBox.

TLinkedStringLookUpValidator.Strict-Feld
 



                  gvcombo, Page #   2   Date 22-7-1996 Monday
                                    -    3 -





 Deklaration:
Strict: Boolean;

Ist dieses Feld TRUE, so erlaubt der Validator nur die in der ListBox
gelisteten Eingaben.

TLinkedStringLookUpValidator.Init-Konstruktor
 
 Deklaration:
constructor Init(AListBox: PSortedListBox; IsStrict: Boolean);

Dieser Konstruktor ruft zunchst TStringLookUpValidator.Init auf,
wobei als Validierungsliste AListBox^.List vorgegeben wird.
Dann werden die Felder ListBox
mit AListBox und Strict
mit IsStrict belegt.

TLinkedStringLookUpValidator.Done-Destruktor
 
 Deklaration:
destructor Done; virtual;

Dieser Destruktor unterscheidet sich vom geerbten Destruktor
nur dadurch, da er die Validierungsliste (die der ListBox gehrt)
nicht zerstrt.

TLinkedStringLookUpValidator.IsValid-Methode
 
 Deklaration:
function IsValid(const S: string): Boolean; virtual;

Diese Funktion ermittelt TRUE, falls
Strict FALSE ist oder
TStringLookUpValidator.IsValid TRUE liefert.

TLinkedStringLookUpValidator.IsValidInput-Methode
 
 Deklaration:

 function IsValidInput(var S: string;
   NoAutoFill: Boolean): Boolean; virtual;

Diese Funktion ermittelt immer TRUE. Auerdem sucht sie den String S
in der Liste auf und fokussiert in der ListBox den entsprechenden Eintrag.

TLinkedStringLookUpValidator.Lookup-Methode
 
 Deklaration:
function Lookup(const S: string): Boolean; virtual;

Diese Funktion ruft LookupItem auf,
um den eingegebenen String in der Liste aufzusuchen.

LinkedStringLookUpValidator.LookupItem-Methode
 
 Deklaration:
function LookupItem(const S: string; var Index: Integer): Boolean; virtual;

Verwendet TSortedCollection.Search, um den String in der
Liste aufzusuchen. berschreiben Sie diese Methode, wenn die Liste keine
Strings, sondern andere Daten enthlt.

TStringLookUpListBox-Objekt  (Unit GvCombo)
 
Dieser TSortedListBox-Nachkomme verbindet sich automatisch mit
einem InputLine-Objekt, indem es einen
TLinkedStringLookUpValidator



                  gvcombo, Page #   3   Date 22-7-1996 Monday
                                    -    4 -





installiert. Hatte das InputLine vorher schon einen Validator,
wird dieser ber ein TDoubleValidator-Objekt
mit dem neuen Validator verbunden.

Mit diesem Objekt lassen sich also persistente Comboboxen realisieren.
Einzeilige Comboboxen knnen Sie mit dem Objekt TCombo erstellen.

 Felder:

 InputLine
 Validator

 Methoden:

 Init
 FocusItem
 NewList

TStringLookUpListBox.InputLine-Feld
 
 Deklaration:
InputLine: PInputLine;

Dieses Feld speichert einen Zeiger auf die mit der Liste
verbundene Eingabezeile.

TStringLookUpListBox.Validator-Feld
 
 Deklaration:
Validator: PLinkedStringLookUpValidator;

Dieses Feld speichert einen Zeiger auf den mit der
Eingabezeile neu verbundenen Validator.

TStringLookUpListBox.Init-Konstruktor
 
 Deklaration:

 constructor Init(var Bounds: TRect; AScrollBar: PScrollBar;
   AnInputLine: PInputLine);

Dieser Konstruktor ruft zunchst TSortedListBox.Init auf.
Dann erstellt er ein
TLinkedStringLookUpValidator-Objekt
und bindet es (wenn ntig, ber einen TDoubleValidator)
an die Eingabezeile. Schlielich weist es dem Feld
InputLine den Wert AnInputLine zu.

TStringLookUpListBox.FocusItem-Methode
 
 Deklaration:
procedure FocusItem(Item: Integer); virtual;

Diese Funktion ruft zunchst TListViewer.FocusItem auf.
Unter Vermeidung von Rekursion wird dann der Wert der Eingabezeile
angepat.

TStringLookUpListBox.NewList-Methode
 
 Deklaration:
procedure NewList(AList: PCollection); virtual;

Diese Prozedur ruft zunchst TListBox.NewList auf.
Dann wird mit einem Aufruf von Validator^.NewStringList
das Verhalten des Validators angepat.



                  gvcombo, Page #   4   Date 22-7-1996 Monday
                                    -    5 -






TComboViewer-Objekt  (Unit GvCombo)
 
Dieser TStringLookUpListBox-Nachkomme
dient der Darstellung einer aufgeklappten Liste fr eine einzeilige Combobox.
Das Objekt wird ohne Angabe von Koordinaten initialisiert, da
es bei jedem Aufklappen der Liste in ein jeweils neu erstelltes
TComboWindow-Objekt eingebunden wird.

 Methoden:

 Init
 HandleEvent

TComboViewer.Init-Konstruktor
 
 Deklaration:
constructor Init(AnInputLine: PInputLine);

bergeben Sie als AnInputLine die Eingabezeile, an die die Liste
gebunden werden soll.

TComboWindow-Objekt  (Unit GvCombo)
 
Dieser THistoryWindow-Nachkomme verwendet statt eines
THistoryViewer-Objektes ein TComboViewer-Objekt, um die
aufgeklappte Liste einer einzeiligen Combobox darzustellen.

 Methoden:

 Init
 Done
 DeleteViewer
 InsertViewer

TComboWindow.Init-Methode
 
 Deklaration:
constructor Init(var Bounds: TRect; ALookUpListBox: PStringLookUpListBox);

Initialisiert das Fenster und erzeugt eine Scrollbar.
Das Objekt ALookUpListBox (in der Regel ein
TComboViewer-Objekt) wird auf eine geeignete Ausdehnung
gebracht und dann in das Fenster eingefgt. Wenn das Fenster zerstrt wird,
ist ALookUpListBox wieder frei.

TCombo-Objekt  (Unit GvCombo)
 
Dieses Objekt verbindet sich (ber eine spezielle Listbox)
mit einer Eingabezeile, um eine
einzeilige Combobox zu realisieren. Es arbeitet hnlich wie sein
Vorgnger THistory und stellt sich genau wie dieser als
Schalter mit einem nach unten weisendem Pfeil dar.

 Felder:

 LookUpListBox

 Methoden:

 Init
 Done



                  gvcombo, Page #   5   Date 22-7-1996 Monday
                                    -    6 -





 InitHistoryWindow
 RecordHistory

TCombo.LookUpListBox-Feld
 
 Deklaration:
LookUpListBox: PStringLookUpListBox;

Speichert einen Zeiger auf die Listbox, die beim Aufklappen der Combobox
dargestellt wird.

TCombo.Init-Konstruktor
 
 Deklaration:
constructor Init(var Bounds: TRect; ALookUpListBox: PStringLookUpListBox);

Initialisiert das Objekt. bergeben Sie in ALookUpListBox
die Listbox (gewhnlich ein TComboViewer-Objekt),
die beim Aufklappen der Combobox erscheinen soll.

TCombo.Done-Destruktor
 
 Deklaration:
destructor Done; virtual;

Zerstrt das LookUpListBox-Objekt.

TCombo.InitHistoryWindow-Methode
 
 Deklaration:
function InitHistoryWindow(var Bounds: TRect): PHistoryWindow; virtual;

Erzeugt ein TComboWindow-Objekt in den angegebenen Grenzen,
in welches die LookUpListBox eingefgt wird.

TCombo.RecordHistory-Methode
 
 Deklaration:
procedure RecordHistory(S: String); virtual;

Diese Methode tut gar nichts.


























                  gvcombo, Page #   6   Date 22-7-1996 Monday
