Показать сообщение отдельно
  #7  
Старый 17.04.2014, 01:08
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Eugene287
...необходимо разобрать строку по параметрам..
Код:
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;
Ответить с цитированием