17.04.2014, 09:38
|
Прохожий
|
|
Регистрация: 16.04.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
|
|
Цитата:
Сообщение от poli-smen
Что-то эта строка мне сильно напоминает distinguishedName или ADsPath из протокола LDAP. Если это так, то эта строка некорректна - запятые (и другие спецсимволы) в параметрах должны экранироваться символом '\', т.е. должно быть вот так:
'CN=Иванов Иван Иванович, OU=Моя компания, O=экземпляр, STREET=г.Минск \, ул.Ленина д.15 кв.45, L=test, ST=BPS, C=BY, OID.2.5.4.12=программист, OID.2.5.4.4=Иванов, OID.2.5.4.41=BPS-Иван Иванович'
|
нет..это строка из буфера,в котором записаны данные о сертификате эл.ключа для подписи документов.
спасибо большое!получилось!
вопрос закрыт!
Цитата:
Сообщение от Alegun
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s2: string;
sl, sm: TStrings;
i: integer;
flg: boolean;
begin
s2:= 'CN=Иванов Иван Иванович,' +
' OU=Моя компания, O=экземпляр,' +
'STREET=г.Минск, ул.Ленина д.15 кв.45,' +
' L=test, ST=BPS, C=BY, OID.2.5.4.12=программист,' +
' OID.2.5.4.4=Иванов, OID.2.5.4.41=BPS-Иван Иванович';
flg:= true;
sl:= TStringList.Create;
sm:= TStringList.Create;
sl.Delimiter:= ',';
sl.DelimitedText:= s2;
for i := 0 to sl.Count-1 do
if (Pos('=', sl[i]) > 0) then
begin
if flg then
begin
s2:= sl[i] + ' ';
flg:= false;
end else
begin
sm.Add(Copy(s2, Pos('=', s2) + 1, Length(s2)));
s2:= sl[i] + ' ';
end;
end else s2:= s2 + sl[i] + ' ';
sm.Add(Copy(s2, Pos('=', s2) + 1, Length(s2)));
Memo1.Lines.Assign(sm);
sl.Free;
sm.Free;
end;
|
хорошо..в Memo1 пишет все данные..а как сделать,чтобы каждый параметр записывался в свою переменную?!
что-то не понимаю как это сделать..
|