Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.11.2010, 08:57
Аватар для Bloo
Bloo Bloo вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 54
Репутация: 10
Восклицание Поиск в тексте 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 и поиск работал без интернета, а только с открытой страницы?

Очень нужна помощь, заранее благодарю
Ответить с цитированием
  #2  
Старый 09.11.2010, 09:38
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

конечно с сетью хочет иметь дело, тебе это ни чего не говорит?
Код:
 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  
Старый 09.11.2010, 11:35
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Это:
Код:
 S.Text:=HTTP.Get('http://www.rbc.ru/out/802.csv');

На это меняем:
Код:
s.LoadFromFile('Путь к файлу');
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #4  
Старый 09.11.2010, 17:23
Аватар для Bloo
Bloo Bloo вне форума
Новичок
 
Регистрация: 04.11.2010
Сообщения: 54
Репутация: 10
По умолчанию

bulldog, говорит совсем не много, я действительно не особо в этом пока разбираюсь
Black Raider, фантастика! Спасибо большое, всего-то надо было... )))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025