Здравствуйте.
Вот запрограммирован класс хранящий инфу о военных: ФИО и Возраст.
class Military
{ private: char FIO; int Age;
public:
Military(char FIOName, int A):FIO(FIOName),Age(A){};
Military(){};
~Military(){};
char get_FIO(){return FIO;};
int get_Age(){return Age;};
void set_F(char FIOName){FIO=FIOName;};
void set_Age(int A){Age=A;};
Его потомок — Рядовой: (год службы, род войск + ФИО и возраст из родительского класса Military)
class Soldier: public Military
{ private: int YearOfServ; char TypeOfForces; //год служб. род войск
public:
Soldier(int YOS, char TOF, char FIOName, int A):
Military(FIOName),Military(A),YearOfServ(YOS),TypeOfForces(TOF){};
Soldier(){};
~Soldier(){};
int get_YearOfServ(){return YearOfServ;};
char get_TypeOfForces(){return TypeOfForces;};
void set_YearOfServ(int YOS){YearOfServ=YOS;};
void set_TypeOfForces(char TOF){TypeOfForces=TOF;};
}
При попытке скомпилить, выдается ошибка:
Could not find a match for ‘Military::Military(char)’
в строке
Military(FIOName),Military(A),YearOfServ(YOS),TypeOfForces(TOF){};
И в ней же ошибка Base class ‘Military’ is initialized more than once
И все бы ничего, дав вот из методички пример работает отлично, хотя там все так же, только не военные, а геометрические фигуры.
Родитель:
class Figure
{private: int Color;//поле класса, доступное только классу
public://методы класса, доступные классам-потомкам и программе
Figure(int PC):Color(PC){};
Figure(){};
~Figure(){};
int get_Color(){return Color;};
void set_Color(int PC){Color=PC;};
virtual AnsiString Info()
{AnsiString res;
switch (Color) {
case 1:res="красный"; break;
case 2:res="оранжевый"; break;
case 3:res="желтый";break;
case 4:res="зеленый"; break;
case 5:res="голубой"; break;
case 6:res="синий"; break;
case 7:res="фиолетовый"; break;
};return res;};
Потомок: (Круг, где Х,Y-координаты центра, R — радиус)
class Circle: public Figure
{private: int X,Y,R;
public:
Circle(int PX,int PY,int PR,int PC):
Figure(PC),X(PX),Y(PY),R(PR){}
Circle(){}
int get_X(){return X;}
int get_Y(){return Y;}
int get_R(){return R;}
void set_X(int PX){X=PX;};
void set_Y(int PY){Y=PY;};
void set_R(int PR){R=PR;};
}
В строке
Circle(int PX,int PY,int PR,int PC):Figure(PC),X(PX),Y(PY),R(PR){}
Точно так же идет обращение к параметру РС определяющему цвет, через указание класса которому принадлежит этот параметр Figure(PC)
И подобных ошибок как у меня не возникает.
22.11.22 — 18:59
Работаем с sftp, выкладываем файлы из 1с для склада. Получили ошибку, после обновления сервиса (сменили формат ssh-rsa на ed25519) на стороне склада (выслали новые параметры ключа). При заполнении «SessionOptions»,
конкретно параметра «SshHostKeyFingerprint», получаю ошибку:
Произошла исключительная ситуация (WinSCPnet): SSH host key fingerprint «Ключ» does not match pattern /((ssh-rsa|ssh-dss|ssh-ed25519|ecdsa-sha2-nistp(256|384|521…
Кто сталкивался, в чем может быть проблема?
1 — 22.11.22 — 19:49
(0) загляни в C:UsersИмяПользователя.ssh
2 — 22.11.22 — 22:27
(1) не нашел файла с расширением ssh
3 — 22.11.22 — 22:31
(2) это не файл а каталог
4 — 22.11.22 — 22:32
5 — 22.11.22 — 22:34
6 — 23.11.22 — 13:23
(0) не совсем понимаю, зачем смотреть папку ssh. Нам выслали два файла ключ и сертификат как понимаю, для подключения. Отправка файла как я понимаю происходит через подключение программы WINSCP. В момент подключения через com объект, и установки параметров объекта происходит ошибка. Человек, который высылал файлы ключей сказал, что ssh-rsa устарел обмен и работает как ed25519.
7 — 23.11.22 — 13:26
sessionOptions = Новый COMОбъект("WinSCP.SessionOptions");
sessionOptions.HostName = ПутьFTP;
sessionOptions.UserName = Пользователь;
sessionOptions.PortNumber = PortNumber;
sessionOptions.SshHostKeyFingerprint= SshHostKeyFingerprint; ———————————- Здесь происходит ошибка «does not match pattern»
8 — 23.11.22 — 13:29
(7) Вы сам winscp открывали, пробовали зайти на ресурс?
9 — 23.11.22 — 13:38
(7) Если на диске C открывать WinSCP, то я подключаюсь к sftp. Вижу папки, и могу вручную скопировать туда файл.
10 — 23.11.22 — 13:40
(9) Так вот, когда вы подключаетесь, там можно скопировать SshHostKeyFingerprint ключ. Его же и надо вставить в sessionOptions.SshHostKeyFingerprint=
11 — 23.11.22 — 13:40
В инете нашел, описание и решение подобной ошибки: https://winscp.net/eng/docs/message_key_fingerprint_does_not_match
Но я так и не понял, (ТАМ ПРИВЕДЕН ПРИМЕР) как:
Base64-encoded SHA-256 SSH host key fingerprint:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M=
Кодировать в:
Hex-encoded SHA-256 TLS host certificate fingerprint:
b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
12 — 23.11.22 — 13:42
В инете просмотрел кучу онлайн кодировщиков, но не получил результат кодирования строки:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M= ,в итоговую строку: b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
13 — 23.11.22 — 13:51
(11) В вашей же ссылке «Самый простой способ получить отпечатки пальцев в правильном формате — заставить WinSCP сгенерировать для вас шаблон кода «
14 — 23.11.22 — 13:51
Я вам и говорю, взять уже сгенерированный правильный ключ и вставить в 1с
15 — 23.11.22 — 14:51
(14) да спасибо, полазил по WINSCP. В меню «Generate session URL/code», закладка «.Net assembly code» нашел примеры SessionOption. Скопировал от туда SshHostKeyFingerprint и о чудо заработало) PS Код кстати не шестнадцатеричном формате.
Всем Спасибо!!!
Garykom
16 — 23.11.22 — 14:53
(15) а лежать оно должно в (5)
Часто задаваемые вопросы
Обзор глоссария по алфавиту
Специальные | А | Б | В | Г | Д | Е | Ё | Ж | З | И | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Э | Ю | Я | Все
Ошибка конвертации: cvc-complex-type.4: Attribute ‘citizenshipCode’ must appear on element ‘parentPerson’.Ответ. Некорректно указано или не |
|
|
Ошибка конвертации: cvc-complex-type.4: Attribute ‘effectiveDate’ must appear on element ‘reasonDocument’.Ответ. Некорректно указано или не |
|
|
Ошибка конвертации: cvc-complex-type.4: Attribute ‘gender’ must appear on element ‘parentPerson’.Ответ. Некорректно указано или не |
|
|
Ошибка конвертации: cvc-complex-type.4: Attribute ‘orgName’ must appear on element ‘reasonDocument’.Ответ. Не |
|
|
Ошибка конвертации: cvc-pattern-valid: Value ‘000-000-000 13’ is not facet-valid with respect to pattern ‘d{11}’ for type ‘SNILSType’.Ответ. СНИЛС необходимо указывать |
|
|
Ошибка конвертации: cvc-pattern-valid: Value ‘10000000001 ‘ is not facet-valid with respect to pattern ‘d{11}’ for type ‘SNILSType’.Ответ. Данная |
|
|
Ошибка конвертации: cvc-pattern-valid: Value ‘2365415921’ is not facet-valid with respect to pattern ‘d{11}’ for type ‘SNILSType’.Ответ. СНИЛС должен содержать 11 цифр. Если в СНИЛС имеется ноль, то необходимо выбрать формат ячейки «Текстовый». |
|
|
Ошибка конвертации: cvc-pattern-valid: Value » is not facet-valid with respect to pattern ‘d{11}’ for type ‘SNILSType’.Ответ. Не указан СНИЛС. |
|
|
Ошибка конвертации: java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cellОтвет. Невозможно |
|
|
Ошибка конвертации: java.lang.NullPointerExceptionОтвет. Используется некорректный формат заполнения сведений, либо вкладки в файле были изменены или удалены. Скачайте актуальный шаблон с портала документации ЕГИССО из раздела 4. «Наполнение Реестров лиц с применением утилиты конвертации файлов Excel» по ссылке: http://elearning.otr.ru/course/view.php?id=70 |
|
|