[{"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":"-16 мин."},"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":1660.904,"dynamicRatingStars":10,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T21:16:02.8265386+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":6619,"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":"-16 мин."},"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.897,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T21:16:02.8267623+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":"-16 мин."},"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.5,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T21:16:02.8268616+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":5336,"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":"-16 мин."},"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":376.965,"dynamicRatingStars":8,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T21:16:02.8269468+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":2509,"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":"-16 мин."},"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.075,"dynamicRatingStars":7,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T21:16:02.8270744+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":2788,"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":"-16 мин."},"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.898,"dynamicRatingStars":7,"timezone":{"id":0,"baseUtcOffset":"00:00:00","displayName":"[не установлен]","linuxid":"notset/clean"},"currentDateTime":"2024-07-01T21:16:02.8272063+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":5778,"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}]
Помогите пожалуйста написать программу по работе с CD проигрывателем. Цель программы - изучение возможностей драйвера CD-ROM msdex. Задание - Реализовать 1) функцию получения информации о диске; или 2) реализовать функцию продолжения проигрывания (одно из двух).
Предпочтителен - TASM, но буду рад и другим вариантам. Процессор - 64-битный.
В приложении пример реализации функции открытия/закрытия дверцы CD ROM.
Спасибо!
Приложение: ;программа, реализующая открытие и закрытие дверцы CD ROM jumps locals model compact include fmt.inc include codes.inc public _CheckCD ;проверить наличие драйвера public _DoorOpen ;открыть дверцу public _DoorClose ;закрыть дверцу
DATA SEGMENT public num_drives db ? first_drive db ? tabl ReadWriteL_Hdr ? help db ? help1 db ? DATA ENDS
CODE SEGMENT ASSUME ds:DATA, cs:CODE
_CheckCD PROC C FAR ;возвращает в AL к-во устройств ;Если 0 - нет MSCDEX ; проверка наличия MSCDEX push ds push DATA pop ds mov ax, 1500H ;получить число устройств xor bx,bx int 2FH ;RETURN: ;BX - количество устройств ;CX - буква первого устройства mov first_drive,cl mov num_drives,bl mov ax, 150BH ;получить число устройств xor bx,bx int 2FH cmp bx,0ADADH jne @@egog jmp short @@exit @@egog: xor al,al xor cl,cl @@exit: mov al,num_drives mov cl,first_drive pop ds retf ENDP _CheckCD
;--------------------------------------------------------------- _DoorOpen PROC C FAR ARG dev:byte, letter:byte push ds push DATA pop ds
mov al,num_drives mov cl,first_drive mov dev, al mov letter, cl
Гальцов Андрей: Приведите файлы fmt.inc и codes.inc
Об авторе:
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен
Неизвестный
23.05.2010, 18:34
общий
Лысков Игорь Витальевич: _CheckCD PROC C FAR ;тестировать CD ROM ;возвращает в AL к-во устройств ;Если 0 - нет MSCDEX ; проверка наличия MSCDEX push ds push DATA pop ds mov ax, 1500H ;получить число устройств xor bx,bx int 2FH ;RETURN: ;BX - количество устройств ;CX - буква первого устройства mov first_drive,cl mov num_drives,bl mov ax, 150BH ;получить число устройств xor bx,bx int 2FH cmp bx,0ADADH jne @@egog jmp short @@exit @@egog: xor al,al xor cl,cl @@exit: mov al,num_drives mov cl,first_drive pop ds retf ENDP _CheckCD
;--------------------------------------------------------------- _DoorOpen PROC C FAR ;открыть дверцу ARG dev:byte, letter:byte push ds push DATA pop ds
Гальцов Андрей: Вы привели то ж самое, что и в вопросе. В самом начале есть два include-а include fmt.inc include codes.inc Вот эти два файлика и хотелось бы увидеть
Об авторе:
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен
Неизвестный
24.05.2010, 13:04
общий
Лысков Игорь Витальевич: Ммм...в методичке по этому поводу ничего нет...
Неизвестный
25.05.2010, 15:10
общий
Гальцов Андрей: Цитата: 150353
Процессор - 64-битный.
А при чем здесь 64-битный процессор? В задании:
Цель программы - изучение возможностей драйвера CD-ROM msdex.
(правильно: MSCDEX) Так что, определенно, Вам нужна программа для MSDOS (16-битный код). Да и пример Вы привели для реального режима, под MSDOS.
Неизвестный
25.05.2010, 19:45
общий
amnick: 64 - потому что в руководстве к заданию вопроса сказано указать процессор на котором будет запускать данная программа... msdex - в метод указаниях так написано , преподаватели некоторые наверно как и студенты уже деградируют... пример - опять же, какой был в методичке...
Неизвестный
25.05.2010, 20:17
общий
Гальцов Андрей: Цитата: 150353
64 - потому что в руководстве к заданию вопроса сказано указать процессор на котором будет запускать данная программа...
Вы несколько неправильно поняли.
Какой процессор используется. Если х86-совместимый, то можно не указывать. За исключением случая, когда необходимы специальные возможности (например, MMX, 3D-NOW!, SSE, SSE2, ...);
Какая платформа (для х86-совместимых: ДОС/Windows/*nix);
Довольно много вопросов задается для не-x86-совместимых процессоров. Указав, что 64-битный процессор, Вы тем самым указали, что требуется использовать специальные возможности именно 64-битного процессора. Вам стоило указать, под какую платформу писать. В данном случае, из вопроса следует, что под DOS, но это не всегда понятно.
msdex - в метод указаниях так написано , преподаватели некоторые наверно как и студенты уже деградируют...
Хороши же у Вас преподаватели... Впрочем, может быть обычной опиской, не переделывать же из-за этого всю методичку. Но даже и в этом случае следовало бы исправить от руки. К сожалению, студенты понимают все буквально...
Об авторе:
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен
Неизвестный
25.05.2010, 21:01
общий
Гальцов Андрей:
1) функцию получения информации о диске
Я сделал кое-что по этому пункту. В связи с этим вопрос — а какую именно информацию? Это все довольно трудоемко (уже больше 300 строк, правда, вместе с комментариями, да и кое-какой мусор потом удалится), так что уточните, пожалуйста. В любом случае, на сегодня хватит. Продолжу завтра, если никто до тех пор не сделает.
Неизвестный
27.05.2010, 19:33
общий
amnick: Буду очень благодарен за уже сделанное...мне лишь бы какая информация...просто уже сдавать надо...экзамен скоро ...главное показать что бы хоть что-то работало... Спасибо за такое серьезное отношение к моему вопросу
Неизвестный
28.05.2010, 23:07
общий
31.05.2010, 14:26
это ответ
Здравствуйте, Гальцов Андрей.
Программа в приложении возвращает кое-какую информацию: - версия MSCDEX; - кол-во CD-приводов и их буквы; Для каждого привода: - статус (код завершения операции и расшифровка 5-ти младших битов); - размер сектора (вообще-то, для CD всегда 2048 байт); - если поддерживается, то размер raw сектора (тоже всегда 2352 байт); - размер диска в секторах; - номера начальной и конечной дорожек; - стартовая точка дорожки lead-out.
Компилировать программу в COM-файл.
Тестировать только в чистом DOS! Иначе работает неверно (в Win95/98 не проверял). Кроме того, у меня на этом компьютере только один привод, поэтому работоспособность с несколькими не проверена.
К сообщения приложен файл "Microsoft MS-DOS CD-ROM Extensions 2.1" - описание программного интерфейса MSCDEX (на английском).
Успехов!
Приложение: ; Отображение некоторой информации о CD-приводе и диске ; с использованием функций MSCDEX
locals @@ .model tiny
; Заголовок запроса для обращения к драйверу RQ_HEADER STRUC bSize DB ? ; Length in bytes of request header bSubUnit DB ? ; Subunit code for minor devices bCmd DB ? ; Command code field wStatus DW ? ; Status bReserved DB 8 dup (?) RQ_HEADER ENDS
; Запрос на получение информации о компакт-диске TDiskInfo STRUC bControl DB ? bLowest DB ? bHighest DB ? dwTotal DD ? TDiskInfo ENDS
; Запрос для определения текущего состояния CD-привода TDeviceStatus STRUC bControl DB ? dwParam DD ? TDeviceStatus ENDS
; Запрос для определения общего количества секторов на компакт-диске TVolumeSize STRUC bControl DB ? dwVolumeSize DD ? TVolumeSize ENDS
TSectorSize STRUC bControl DB ? bReadMode DB ? wSectorSize DW ? TSectorSize ENDS
.data msgHello db 'CDINFO',13,10,10,'$' msgNoMSCDEX db 'MSCDEX is not installed' eol db 13,10,'$' msgVerMSCDEX db 'MSCDEX version: ' strNum db 16 dup (0) msgFound db ' CD drive(s) found',13,10,'$' msgLetters db 'CD-ROM letters: $' msgStatus db 'Status of CD Drive x: ' strStatus db '0000',13,10,'$' msgFailed db '-- failed',13,10,'$' msgSectorSize db 'Sector Size: ' strSectorSize db ' bytes',13,10,'$' msgRawSecSize db 'Raw Sector Size: ' strRawSecSize db ' bytes',13,10,'$' msgVolumeSize db 'Volume Size: ' strVolumeSize db ' blocks',13,10,'$' msgLowestTrack db 'Lowest track number $' msgHighestTrack db 'Highest track number $' msgLeadOutTrack db 'Starting point of the lead-out track $'
msgBit0_0 db 9,'Door closed$' msgBit0_1 db 9,'Door open$'
msgBit1_0 db 9,'Door locked$' msgBit1_1 db 9,'Door unlocked$'
msgBit2_0 db 9,'Supports only cooked reading$' msgBit2_1 db 9,'Supports cooked and raw reading$'
msgBit3_0 db 9,'Read only$' msgBit3_1 db 9,'Read/write$'
msgBit4_0 db 9,'Data read only$' msgBit4_1 db 9,'Data read and plays audio/video tracks$'
nDrives dw 0 nFirst db 0 cdLetters db 26 dup(0) oneLetter db 'x $' hex db '0123456789ABCDEF' drive dw 0
devStatus TDeviceStatus <6,0> ; Состояние CD-привода volumeSize TVolumeSize <8,0> ; объем устройства sectorSize TSectorSize <7,0,0> diskInfo TDiskInfo <10,0,0,0>
.code .startup
cld mov ah,9 mov dx,offset msgHello int 21h
; Проверяем, установлена ли программа MSCDEX mov ax,1500h ; получить число устройств xor bx,bx int 2Fh ; BX - количество устройств ; CX - номер первого устройства (0 - A:, 1 – B: и т.д.) test bx,bx jnz @@ok
mov ah,9 mov dx,offset msgNoMSCDEX int 21h int 20h
@@ok: mov [nDrives],bx ; BX - количество устройств mov [nFirst],cl ; CX - номер первого устройства (0 - A:, 1 – B: и т.д.)
; Определяем и выводим версию MSCDEX mov ax,150Ch ; определить версию MSCDEX int 2Fh ; BH = старший номер верии MSCDEX, BL = младший
xor ax,ax mov al,bh push bx mov di,offset strNum call num2str ; преобразуем в строку старший номер версии
mov al,'.' ; десятичная точка stosb
pop ax xor ah,ah call num2str ; преобразуем в строку младший номер версии
; Цикл по всем CD-приводам mov cx,[nDrives] ; число CD-приводов, ненулевое mov si,offset cdLetters @@next_drive: push cx
lodsb mov cl,al ; номер привода add al,'A' ; буква привода для сообщения mov [strStatus-3],al xor ch,ch mov [drive],cx
; запрашиваем и отображаем статус привода call GetDeviceStatus push ax mov di,offset strStatus call word2hex mov ah,9 mov dx,offset msgStatus int 21h pop ax test ah,80h ; ошибка? jz @@ok2
mov ah,9 ; да, ошибка mov dx,offset msgFailed int 21h jmp short @@sect_size
@@ok2: ; расшифровываем 5 младших битов статуса привода mov ch,byte ptr [devStatus].dwParam mov ah,9 mov bx,offset Table_Status1-2 ; указатель на конец таблицы сообщений mov cl,10000b @@next_bit: mov dx,[bx] ; адрес сообщения, когда бит = 0 test ch,cl jz @@bit0 mov dx,[bx+SIZE_TBL_STATUS] ; адрес сообщения, когда бит = 1 @@bit0: int 21h mov dx,offset eol ; переход на новую строку int 21h dec bx ; перемещаем указатель в таблице dec bx shr cl,1 ; сдвигаем битовую маску jnz @@next_bit
@@sect_size: ; запрашиваем и отображаем размер сектора mov cx,[drive] ;следующее поле необходимо обнулить, иначе размер сектора для всех CD-приводов, кроме первого, может отображаться неверно ;(будет показывать размер raw сектора после того, как встретится привод, поддерживающий чтение в raw) mov [sectorSize.bReadMode],ch ; здесь CH=0 call GetSectorSize mov di,offset strSectorSize mov ax,[sectorSize.wSectorSize] call num2str mov ah,9 mov dx,offset msgSectorSize int 21h
; если поддерживается, то запрашиваем и отображаем размер raw сектора test byte ptr [devStatus].dwParam,100b jz @@skip_raw
pop cx dec cx ; счетчик CD-приводов jz @@end_loop jmp @@next_drive @@end_loop:
int 20h
;------------------------------------------------- ; Определение состояния CD-привода ; Вход: CX = номер привода ; ; The status word is 0 on entry and is set by the device driver. ; ; Bit 15 - Error bit ; Bit 14-10 - Reserved ; Bit 9 - Busy ; Bit 8 - Done ; Bit 7-0 - Error code (bit 15 on) ;------------------------------------------------- GetDeviceStatus PROC PASCAL LOCAL cmd: IOCTL_Input
mov word ptr [cmd.lpTransferAddress], offset devStatus mov [cmd.wDataSize],5 mov [devStatus.bControl],6 ; Device Status
mov [cmd.bMediaDescriptor],al push DS pop word ptr [cmd.lpTransferAddress+2] mov [cmd.wStartSector],ax mov word ptr [cmd.lpVolID],ax mov word ptr [cmd.lpVolID+2],ax
push SS pop ES lea bx,[cmd] mov ax,1510h int 2Fh ; CX = номер CD-привода mov ax,[cmd.rh.wStatus] ret GetDeviceStatus ENDP
;------------------------------------------------- ; Определение размера сектора компакт-диска ; Вход: CX = номер привода ;------------------------------------------------- GetSectorSize PROC PASCAL LOCAL cmd: IOCTL_Input
;------------------------------------------------- ; Получение информации о компакт-диске ;------------------------------------------------- GetDiskInfo PROC PASCAL LOCAL cmd: IOCTL_Input
mov word ptr [cmd.lpTransferAddress], offset diskInfo mov [cmd.wDataSize],7 mov [diskInfo.bControl],10 ; Audio Disk Info jmp _call_driver GetDiskInfo ENDP
;------------------------------------------------- ; Преобразование числа в строку ; Вход: ; AX = число ; DI = адрес строки ; Выход: ; DI - указывает на байт за концом строки ; CX = 0 ;------------------------------------------------- num2str PROC xor cx,cx ; обнуляем счетчик цифр mov bx,10 ; основание системы счисления @@1: xor dx,dx ; будем делить DX:AX на BX div bx ; DX = последняя цифра push dx ; мы получаем цифры в обратном порядке inc cx ; счетчик цифр test ax,ax ; повторяем, пока частное в AX != 0 jnz @@1
pop_string: ; формируем строку из цифр mov dx,di ; для вывода на экран @@2: pop ax ; извлекаем очередную цифру из стека add al,'0' ; переводим её в символ stosb ; переносим в строку loop @@2 ret num2str ENDP
;------------------------------------------------- ; Преобразование длинного целого числа в строку ; Вход: ; EAX = число ; DI = адрес строки ; Выход: ; DI - указывает на байт за концом строки ; CX = 0 ;------------------------------------------------- long2str PROC .386 xor cx,cx ; обнуляем счетчик цифр mov ebx,10 ; основание системы счисления @@1: xor edx,edx ; будем делить EDX:EAX на BX div ebx ; EDX = последняя цифра push dx ; мы получаем цифры в обратном порядке inc cx ; счетчик цифр test eax,eax ; повторяем, пока частное в EAX != 0 jnz @@1 jmp pop_string .8086 long2str ENDP
;------------------------------------------------- ; Преобразование числа в 16-ричное представление ; Вход: ; AX = число ; DI = адрес строки ; Выход: ; DI - указывает на байт за концом строки ;------------------------------------------------- word2hex PROC push ax mov al,ah call byte2hex_internal pop ax byte2hex: mov ah,al byte2hex_internal: .286 shr al,4 mov bx,offset hex xlat stosb mov al,ah and al,0Fh xlat stosb ret word2hex ENDP
;------------------------------------------------------ ; вспомогательная функция для вывода информации о диске ; Вход: ; (E)AX = число ; DX = адрес сообщения ; CX = адрес функции преобразования числа в строку ;------------------------------------------------------ diskInfoMsg proc push ax mov ah,9 int 21h pop ax mov di,offset strNum call cx ; преобразуем в строку младший номер версии mov ax,0A0Dh ; Добавляем конец строки stosw mov byte ptr [di],'$' mov ah,9 mov dx,offset strNum int 21h ret diskInfoMsg endp
Гальцов Андрей: На вопросы, если у Вас будут, отвечу после выходных.
Неизвестный
31.05.2010, 13:51
общий
Заметил ошибку — нужно добавить выделенную строку, иначе размер сектора для всех CD-приводов, кроме первого, может отображаться неверно (будет показывать размер raw сектора после того, как встретится привод, поддерживающий чтение в raw):
Код:
@@sect_size: ; запрашиваем и отображаем размер сектора mov cx,[drive] mov [sectorSize.bReadMode],ch ; здесь CH=0 call GetSectorSize
Я внес исправление в ответ (вместе с комментарием)
Об авторе:
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен
Неизвестный
31.05.2010, 21:27
общий
Лысков Игорь Витальевич: Спасибо!) А можно еще такой воросо...как это "запускать программу через com"?...потому что я всегда запускаю через tasm.bat, где параметром передаю ему файл с кодом программы...
Гальцов Андрей: Конечно, можно Под "запускать программу через com", по-видимому, понимается создать файл формата COM. (Хотя оборот, конечно, хитрый) Для этого необходимо, чтобы tlink вызывался с параметром /t (без параметра будет создан EXE-файл) Или явно, или в bat-файле... В Вашем случае, файл tasm.bat должен содержать: tasm %1 tlink /t %1 Тогда вызывая tasm.bat name, получим name.com Удачи!
Об авторе:
"Если вы заметили, что вы на стороне большинства, — это верный признак того, что пора меняться." Марк Твен
Форма ответа
Отправка постов/ответов доступна только зарегистрированным и подтвержденным пользователям.
{"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":"-16 мин."},"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-02T00:16:02.8276141+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}