Показать сообщение отдельно
  #8  
Старый 17.04.2014, 09:38
Eugene287 Eugene287 вне форума
Прохожий
 
Регистрация: 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 пишет все данные..а как сделать,чтобы каждый параметр записывался в свою переменную?!
что-то не понимаю как это сделать..
Ответить с цитированием