lign="justify"> mn.Add (80,30,120,30, Ініціалізація );
mn.Add (260,30,120,30, Тестування );
mn.Add (440,30,120,30, Вихід ) ;. setDisable (1) ;. setSelect (0);
//mn.setDisable (1) ;. Add (80,80,120,30, Число елементів ); 1.Add (80,120,120,30, Нач-е значення );
mn1.setDisable (1) ;. Hide ();
//Menu mn22.Add (260,80,120,30, Рядок );
mn2.Add (260,120,120,30, Ідентифікатор );
mn2.Add (260,160,120,30, десяти. рядок );
mn2.Hide ();
//Menu mn3.Add (390,80,120,25, clear () ) ;. Hide ();
//Menu mn4.Add (390,120,120,25, Toupp ); 4.Add (390,145,120,25, оператор=);
mn4.Add (390,170,120,25, оператор == );
mn4.Add (390,195,120,25, оператор [] );
//mn4.Add (390,220,120,25, vxod );
mn4.Hide ();
//Menu mn5.Add (390,160,120,25, ChangeChar () ); 5.Add (390,185,120,25, оператор=);
mn5.Add (390,210,120,25, оператор == );
mn5.Add (390,235,120,25, оператор - );
mn5.Hide ();
mn.setSubmenu ( amp; mn1,0);
mn.setSubmenu(amp;mn2,1);.setSubmenu(amp;mn3,0);.setSubmenu(amp;mn4,1);.setSubmenu(amp;mn5,2);= new ListBox (20,300,292,162);=new ListBox (330,300,292,162); void * ptr;=lbx2;(ClassName[0],laquo;Stringraquo;);(ClassName[1],laquo;Identifierraquo;);(ClassName[2],laquo;Tenstringraquo;);(int i=0; i lt; LIMIT; i ++) {[i] .item=NULL; [i] .classId=0;
}=0;
} :: ~ Desk () {// деструктор (lbx1) delete lbx1; (lbx2) delete lbx2;
} Desk :: setCount () {// введення чіслаk=numInput (205,80,30,30, count? ); (k gt; 0 amp; amp; k lt;=LIMIT ) {= k; - gt; AddSeveral (k) ;. setEnable (1) ;. setSelect (1) ;. setDisable (0);
} else dataError (205,80,5,30);
} * Desk :: CreateInstance (int classId, char * val) {// вибір класу (classId) {0: return new String (val); 1: return new Identifier (val); 2:return new Tenstring (val);
} NULL;
} Desk :: Init () {// запісьk=0, classId=0, limit=39; val [limit + 1]; text [limit + 1]; text [0]= 0 raquo ;;=numInput (205,120,30,30, num? ); (k lt;=0 || k gt; count) if (dataError (205,120,30,30)) return; =NumInput (205,120,30,30, classId? 1) ідентифікатор 2) десяткова рядок );
if (classId!=0 amp; amp; classId!=1 amp; amp; classId!=2) if (dataError (205,120,30,30)) return; (205,120,30,30, laquo ; value? , val, 23); -; - gt; Clear (); (inst [k] .item) {delete inst [k] .item; [k] .item=NULL; [k] .classId =0;
} [k] .item=CreateInstance (classId, val); [k] .classId=classId; (val, inst [k] .item- gt; text ()); (text, % d% s% s , k + 1, ClassName [classId], val); (inst [k] .item) lbx1- gt; UpdateRow (++ k, text);=0; (inst [k ++ ] .item); (k gt; count amp; amp;! mn.isEnable (1)) mn.setEnable (1);
} Desk :: strclear () {// очистка строкіlen, k=numInput (520,80,25,25, num? ); text [40]; text [0]= 0 raquo ;; (k lt;=0 || k gt; count) {if (dataError (520,80,25,25)) return; } {[k - 1] .item- gt; clear (); (text, % d% s% s , k, ClassName [0], inst [k - 1] .item- gt; text () ); - gt; UpdateRow (k, text);
}
} Desk :: sidToUpper () {// иерхній регістрk=numInput (520,120,25,25, num? ); (k lt;=0 || k gt; count) {if (dataError (520,120,25,25)) return; } (inst [k - 1] .classId!=1) {Msg (520,120,25,25, Wrong data ); return; } * pId=(Identifier *) inst [k - 1] .item; gt; toUpper (); text [40]; text [0]= 0 raquo ;; (text, % d% s% s , k, ClassName [1], pId- gt; text ()); - gt; UpdateRow (k, text);
} Desk :: sidAssign () {// прісваіваніеk, k1=0; * pOp [2]; op [2] [6]={ op1? , op2? }; (int i=0; i lt; 2; i ++) {= numInput (520,145,25,25, op [i]); if (! k1) k1=k; (k lt;=0 || k gt; count) {if (dataError (520,145,25,25)) return; } (inst [k - 1] .classId!=1) {Msg (520,145,25,25, Wrong data ); return; } [i]=(Identifier *) inst [k - 1] .item;
}
* pOp [0]=* pOp [1]; text [40]; text [0]= 0 raquo ;; (text, % d% s% s , k1, ClassName [1], pOp [0] - gt; text ()); - gt; UpdateRow (k1, text);
} Desk :: sidSub () {// сравненіеk, k1=0; * pOp [2]; op [2] [6]={ op1? , op2? }; (int i=0; i lt; 2; i ++) {= numInput (520,170,25,25, op [i]); if (! k1) k1=k; (k lt;=0 || k gt; count) {if (dataError (520,170,25,25)) return; } (inst [k - 1] .classId!=1) {Msg (520,170,25,25, Wrong d...