ue; = efExit;
}; break;
}; ();
} while (! Quit); ();
};
// *** TControlList methods :: TControlLst (): TList ()
{
// must be
}; TControlLst :: Repaint ()
{* Item = (TControl *) FirstItem; (Item)
{> Draw (); = (TControl *) (Item) -> Next;
};
}; TControlLst :: Run ()
{
// *** CurrItem тут - синонім ActiveControl = FirstItem;
{
((TControl *) CurrItem) -> Enter (); (((TControl *) CurrItem) -> ExitFlag)
{efNext: if (CurrItem-> Next) = CurrItem-> Next; break; efPrev: if (CurrItem-> Prev) = CurrItem-> Prev; break;
}; ();
} while (! ((TControl *) CurrItem) -> ExitFlag == efExit);
};
// *** TProgaMenu methodsTProgaMenu :: Repaint ()
{:: Repaint ();
}; ReadKey (char * Key, Boolean * CtrlKey)
{
* Key = getch (); (* Key == 0)
{
* Key = getch ();
* CtrlKey = True;
}
* CtrlKey = False;
}; * DltChr (char * S, int Pos)
{
// *** S - рядок, Pos - номер видаляється символу (починаючи з 1) * Begin = S; I = 1; (* S)
{(I> = Pos)
* S = * (S +1); + +; + +;
}; (Begin);
}; * InsChr (char * S, int Pos, char Ch)
{
// *** S - рядок, Pos - номер вставляється символу Ch * Begin = S; Chr; I = 1; (* S)
{(I> = Pos)
{= * S;
* S = Ch; = Chr;
}; + +; + +;
};
* S = Ch; (Begin);
};
// *** TProga methods :: TProga (): TApplication ()
{= (PAppButtonClick) & TProga :: doNew; = (PAppButtonClick) & TProga :: doLoad; = (PAppButtonClick) & TProga :: doSave; = (PAppButtonClick) & TProga :: doRun; = ( PAppButtonClick) & TProga :: doExit;
}; TProga :: MainMenu ()
{* Btn; = new TButton (this, 2,2, "Новий", 1, onNew);. Add (Btn); = new TButton (this, 2,3, "Зчітаті", 2, onLoad/* & doLoad * /);. Add (Btn); = new TButton (this, 2,4, "Записати", 3, onSave);. Add (Btn); = new TButton (this , 2,5, "Запуск", 4, onRun);. Add (Btn); = new TButton (this, 2,6, "Віхiд", 4, onExit);. Add (Btn); ( );. Repaint ();. Run ();
}; TProga :: doNew (void * Sender)
{. Clear (); ();. Generate (26); (0);
}; TProga :: doLoad (void * Sender)
{. Clear ();. LoadFromFile ("Test.dat"); (0);
}; TProga :: doSave (void * Sender)
{. SaveToFile ("test.dat");
}; TProga :: doExit (void * Sender)
{
((TControl *) (Menu.CurrItem)) -> ExitFlag = efExit;
}; TProga :: doRun (void * Sender)
{I; BLen, SLen, Len; * S; grDriver, grMode, errorcode; = DETECT; (& grDriver, & grMode, ".. BGI ");. Filter ();. SetBiggSmall ();
// *** Інфа ("% d трикутників n", Lines.ItemCount); ("Синій - найменший n"); ("Жовтим - ті, що перетинаються з лінією n") ; ("Білим - лінія n");. Repaint (); (); (); ();
}; TProga :: BkRepaint ...