| 
| 
 | Вопрос # 1 758/ вопрос решён / | 
 |  Здравствуйте!У меня маленький вопросик.
 Есть некое cgi приложение. Через форму передаются параметры этому приложению ( например Myaap.cgi?ti=too&tot=rur)
 как отделить Эти значения друг от друга?
 Заранее спосибо =))
 
|  |   Вопрос задал: Елагин Сергей (статус: Посетитель)Вопрос отправлен: 8 июля 2008, 16:26
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович Здравствуйте, Елагин Сергей!
 procedure
var
  line,
  right  : string;
  params : TStringList;
begin
 line := <input>;
 params := TStringList.Create;
 Params.Delimiter := '=';
 //
 right := Copy(line, 1, Pos('?', line)-1);
 Delete(line, 1, Pos('?', line));
 //
 while Pos('&', line) > 0 do
   begin
     Params.Add( Copy(line, 1, Pos('&', line)-1) );
     Delete(line, 1, Pos('&', line));
   end;
 Params.Add( line );
 //
 // получение имени первого параметра и его значения
 ShowMessage(params.Names[0]+'  =  '+params.Values[params.Names[0]]);
end;Ответ #2. Отвечает эксперт: Вадим К Здравствуйте, Елагин Сергей!Так как по вашему вопросу не совсем понятно, где именно вы застрягли и какие ещё вопросы появляться, почитайте для начала вот это.
 Если нужно банально разбить стрку на параметры, то здесь всё просто. Пусть в s - готовый url
 
 var sl:tstringList;
begin
s := copy(s, pos('?',s)+1, maxint);
 
sl := TStringList.create;
sl.delimeter := '&';
sl.delimetertext := s;
 
//а теперь можно уже использовать. например узнать значение параметра ti
sl.values['ti']; // это будет строка
sl.count //кол-во параметров
sl.names[1] ;//название 1 параметра
 
...
sl.free; //не забываем.Но есть одна маленькая загогулина  - некоторые символы в значениях параметрах будут заменены. это &<>'" С помощью replacestring можно всё восстановить.
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 8 июля 2008, 23:47
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 8 июля 2008, 18:22; участников в обсуждении: 1. 
|   | Amidamaru (статус: 4-ый класс), 8 июля 2008, 18:22 [#1]:я немного не понял вопрос, можно по подробнее о том как эти значения вообще передаются? какие компоненты используешь и т.п. |  31 января 2011, 19:31: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |