Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

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

Да они и так по-полочкам разложены, удобно со значениями в стринглист работать, но если очень хочется чтоб в отдельных переменных были строки, то пжлст, вот

Для начала
Код:
var
CN, OU, O, STREET, L, ST, C, OID_2_5_4_12,
OID_2_5_4_4, OID_2_5_4_41: string;
...
потом
Код:
{ Вариант I, на доверии }

// Вставить до sm.Free

      CN:= sm[0];
      OU:= sm[1];
      O:= sm[2];
      STREET:= sm[3];
      L:= sm[4];
      ST:= sm[5];
      C:= sm[6];
      OID_2_5_4_12:= sm[7];
      OID_2_5_4_4:= sm[8];
      OID_2_5_4_41:= sm[9];
Код:
{ Вариант II, с проверкой наличия нужной строки}

{в процедуре необходимо сделать это

...
 sm.Add(s2);  // sm.Add(Copy(s2, Pos('=', s2) + 1, Length(s2)));
... 

в двух местах}


for i := 0 to sm.Count-1 do
     begin
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'CN' then
      CN:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'OU' then
      OU:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'O' then
      O:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'STREET' then
      STREET:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'L' then
      L:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'ST' then
      ST:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'C' then
      C:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'OID.2.5.4.12' then
      OID_2_5_4_12:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'OID.2.5.4.4' then
      OID_2_5_4_4:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
     if Copy(sm[i],1,Pos('=', sm[i]) - 1) = 'OID.2.5.4.41' then
      OID_2_5_4_41:= Copy(sm[i],Pos('=', sm[i]) + 1, Length(sm[i]));
 end;
но это дебилизм полный, и сразу наводит на мысли о здравии составителя. Если что, этот G-код не мой, возможно навеяло ветром
Ответить с цитированием
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:58.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025