[{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-34 мин."},"isBanned":false,"roleString":"Мастер-Эксперт","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"Facta loquuntur.","signatureHTML":"Facta loquuntur.","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.979,"absoluteRating":109944,"dynamicRating":1661.155,"dynamicRatingStars":10,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T03:34:06.1745106+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":11,"counters":{"daysAtPortal":6618,"questions":12,"questionsPosts":18353,"questionsAnswers":6665,"questionsPostsEvaluations":2833,"forumPosts":5699},"isRfproUserClass":true,"id":17387,"name":"Гордиенко Андрей Владимирович","email":"","role":10,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-26T10:37:42","photo":"users/17387/f4979bc95a484b9f43f75cfe66538acd.jpg","lastDateIndicatorClass":"red","lastDateIndicatorText":"давно","photoPreview200":"users/17387/200_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview120":"users/17387/120_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview100":"users/17387/100_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview80":"users/17387/80_f4979bc95a484b9f43f75cfe66538acd.jpg","photoPreview40":"users/17387/40_f4979bc95a484b9f43f75cfe66538acd.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-34 мин."},"isBanned":false,"roleString":"Мастер-Эксперт","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"Я пенсионер. Образование высш, радио-инж. Работал инж-электроником, ведущим средств телевидения, связи, слесарем и инженером КИП, грузчиком, программистом. На моём счету десятки рац-предложений, в тч с большим экономич эффектом.\nЯ люблю компьютеры, ремонтирую их друзьям и соседям. Пишу полезные программки в vbs-файлах, автоматизирующие настройку Win-систем, приложений и работу с ними.","aboutHTML":"Я пенсионер. Образование высш, радио-инж. Работал инж-электроником, ведущим средств телевидения, связи, слесарем и инженером КИП, грузчиком, программистом. На моём счету десятки рац-предложений, в тч с большим экономич эффектом.\u003Cbr\u003EЯ люблю компьютеры, ремонтирую их друзьям и соседям. Пишу полезные программки в vbs-файлах, автоматизирующие настройку Win-систем, приложений и работу с ними.","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.935,"absoluteRating":25767,"dynamicRating":455.978,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T03:34:06.1748234+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":11,"counters":{"daysAtPortal":5651,"questions":25,"questionsPosts":7464,"questionsAnswers":1226,"questionsPostsEvaluations":789,"forumPosts":401},"isRfproUserClass":true,"id":259041,"name":"Алексеев Владимир Николаевич","email":"","role":10,"registDate":"1000-01-01T00:00:00","lastDate":"2024-07-01T01:22:07","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"red","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-34 мин."},"isBanned":false,"roleString":"Старший Модератор","roleIcon":"fa-user-tie","socialMedia":[],"aboutText":"634034, г.Томск, ул.Красноармейская 122, кв.173","aboutHTML":"634034, г.Томск, ул.Красноармейская 122, кв.173","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.985,"absoluteRating":21746,"dynamicRating":407.576,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T03:34:06.1749559+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":13,"counters":{"daysAtPortal":5335,"questions":1,"questionsPosts":1973,"questionsAnswers":1283,"questionsPostsEvaluations":588,"forumPosts":91},"isRfproUserClass":true,"id":312929,"name":"Коцюрбенко Алексей Владимирович","email":"","role":12,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-01T11:08:00","photo":"users/312929/bf7398e83a2a9b679ee601a457e91a12.jpg","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"users/312929/200_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview120":"users/312929/120_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview100":"users/312929/100_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview80":"users/312929/80_bf7398e83a2a9b679ee601a457e91a12.jpg","photoPreview40":"users/312929/40_bf7398e83a2a9b679ee601a457e91a12.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-34 мин."},"isBanned":false,"roleString":"Советник","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":5,"absoluteRating":9460,"dynamicRating":377.115,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T03:34:06.1750528+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":10,"counters":{"daysAtPortal":2508,"questions":0,"questionsPosts":472,"questionsAnswers":398,"questionsPostsEvaluations":298,"forumPosts":1},"isRfproUserClass":true,"id":401284,"name":"Михаил Александров","email":"","role":9,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-08T19:40:08","photo":"users/401284/48171011af39b6bb3a74df8c0fcf97d0.jpg","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"users/401284/200_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview120":"users/401284/120_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview100":"users/401284/100_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview80":"users/401284/80_48171011af39b6bb3a74df8c0fcf97d0.jpg","photoPreview40":"users/401284/40_48171011af39b6bb3a74df8c0fcf97d0.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-34 мин."},"isBanned":false,"roleString":"Посетитель","roleIcon":"fa-user","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.987,"absoluteRating":6052,"dynamicRating":217.153,"dynamicRatingStars":7,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T03:34:06.1751757+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":2,"counters":{"daysAtPortal":2787,"questions":0,"questionsPosts":527,"questionsAnswers":250,"questionsPostsEvaluations":155,"forumPosts":0},"isRfproUserClass":true,"id":400669,"name":"epimkin","email":"","role":1,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-23T20:01:53","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":false},{"isEmailConfirmed":true,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":3,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"нет адреса","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-34 мин."},"isBanned":false,"roleString":"Мастер-Эксперт","roleIcon":"fa-user-ninja","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"[i]С уважением[/i]\n[i]shvetski[/i]","signatureHTML":"\u003Ci\u003EС уважением\u003C/i\u003E\u003Cbr\u003E\u003Ci\u003Eshvetski\u003C/i\u003E","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":4.963,"absoluteRating":11493,"dynamicRating":198.932,"dynamicRatingStars":7,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T03:34:06.1753097+03:00","isValid":true,"isUnconfirmed":false,"isConfirmed":true,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":11,"counters":{"daysAtPortal":5777,"questions":35,"questionsPosts":1567,"questionsAnswers":588,"questionsPostsEvaluations":324,"forumPosts":44},"isRfproUserClass":true,"id":226425,"name":"Shvetski","email":"","role":10,"registDate":"1000-01-01T00:00:00","lastDate":"2024-06-14T22:58:37","photo":"users/226425/f345a2332af0cff5fba81b60c4e0d441.jpg","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"users/226425/200_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview120":"users/226425/120_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview100":"users/226425/100_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview80":"users/226425/80_f345a2332af0cff5fba81b60c4e0d441.jpg","photoPreview40":"users/226425/40_f345a2332af0cff5fba81b60c4e0d441.jpg","isPhotoExists":true,"isLoggedIn":true,"isNewUser":false,"isExisted":true,"isExpert":true}]
Уважаемые эксперты помогите пожалуйста подготовится к экзамену. Помогите написать программу. Написать программу, которая считав информацию в динамические структуры данных, позволит вывести на экран (или вывести в другой текстовый файл) результаты интересующих запросов.
Сведения о студентах (фамилия, номер, специальность) содержаться в текстовом файле student.dat. Структура такого файла представлена.
Почти доделал (все работает, кроме разбиения на группы и, соответственно, вывод в файлы), но есть вопросы? 1) названия специальностей, как понимаю, в досовской кодировке - то есть под виндами будет искажение. Как быть? 2) Считать ли количество специальностей ограниченным? Если нет, то нужно создавать еще один динамический список. 3) В исходном файле есть две первых информационных строки? 3) В выходных тоже добавлять две информационные строки? Как ответите, так и доделаю и пришлю
Неизвестный
03.07.2009, 13:49
общий
это ответ
Здравствуйте, Кирилл Демидов. В приложении код программы. Тут пример окна вывода, когда назначение вывода по специальностям - на экран (в исходном коде именно так)
Код:
Иванов 122589 ХТ-11 Петров 487978 ХД-11 Сидоров 236588 ХТ-11 Королев 797998 ХД-11 Темаков 487797 ХТ-32
function UpRuss(src: String): String; {стандартная только для "их" букв. А для сравнения не нужно учитывать регистр} var i, len: Integer; begin len := length(src); for i:=1 to len do case src[i] of 'a'..'z': src[i] := UpCase(src[i]); 'а'..'п': src[i] := chr(ord(src[i]) - 32); 'р'..'я': src[i] := chr(ord(src[i]) - 80); end; UpRuss := src end;
function Exists(s: PStudents; aName: String; aNumber: Longint; aSpeciality: String; aGroup : Integer): PStudents; {если есть, то возвращает запись, если нет - то NIL} var p: PStudents; begin Exists:= NIL; if s = nil then Exit; p := s; while p <> nil do begin {проверяем по трем полям} if (UpRuss(copy(aName, 1, nameLen)) = UpRuss(p^.Name)) and (aNumber = p^.Number) and (UpRuss(copy(aSpeciality, 1, specLen)) = p^.Speciality) then begin Exists := p; Break end; p:= p^.Next; end; end;
function Add(var s: PStudents; aName: String; aNumber: Longint; aSpeciality: String; aGroup : Integer): Integer; {число добавленных: 0 или 1} var p, q: pStudents; begin Add:=0; if Exists(s, aName, aNumber, aSpeciality, aGroup) <> NIL then Exit; New(p); p^.Name := copy(aName, 1, nameLen); p^.Number := aNumber; p^.Speciality := copy(aSpeciality, 1, specLen); p^.Group := aGroup; p^.Next := nil; if s = nil then s := p else begin {Ищем конец списка} q:= s; while q^.next <> nil do q:= q^.next; q^.Next := p; end; Add := 1 end;
{Символы, которые являются разделителями полей} CONST Devs: Set of Char = ['-',',','.',' ',#9,#13,#10,#27]; {9 = знак табуляции, 13 - возврат в начало строки, 10 - переход на следующую. 27 - часто конец файла} Numbers: Set of Char = ['0'..'9'];
function AddAsFullString(var s: PStudents; Line: String): Integer; var aName, aSpec: String; aNumber : LongInt; aGroup : Integer; i, len: Integer; begin AddAsFullString := 0; aName := ''; aSpec := ''; aNumber := 0; aGroup:=0; i:=1; len := length(Line); while (Line[i] in Devs) and (i <= len) do inc(i); {пропуск в начале может что} while (NOT (line[i] in Devs)) and (i <= len) do begin aName := aName + Line[i]; inc(i) end; while (Line[i] in Devs) and (i <= len) do inc(i); while (Line[i] in Numbers) and (i <= len) do begin aNumber := aNumber * 10 + ord(Line[i]) - ord('0'); inc(i) end; while (Line[i] in Devs) and (i <= len) do inc(i); while (NOT (Line[i] in Devs)) and (i <= len) do begin aSpec := aSpec + Line[i]; inc(i); end; while (Line[i] in Devs) and (i <= len) do inc(i); while (Line[i] in Numbers) and (i <= len) do begin aGroup := aGroup * 10 + ord(Line[i]) - ord('0'); inc(i) end; AddAsFullString := Add(s, aName, aNumber, aSpec, aGroup) end;
procedure PrintOne(p: PStudents; var aFile: Text); begin if p = NIL then Exit; WriteLn(aFile, p^.Name,' ', p^.Number:7,' ', p^.speciality,'-',p^.group); end;
procedure PrintOneSpec(p: PStudents; var aFile: Text); begin if p = NIL then Exit; WriteLn(aFile, p^.Name,'-', p^.Number:7); end;
{Таблица перевода русских букв в латинские для имен файлов} const RussL: String = 'АБВГДЕЖЗИКЛМНОПРСТУФХЦ'; {Не все предусмотрены!!} LatL: String = 'ABVGDEJZIKLMNOPRSTUFXC';
{Для того, чтобы в файл - любой символ в DEST. Пустой = на экран} procedure PrintSpeciality(s: PStudents; spec: String; dest: String); var p: PStudents; i: Integer; f: Text; begin if s = nil then Exit; if dest <> '' then begin dest := spec; dest := UpRuss(copy(dest, 1, specLen)); for i:=1 to length(dest) do begin if POS(dest[i], RussL) <> 0 then dest[i] := LatL[POS(dest[i], RussL)]; end; dest := dest+'.txt'; end; {Если пустой, то на экран, по-прежнему} Assign(f, dest); Rewrite(f); p:= s; WriteLn(f,'Специальность ',spec); WriteLn(f,'Фамилия-номер'); WriteLn(f,'-------------------------'); while p <> nil do begin if spec = p^.Speciality then PrintOneSpec(p, f); p := p^.next end; Flush(f); Close(f); end;
procedure printAllSpecs(s: PStudents; ToScreen: Boolean); {Вывод все специальности в свои файлы} var p: PStudents; sp, qp: PSpec; e: Boolean; Destignation: String; begin if s = nil then Exit;
if ToScreen then Destignation := '' else Destignation := 'a'; {Определим, какие есть специальности} sp:= nil; p := s; while p <> nil do begin if sp = nil then begin New(sp); sp^.Spec := p^.Speciality; sp^.Next := nil; end else begin {Ищем, есть ли уже такая} qp := sp; e:=FALSE; while qp <> nil do begin if qp^.spec = p^.Speciality then begin e:=TRUE; Break {немедл. выход из цикла этого} end; qp := qp^.next end; if NOT e then begin {Ищем конец очереди} qp := sp; while qp^.Next <> nil do qp:= qp^.Next; New(qp^.Next); qp^.Next^.Next := nil; qp^.Next^.Spec := p^.Speciality; end; end; p:= p^.next end; {Создаем файлы и заполняем} qp := sp; {Теперь здесь уникальные имена} while qp <> nil do begin PrintSpeciality(s, qp^.spec, Destignation); qp := qp^.next; if ToScreen then WriteLn end;
{Удаление - очистка списка} while sp <> nil do begin qp := sp^.Next; dispose(sp); sp := qp end end;
procedure PrintAll(s: PStudents; dest: String); {Выводит в файл с именем dest. Если на экран, то нужно dest := ''} var p: PStudents; f: Text; begin if s = nil then WriteLn('База данных пуста') else begin Assign(f, dest); Rewrite(f); p := s; while p <> nil do begin PrintOne(p, f); p := p^.next end; Flush(f); Close(f) end; end;
procedure Free(var s: PStudents); var p: PStudents; begin if s = nil then Exit; while s <> nil do begin p:= s^.next; dispose(s); s := p; end; end;
function ReadFileToBase(aFileName: String; var s: PStudents): Integer; var f: Text; str: String; count : Integer; begin Count := 0; Assign(f, aFileName); {$I-} Reset(f); {$I+} if IOResult <> 0 then begin WriteLn('Не могу открыть файл ', aFileName); WriteLn('Нажмите любую клавишу'); ReadKey; ReadFileToBase := 0; Exit end; ReadLn(f, str); ReadLn(f, str); {пропускаем две строки} while NOT SeekEOF(f) do begin ReadLn(f, str); count := count + AddAsFullString(s, str); end; ReadFileToBase := count; end;
VAR Students: PStudents; BEGIN ClrScr; Students:= NIL; ReadFileToBase('student.dat', Students); PrintAll(Students, ''); {Если пустое имя файла = на экран} WriteLn; printAllSpecs(Students, True); Free(Students); END.
Неизвестный
03.07.2009, 13:49
общий
это ответ
Здравствуйте, Кирилл Демидов. В приложении код программы. Тут пример окна вывода, когда назначение вывода по специальностям - на экран (в исходном коде именно так)
Код:
Иванов 122589 ХТ-11 Петров 487978 ХД-11 Сидоров 236588 ХТ-11 Королев 797998 ХД-11 Темаков 487797 ХТ-32
function UpRuss(src: String): String; {стандартная только для "их" букв. А для сравнения не нужно учитывать регистр} var i, len: Integer; begin len := length(src); for i:=1 to len do case src[i] of 'a'..'z': src[i] := UpCase(src[i]); 'а'..'п': src[i] := chr(ord(src[i]) - 32); 'р'..'я': src[i] := chr(ord(src[i]) - 80); end; UpRuss := src end;
function Exists(s: PStudents; aName: String; aNumber: Longint; aSpeciality: String; aGroup : Integer): PStudents; {если есть, то возвращает запись, если нет - то NIL} var p: PStudents; begin Exists:= NIL; if s = nil then Exit; p := s; while p <> nil do begin {проверяем по трем полям} if (UpRuss(copy(aName, 1, nameLen)) = UpRuss(p^.Name)) and (aNumber = p^.Number) and (UpRuss(copy(aSpeciality, 1, specLen)) = p^.Speciality) then begin Exists := p; Break end; p:= p^.Next; end; end;
function Add(var s: PStudents; aName: String; aNumber: Longint; aSpeciality: String; aGroup : Integer): Integer; {число добавленных: 0 или 1} var p, q: pStudents; begin Add:=0; if Exists(s, aName, aNumber, aSpeciality, aGroup) <> NIL then Exit; New(p); p^.Name := copy(aName, 1, nameLen); p^.Number := aNumber; p^.Speciality := copy(aSpeciality, 1, specLen); p^.Group := aGroup; p^.Next := nil; if s = nil then s := p else begin {Ищем конец списка} q:= s; while q^.next <> nil do q:= q^.next; q^.Next := p; end; Add := 1 end;
{Символы, которые являются разделителями полей} CONST Devs: Set of Char = ['-',',','.',' ',#9,#13,#10,#27]; {9 = знак табуляции, 13 - возврат в начало строки, 10 - переход на следующую. 27 - часто конец файла} Numbers: Set of Char = ['0'..'9'];
function AddAsFullString(var s: PStudents; Line: String): Integer; var aName, aSpec: String; aNumber : LongInt; aGroup : Integer; i, len: Integer; begin AddAsFullString := 0; aName := ''; aSpec := ''; aNumber := 0; aGroup:=0; i:=1; len := length(Line); while (Line[i] in Devs) and (i <= len) do inc(i); {пропуск в начале может что} while (NOT (line[i] in Devs)) and (i <= len) do begin aName := aName + Line[i]; inc(i) end; while (Line[i] in Devs) and (i <= len) do inc(i); while (Line[i] in Numbers) and (i <= len) do begin aNumber := aNumber * 10 + ord(Line[i]) - ord('0'); inc(i) end; while (Line[i] in Devs) and (i <= len) do inc(i); while (NOT (Line[i] in Devs)) and (i <= len) do begin aSpec := aSpec + Line[i]; inc(i); end; while (Line[i] in Devs) and (i <= len) do inc(i); while (Line[i] in Numbers) and (i <= len) do begin aGroup := aGroup * 10 + ord(Line[i]) - ord('0'); inc(i) end; AddAsFullString := Add(s, aName, aNumber, aSpec, aGroup) end;
procedure PrintOne(p: PStudents; var aFile: Text); begin if p = NIL then Exit; WriteLn(aFile, p^.Name,' ', p^.Number:7,' ', p^.speciality,'-',p^.group); end;
procedure PrintOneSpec(p: PStudents; var aFile: Text); begin if p = NIL then Exit; WriteLn(aFile, p^.Name,'-', p^.Number:7); end;
{Таблица перевода русских букв в латинские для имен файлов} const RussL: String = 'АБВГДЕЖЗИКЛМНОПРСТУФХЦ'; {Не все предусмотрены!!} LatL: String = 'ABVGDEJZIKLMNOPRSTUFXC';
{Для того, чтобы в файл - любой символ в DEST. Пустой = на экран} procedure PrintSpeciality(s: PStudents; spec: String; dest: String); var p: PStudents; i: Integer; f: Text; begin if s = nil then Exit; if dest <> '' then begin dest := spec; dest := UpRuss(copy(dest, 1, specLen)); for i:=1 to length(dest) do begin if POS(dest[i], RussL) <> 0 then dest[i] := LatL[POS(dest[i], RussL)]; end; dest := dest+'.txt'; end; {Если пустой, то на экран, по-прежнему} Assign(f, dest); Rewrite(f); p:= s; WriteLn(f,'Специальность ',spec); WriteLn(f,'Фамилия-номер'); WriteLn(f,'-------------------------'); while p <> nil do begin if spec = p^.Speciality then PrintOneSpec(p, f); p := p^.next end; Flush(f); Close(f); end;
procedure printAllSpecs(s: PStudents; ToScreen: Boolean); {Вывод все специальности в свои файлы} var p: PStudents; sp, qp: PSpec; e: Boolean; Destignation: String; begin if s = nil then Exit;
if ToScreen then Destignation := '' else Destignation := 'a'; {Определим, какие есть специальности} sp:= nil; p := s; while p <> nil do begin if sp = nil then begin New(sp); sp^.Spec := p^.Speciality; sp^.Next := nil; end else begin {Ищем, есть ли уже такая} qp := sp; e:=FALSE; while qp <> nil do begin if qp^.spec = p^.Speciality then begin e:=TRUE; Break {немедл. выход из цикла этого} end; qp := qp^.next end; if NOT e then begin {Ищем конец очереди} qp := sp; while qp^.Next <> nil do qp:= qp^.Next; New(qp^.Next); qp^.Next^.Next := nil; qp^.Next^.Spec := p^.Speciality; end; end; p:= p^.next end; {Создаем файлы и заполняем} qp := sp; {Теперь здесь уникальные имена} while qp <> nil do begin PrintSpeciality(s, qp^.spec, Destignation); qp := qp^.next; if ToScreen then WriteLn end;
{Удаление - очистка списка} while sp <> nil do begin qp := sp^.Next; dispose(sp); sp := qp end end;
procedure PrintAll(s: PStudents; dest: String); {Выводит в файл с именем dest. Если на экран, то нужно dest := ''} var p: PStudents; f: Text; begin if s = nil then WriteLn('База данных пуста') else begin Assign(f, dest); Rewrite(f); p := s; while p <> nil do begin PrintOne(p, f); p := p^.next end; Flush(f); Close(f) end; end;
procedure Free(var s: PStudents); var p: PStudents; begin if s = nil then Exit; while s <> nil do begin p:= s^.next; dispose(s); s := p; end; end;
function ReadFileToBase(aFileName: String; var s: PStudents): Integer; var f: Text; str: String; count : Integer; begin Count := 0; Assign(f, aFileName); {$I-} Reset(f); {$I+} if IOResult <> 0 then begin WriteLn('Не могу открыть файл ', aFileName); WriteLn('Нажмите любую клавишу'); ReadKey; ReadFileToBase := 0; Exit end; ReadLn(f, str); ReadLn(f, str); {пропускаем две строки} while NOT SeekEOF(f) do begin ReadLn(f, str); count := count + AddAsFullString(s, str); end; ReadFileToBase := count; end;
VAR Students: PStudents; BEGIN ClrScr; Students:= NIL; ReadFileToBase('student.dat', Students); PrintAll(Students, ''); {Если пустое имя файла = на экран} WriteLn; printAllSpecs(Students, True); Free(Students); END.
Количество специальностей не лимитируется (создается динамич. массив) При создании файлов русские буквы заменяются на латинские с помощью двух строк равной длины Считается, что в исходном файле две первые строки информационные
Неизвестный
04.07.2009, 01:56
общий
Спасибо!
Неизвестный
04.07.2009, 02:08
общий
Только как сделать, чтоб он не на экран выводился а сохранялся в файл?
Неизвестный
04.07.2009, 02:22
общий
И что делает функция AddAsFullString?
Неизвестный
04.07.2009, 12:02
общий
1) AddAsFullString разбирает полную строку и вызывает Add для добавления в базу данных 2) Чтобы в файл сохраняло, написано в комментарии перед процедурой
Код:
{Для того, чтобы в файл - любой символ в DEST. Пустой = на экран} procedure PrintSpeciality(s: PStudents; spec: String; dest: String);
То есть, на этом месте ЛЮБОЙ символ, набор символов - сохраняет в файлы (проверял)
Неизвестный
04.07.2009, 12:05
общий
То есть, третьим параметром - непустая строка - значит, вывод в файлы (но в досовской кодировке будет содержимое, ессно. Блокнотом смотреть бесполезно). Я пользуюсь редактором Bred А так, можно, например, в среду разработки программ загрузить (F3 -> *.txt и т.д.)
Форма ответа
Отправка постов/ответов доступна только зарегистрированным и подтвержденным пользователям.
{"canUserNotesAccess":false,"canUserAdminsNotesAccess":false,"canAskQuestion":false,"canEditQuestions":false,"canSeeQuestionsComplains":false,"isSuperAdmin":false,"isAdmin":false,"isModer":false,"canCreateNewUser":false,"canConfirmUser":false,"canEditUserName":false,"canEditUserRole":false,"canEditUserEmail":false,"canEditUserPhone":false,"canEditUserBirthdate":false,"canEditUserCountry":false,"canEditSocialMedia":false,"canDeleteUserPhoto":false,"canDeleteUser":false,"canEditUserAbout":false,"canBanUser":false,"canResetUserPassword":false,"canEditRegistDate":false,"canChangeUserRating":false,"canAccessToAdmin":false,"canAnnouncements":false,"canManageQuestionPosts":false,"canManageForumSections":false,"canManageForumThreads":false,"canManageForumPosts":false,"canCreateForumThreads":false,"canSeeUserEmail":false,"canSeeUserPhone":false,"canSeeIPAddress":false,"canSeeUserRegistDate":false,"canSeeUserSocialMedia":false,"canSeeBirthDate":false,"canSeeUserCountry":false,"canSeeUserSettings":false,"canSeeDeletedPosts":false,"isEmailConfirmed":false,"tel":"","ip":"0.0.0.0","ipLocation":{"ip":"","sDate":0,"postalCode":"","country":"","countryIsoCode":"","federalDistrict":"","region":"","regionType":"","city":"","cityType":"","geoLat":"","geoLon":"","locationString":""},"birthDate":"0001-01-01T00:00:00","age":0,"isBirthdayToday":false,"ban":{"id":0,"userId":0,"isBanned":false,"startDate":"0001-01-01T00:00:00","endDate":"0001-01-01T00:00:00","moder":{"id":0,"name":"Неизвестный","email":"","role":0,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isValid":false,"isLoggedIn":false,"isUnconfirmed":true,"isConfirmed":false,"isNewUser":false,"isExisted":false,"isExpert":false,"isRfproUserClass":false},"reasonHTML":"","timeToUnbanString":"-34 мин."},"isBanned":false,"roleString":"Неподтвержден","roleIcon":"fa-user-clock","socialMedia":[],"aboutText":"","aboutHTML":"","signatureText":"","signatureHTML":"","country":{"id":0,"name":"","isFlagExists":false,"flagImage":"","isValid":false},"city":{"id":0,"name":"","countryId":0,"yandexCityId":0,"isValid":false},"averageEvaluation":0,"absoluteRating":0,"dynamicRating":0,"dynamicRatingStars":0,"timezone":{"id":283,"baseUtcOffset":"03:00:00","displayName":"(UTC\u002B03:00) Москва","linuxid":"Europe/Moscow"},"currentDateTime":"2024-07-01T06:34:06.1759217+03:00","isValid":false,"isUnconfirmed":true,"isConfirmed":false,"settings":{"fixedHeader":true,"fixedFooter":true,"leftColumnMode":2,"darkTheme":false,"topPanelBtns":[{"id":103,"text":"Главная","title":"Главная (начальная) страница Портала","icon":"fa-solid fa-house-chimney","colorClass":"text-info-emphasis","controller":"Home","action":"Index","accessLevel":0,"isDropdown":false},{"id":100,"text":"Вход в систему","title":"Войти в систему с использованием своих регистрационных данных (адрес электронной почты и пароль)","icon":"fa-solid fa-arrow-right-to-bracket","colorClass":"text-info-emphasis","controller":"Login","action":"Index","accessLevel":0,"isDropdown":false},{"id":101,"text":"Регистрация","title":"Зарегистрироваться в системе и стать полноценным участником сообщества","icon":"fa-solid fa-user-plus","colorClass":"text-info-emphasis","controller":"Regist","action":"Index","accessLevel":0,"isDropdown":false},{"id":102,"text":"Сброс пароля","title":"Сбросить пароль свой учетной записи, если Вы его забыли","icon":"fa-solid fa-key","colorClass":"text-danger-emphasis","controller":"Login","action":"ResetPassword","accessLevel":0,"isDropdown":false}],"topPanelBtnsHideText":false},"isLevelUpAllowed":false,"nextRole":1,"counters":{"daysAtPortal":0,"questions":0,"questionsPosts":0,"questionsAnswers":0,"questionsPostsEvaluations":0,"forumPosts":0},"isRfproUserClass":true,"id":0,"name":"Неизвестный","email":"","role":0,"registDate":"0001-01-01T00:00:00","lastDate":"0001-01-01T00:00:00","photo":"images/unophoto.png?v=9.4.12","lastDateIndicatorClass":"gray","lastDateIndicatorText":"давно","photoPreview200":"images/unophoto.png?v=9.4.12","photoPreview120":"images/unophoto.png?v=9.4.12","photoPreview100":"images/unophoto.png?v=9.4.12","photoPreview80":"images/unophoto.png?v=9.4.12","photoPreview40":"images/unophoto.png?v=9.4.12","isPhotoExists":false,"isLoggedIn":false,"isNewUser":false,"isExisted":false,"isExpert":false}