<HTML>
<BODY>
<TITLE> Testing Delphi ASP </TITLE>
<form action=test.exe method=post>
<input name=aaa value=111>
<input name=aaa value=222>
<input type=submit>
</form>
</BODY>
</HTML>
위의 소스에서 보듯이 aaa라는 이름은 배열로 되어있어
test.exe에서 웹서버애플리케이션으로 작성시
Request.QueryFields.values['aaa'] 하면 첫번째 111만 나옵니다
aaa의 값중 222의 값을 읽는 방법은 없는지요?
델파이헬프를 보면 TStrings에 Name=Value에 형식으로 값을 넣을때
identify(구분할수 있는값) string을 넣으라고 합니다. 내부적으로 살펴봐도
name=111 #$??#$?? name=222 라고 QueryField에 값이 있읍니다.
단지 Values['name'] 하면 처음것만 되게 되어 있죠..그러니 님이 사용하는
방식은 옭지 않은 방식 이겠네요..
그래도 꼭 그렇게 해야 겠다면 다음의 코드를 이용 하세요..
type
TArrayStr = array of string;
function GetMyValue(Strings: TStrings): TArrayStr;
var
i: Integer;
begin
SetLength(Result , Strings.Count);
for i := 0 to Strings.Count - 1 do
Result[i] := Copy(Strings.Strings[i], Pos('=', Strings.Strings[i]) + 1, MaxInt);
end;
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
sArray: TArrayStr;
i: Integer;
begin
sArray := GetMyValue(Request.QueryFields);
for i := 0 to Request.QueryFields.Count - 1 do
Response.Content := Response.Content + sArray[i];
end;