![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() В общем мне необходимо написать программу, которя осуществляет поиск в фале 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 и поиск работал без интернета, а только с открытой страницы? Очень нужна помощь, заранее благодарю ![]() |
#2
|
|||
|
|||
![]() конечно с сетью хочет иметь дело, тебе это ни чего не говорит?
Код:
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'); |
#3
|
|||
|
|||
![]() Это:
Код:
S.Text:=HTTP.Get('http://www.rbc.ru/out/802.csv'); На это меняем: Код:
s.LoadFromFile('Путь к файлу'); Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#4
|
||||
|
||||
![]() bulldog, говорит совсем не много, я действительно не особо в этом пока разбираюсь
![]() Black Raider, фантастика! Спасибо большое, всего-то надо было... ![]() |