unit tobs; {---------------------------------------------------------------------} { TEST warum geht's nicht?? } {---------------------------------------------------------------------} interface {---------------------------------------------------------------------} uses classes, objects; const maxPruefPar = 3; type PPruefPar = ^TPruefPar; TPruefPar = packed record leer : boolean; {...} end; PPruefParArray = ^TPruefParArray; TPruefParArray = array[ 1 .. maxPruefPar] of TPruefPar; type FrameChars = array[1..8] of Char; PWinRec = ^WinRec; WinRec = record size : longint; {...} end; type pString = ^shortString; PPStringArray = ^TpStringArray; TPStringArray = array[ 1 .. $FFFF div sizeof( pString) ] of pstring; PBoolArray = ^TBoolArray; TBoolArray = array[ 1 .. $FFFF div sizeof( boolean) ] of boolean; type PBrowser = ^TBrowser; TBrowser = object( TObject) frameCol, frameBGround : longint; titelCol, titelBGround : longint; col, bck : longint; yTitel : word; bx1, by1 : word; bZeilen : word; bSpalten : word; bTitel : shortString; bRahmen : frameChars; bSafeScreen : boolean; bTListe : PPStringArray; listenAnfang : smallInt; listenEnde : smallInt; w, fLine : pWinRec; oDirSign : char; constructor init( x1, y1, zeilen, spalten: word; titel : shortString; const rahmen : frameChars; safeScr : boolean; const tListe : array of pstring; von, bis : word; colframe, backFrame : longint; coltitel, backTitel : longint; color, back : longint; mitFTasten : boolean); destructor done; virtual; procedure execute( var code: smallInt; var idx : smallInt); virtual; procedure schreiben( z1, z2: smallInt); virtual; procedure setDirSign( c : char); virtual; procedure doPrint; end; type PListBrowser = ^TListBrowser; TListBrowser = object( TBrowser) selCol, selBGround : longint; aktZeile : smallInt; yAkt : smallInt; terminateOnKey : boolean; constructor init( x1, y1, zeilen, spalten: word; titel : String; const rahmen : frameChars; safeScr : boolean; const tListe : array of pstring; von, bis : word; colframe, backFrame : longint; coltitel, backTitel : longint; colSelect, backSelect : longint; color, back : longint; mitFTasten : boolean); procedure execute( var code: smallInt; var idx: smallInt); virtual; procedure schreiben( z1, z2 : smallInt); virtual; end; type PProgrammAuswahl = ^TProgrammAuswahl; TProgrammAuswahl = object( TListBrowser) loeschListe : pBoolArray; textLen : smallInt; IdxLen : smallInt; flagLen : smallInt; fillFlag: string[ 5]; loeschFlag : string[ 5]; ppa : PPruefparArray; tz1, tz2 : smallInt; constructor init( x1, y1, zeilen, spalten: word; titel : String; const rahmen : frameChars; safeScr : boolean; var tListe : array of pstring; var geloeschtListe : array of boolean; const programmArray: PPruefParArray; von, bis : word; colframe, bckframe : longint; coltitel, bcktitel : longint; colSelect,bckSelect: longint; color, back : longint); procedure execute( var code: smallInt; var idx: smallInt); virtual; procedure updateList; procedure schreiben( z1, z2 : smallInt); virtual; end; {---------------------------------------------------------------------} implementation {---------------------------------------------------------------------} { TBrowser: } {---------------------------------------------------------------------------} constructor TBrowser.init( x1, y1, zeilen, spalten: word; titel : shortString; const rahmen : frameChars; safeScr : boolean; const tListe : array of pString; von, bis : word; colframe, backFrame : longint; coltitel, backTitel : longint; color, back : longint; mitFTasten : boolean); begin {...} end; {---------------------------------------------------------------------------} procedure TBrowser.doPrint; begin {...} end; procedure TBrowser.execute( var code : smallInt; var idx : smallInt); begin {...} end; procedure TBrowser.setDirSign( c : char); begin {...} end; procedure TBrowser.schreiben( z1, z2 : smallInt); begin {...} end; destructor TBrowser.done; begin {...} end; {---------------------------------------------------------------------------} { TListBrowser: } {---------------------------------------------------------------------------} constructor TListBrowser.init( x1, y1, zeilen, spalten: word; titel : shortString; const rahmen : frameChars; safeScr : boolean; const tListe : array of pstring; von, bis : word; { indexGrenzen fr tListe } colframe, backFrame : longint; coltitel, backTitel : longint; colSelect, backSelect : longint; color, back : longint; mitFTasten : boolean); begin {...} end; {---------------------------------------------------------------------------} procedure TListBrowser.execute( var code : smallInt; var idx : smallInt); begin {...} end; procedure TListBrowser.schreiben( z1, z2 : smallInt); { beachtet aktZeile, aktIndex } begin {...} end; {---------------------------------------------------------------------------} { TProgrammAuswahl: } {---------------------------------------------------------------------------} ///////// hier knallt's !!! constructor TProgrammAuswahl.init( titel : String; x1, y1, zeilen, spalten: word; const rahmen : frameChars; safeScr : boolean; var tListe : array of pstring; var geloeschtListe : array of boolean; const programmArray: PPruefParArray; von, bis : word; { indexGrenzen fr tListe } colframe, bckframe : longint; coltitel, bcktitel : longint; colSelect,bckSelect: longint; color, back : longint); begin {...} end; {---------------------------------------------------------------------------} procedure TProgrammAuswahl.execute( var code: smallInt; var idx: smallInt); begin {...} end; procedure TProgrammAuswahl.updateList; // neuschreiben der namenliste begin {...} end; procedure TProgrammAuswahl.schreiben( z1, z2 : smallInt); begin {...} end; {---------------------------------------------------------------------------} end.