![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TwebBrowser событие OnBeforeNavigate2 проблема с PostData [D5, Win95/98]
Secam © (2002-05-26 21:38:00)Уважаемые мастера,
Вопрос такой, В WebBrowser загружается страничка с формой для заполнения. Момент отправки формы отлавливаю по событию OnBeforeNavigate2. Преобразую OleVariant"ы в строки. URL - все нормально, Headers - нормально, а в POSTDATA одни вопросительные знаки.В watch листе написано: PostData - Variant array of Byte.
Но когда я пытаюсь обратиться к элементам массива,
вылетает сообщение об ошибке: PostData is not array.
Помогите пожалуйста, вопрос жизни и смерти !
Как преобазовать PostData в строку ?
int64 (2002-05-27 07:41:00) [1]Следующий код, по идее, с любой ссылке зайдёт на HotMail с логином
"MyUsername"и паролем"MyPassword". (разумеется, если такие есть)
function Encode(const S: string): string;
var
I: Integer;
Hex: string;
begin
for I := 1 to Length(S) do
case S[i] of
" ": result := Result + "+";
"A".."Z", "a".."z", "*", "@", ".", "_", "-",
"0".."9", "$", "!", """", "(", ")":
result := Result + s[i];
else
begin
Hex := IntToHex(ord(S[i]), 2);
if Length(Hex) = 2 then Result := Result + "%" + Hex else
Result := Result + "%0" + hex;
end;
end;
end;
function StringToVarArray(const S: string): Variant;
begin
Result := Unassigned;
if S "" then
begin
Result := VarArrayCreate([0, Length(S) - 1], varByte);
Move(Pointer(S)^, VarArrayLock(Result)^, Length(S));
VarArrayUnlock(Result);
end;
end;
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
Url := "https://lc1.law5.hotmail.passport.com/cgi-bin/dologin";
TargetFrameName:=0;
Flags:=NavNoHistory;
headers := StringtoVarArray("Content-Type:application/x-www-form-urlencoded"#13#10);
Postdata := StringToVarArray(Encode("login=&passwd="));
end;
Дерзай.
Secam (2002-05-27 04:50:00) [2]Если бы всё было так просто, я бы не спрашивал, это не работает,
всё те же знаки вопроса. :(((
Song (2002-05-26 23:12:00) [3]String()