|
Вопрос # 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)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|