struct UrlsHistory { dword CurrentUrl(); void AddUrl(); byte GoBack(); byte GoForward(); }; UrlsHistory BrowserHistory; struct path_string { char Item[4096]; }; #define MAX_HISTORY_NUM 40 path_string history_list[MAX_HISTORY_NUM]; int history_num; int history_current; dword UrlsHistory::CurrentUrl() { return #history_list[history_current].Item; } void UrlsHistory::AddUrl() //тут нужен вводимый элемент - для универсальности { int i; if (history_num>0) && (!strcmp(#URL,#history_list[history_current].Item)) return; if (history_current>=MAX_HISTORY_NUM-1) { history_current/=2; for (i=0; i