Поиск в тексте html
В общем мне необходимо написать программу, которя осуществляет поиск в фале html.
Условия программы:
Нет подключения к интернету,есть только сохранённая страница html с курсом валют.
Нужно, чтоб при нажатии кнопки осуществлялся поиск курса USD, EUR и результат выводился в memo (или edit).
Вот код программы, скопированный и немного подкорректированный с одного из исходников данного сайта. Но в нём поиск производится с только с подключённым интернетом:
Код:
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, idHTTP, Menus, ExtCtrls,Clipbrd, ComCtrls,INIFiles;
type TVal=record
Typ:String;
Edizm:String;
Date:TDateTime;
Value:Real;
Incr:Real;
end;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
HTTP: TIdHTTP;
implementation
uses DateUtils;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
S: TStringList;
P,I: integer;
USD,EUR,AFS,pM,pP: string;
begin
HTTP:=TIdHTTP.Create(nil);
HTTP.HandleRedirects:=True;
HTTP.ProtocolVersion:=pv1_0;
HTTP.ProtocolVersion:=pv1_0;
//
S:=TStringList.Create;
S.Text:=HTTP.Get('http://www.rbc.ru/out/802.csv');
// Курс валют
P:=S.IndexOf('#---- Курсы ЦБ РФ ----');
//
if not (P=-1)
then
begin
for i:=0 to 5 do
begin
inc(P);
if Pos('USD ЦБ РФ',S.Strings[p])>0
then USD:=S.Strings[p];
if Pos('EUR ЦБ РФ',S.Strings[p])>0
then EUR:=S.Strings[p];
if Pos('GBP ЦБ РФ',S.Strings[p])>0
then AFS:=S.Strings[p];
end;
// USD ЦБ РФ,1 Доллар США,27/02,31.6065,0.019
// EUR ЦБ РФ,1 ЕВРО,27/02,34.0118,-0.1311
end;
Delete(USD,1,pos('/',USD));
Delete(USD,1,pos(',',USD));
Delete(USD,pos(',',USD),20);
Delete(EUR,1,pos('/',EUR));
Delete(EUR,1,pos(',',EUR));
Delete(EUR,pos(',',EUR),20);
Delete(AFS,1,pos('/',AFS));
Delete(AFS,1,pos(',',AFS));
Delete(AFS,pos(',',AFS),20);
Memo1.Text:='Курс валют на '+DateToStr(Now)+': '+#10#13+#10#10+' Доллар США: '+USD+#10#13+' Евро: '+EUR+#10#13+' Английский фунт стерлингов:'+AFS;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Text:='Курс валют на '+DateToStr(Date)+':';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Что нужно исправить, чтоб вместо ссылки, мы указали путь к странице html и поиск работал без интернета, а только с открытой страницы?
Очень нужна помощь, заранее благодарю 
|