Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Вниз

Post   Найти похожие ветки 

 
X-rem ©   (2007-05-18 22:38) [0]

HELP ME. Мне срочно надо.

Короче мне надо: 1. "Изъять" переменные $_POST 2.TWebBrowser.Navigate и отослать данные $_POST

Unit1:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Wininet, OleCtrls, SHDocVw, HTTPApp, HTTPProd, xmldom, XMLIntf,
 msxmldom, XMLDoc, Sockets, DBXpressWeb, DBBdeWeb, DSProd, DBWeb, StdCtrls,
 XPMan, WebAdapt, WebComp, ActnList, ExtActns, ComCtrls, ExtCtrls, Buttons,
 jpeg, Menus, IniFiles, Registry, Spin;

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   Splitter1: TSplitter;
   Edit1: TEdit;
   Label1: TLabel;
   Edit2: TEdit;
   Label2: TLabel;
   Splitter2: TSplitter;
   Label3: TLabel;
   Label4: TLabel;
   BitBtn1: TBitBtn;
   Edit3: TEdit;
   Label5: TLabel;
   Splitter3: TSplitter;
   BitBtn2: TBitBtn;
   Label6: TLabel;
   Label7: TLabel;
   SpinEdit1: TSpinEdit;
   Timer1: TTimer;
   XPManifest1: TXPManifest;
   BitBtn3: TBitBtn;
   procedure BitBtn1Click(Sender: TObject);
   procedure WebBrowser1DownloadBegin(Sender: TObject);
   procedure WebBrowser1DocumentComplete(Sender: TObject;
     const pDisp: IDispatch; var URL: OleVariant);
   procedure BitBtn2Click(Sender: TObject);
   procedure SpinEdit1Change(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form1.WebBrowser1.Navigate(Form1.Edit3.Text);
end;

procedure TForm1.WebBrowser1DownloadBegin(Sender: TObject);
begin
Form1.Label4.Caption:="Идет загрузка страницы...";
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
begin
Form1.Label4.Caption:="Готово";
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form1.BitBtn1.Enabled:=False;
Form1.BitBtn2.Enabled:=False;
Form1.Timer1.Interval:=Form1.SpinEdit1.Value;
Form1.Timer1.Enabled:=True;
Form1.SpinEdit1.Enabled:=False;
Form1.WebBrowser1.Refresh2;
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
if Form1.SpinEdit1.Value<0 then Form1.SpinEdit1.Value:=0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.WebBrowser1.Refresh2(EmptyParam);
end;

end.


Скачать исходник тут:  http://slil.ru/24388467
Ссылка будет жить до 17 июня


 
G_M_S ©   (2007-05-21 10:38) [1]

$_POST - переменные в РНР! В Дельфи их нет в принципе :)))

И несколько неясно, откуда вы их на КЛИЕНТЕ собрались извлекать, поскольку это параметры, получаемые сервером в POST-запросе.


 
Seeker ©   (2007-05-21 11:12) [2]


> И несколько неясно, откуда вы их на КЛИЕНТЕ собрались извлекать,
>  поскольку это параметры, получаемые сервером в POST-запросе.
>

Cервер получает -> значит клиент передает-> занчит получить можно...

function GetPostParam(const PostData: OleVariant): string;
var
 V: Variant;
 P: PChar;
 lb, hb, i: Integer;
begin
V:=Variant(TVarData(PostData).VPointer^);
if VarIsArray(V) then begin
P:=VarArrayLock(V);
 try
  lb := VarArrayLowBound(V, 1);
  hb := VarArrayHighBound(V, 1);
  SetString(Result, P, hb - lb + 1);
  for i := 1 to Length(Result) do if Result[i] = #0 then begin
  SetLength(Result, i - 1); Break; end; Exit;
 finally  VarArrayUnlock(V);   end;
end;
Result:= "";
end;
...
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
 const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
 Headers: OleVariant; var Cancel: WordBool);
begin
ShowMessage(GetPostParam(PostData));
end;
...


 
G_M_S ©   (2007-05-21 18:07) [3]

Так и не понял я: нафик на клиенте получать параметры, которые САМ КЛИЕНТ передает?


 
Seeker ©   (2007-05-23 11:43) [4]


> Так и не понял я: нафик на клиенте получать параметры, которые
> САМ КЛИЕНТ передает?

Вы всегда знаете что передает броузер в сеть?
Иногда возникает необходимость это узнать (особенно если все идет через https)


 
G_M_S ©   (2007-05-23 15:06) [5]


> Вы всегда знаете что передает броузер в сеть?

Если это "мой" TWebBrowser - да, т.к. все параметры будут взяты из документа, в него загруженного (за исключением варианта наличия нескольких форм). Единственный (ИМХО) вариант разбирать PostData - это когда надо что-то подменить.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
11-1183307342
Rusya
2007-07-01 20:29
2008.02.10
Тики в тракбаре


2-1200674054
Dark
2008-01-18 19:34
2008.02.10
XML


2-1200658916
_Shuler_
2008-01-18 15:21
2008.02.10
Подсказка


15-1199964122
Дуболом
2008-01-10 14:22
2008.02.10
Вопрос про компилятор и предупреждения


2-1200399117
Dina
2008-01-15 15:11
2008.02.10
Из Delphi в ???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский