Сгенерированный HTML код в делфи

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Fake22, 9 Sep 2013.

  1. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, я не мастер в программирование но я вот хочу только одного, не могу решить эту проблему...
    Есть 1 сайт и там есть 1 экономический календарь
    надо его отобразить в webbrowser в delphi7 Я пере ковырял весь интернет но не нашел не одной статьи или исходника похожих на то что мне нужно, решил и тут открыть такую тему.

    Вот тот сайт http://ru.investing.com/economic-calendar/

    Этот сайт можно добавить к себе на сайт ( сайта нет, хочу в делфи) и там дают "Сгенерированный HTML код:"

    вот и код

    <iframe frameborder="0" scrolling="auto" height="350" width="670" allowtransparency="true" marginwidth="0" marginheight="0" src="http://ecal.ru.forexprostools.com/e_cal.php?duration=daily&top_text_color=FFFFFF&header_text_color=FFFFFF&bg1=FFFFFF&bg2=CEEBFF&border=CBCBCB" align="center"></iframe><br /><span style="font-size: 11px;color: #333333;text-decoration: none;">Онлайн экономический Каледарь от <a href="http://ru.investing.com/economic-calendar" target="_blank" style="font-size: 11px;color: #06529D; font-weight: bold;" class="underline_link">Investing.com Россия</a>, ведущего финансового портала.</span>

    Просто надо отоброзить его в веб браузере на делфи и все что мне надо, так же есть котировки на сайт они меняются каждую секунду и надо так же чтобы менялись сами данные не используя какой либо функции обновления, просто открыл программку и на форме будет отображен это Сгенерированный HTML код.... На сайте инста форекс у них есть готовая программа такая и она только в .exe можете ее посмотреть вот она тут https://www.instaforex.com/downloads/IFX_DeskTop_Quotes_Setup.exe

    Надо сделать такую же есть котировки только с другого сайта коды у меня есть) Помогите мне плиз в долгу не останусь это точно....
     
  2. tux

    tux Elder - Старейшина

    Joined:
    26 Mar 2009
    Messages:
    423
    Likes Received:
    231
    Reputations:
    67
    Можно этот кадр просто добавить в свою html-страницу и обновлять с нужной частотой.
    Обновлять все равно нужно будет, это ведь не галушки - сами в рот не полезут. :)
     
  3. profexer

    profexer New Member

    Joined:
    10 Apr 2013
    Messages:
    21
    Likes Received:
    2
    Reputations:
    0
    Умение юзать поиск делает магию.

    Вот тебе ф-я для вставки твоего HTML в TWebBrowser.
    Code:
    procedure TextToWebBrowser(Text: string; var WB: TWebBrowser);
    var
      Document: IHTMLDocument2;
      V: OleVariant;
    begin
      // Документ необходимо создать только один раз за текущую сессию работы
      if WB.Document = nil then
        WB.Navigate('about:blank');
      // Ожидаем создания документа и позволяем обрабатывать все сообщения
      while WB.Document = nil do
        Application.ProcessMessages;
      Document := WB.Document as IHtmlDocument2;
      // Вставляем текст (до 2Гб)
      {следующие строчки внесены недавно - старый вариант функции не работал под XP}
      V := VarArrayCreate([0, 0], varVariant);
      V[0] := Text;
      Document.Write(PSafeArray(TVarData(v).VArray));
      Document.Close;
    end;
    
    То есть заюзаешь как-то так:
    Code:
    TextToWebBrowser(ЗДЕСЬ_КОД_ФРЕЙМА, ЗДЕСЬ_ИМЯ_ТВОЕГО_КОМПОНЕНТА_БРАУЗЕРА);
    
     
  4. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Пробовал так
    Form1.WebBrowser1.Navigate(ExtractFileDir(Application.ExeName)+'\1.html');

    Но это совсем не то)
     
  5. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Что-то не понял как это сделать) Можно более подробней? какие еще компоненты нужны? сори за тупость я новичок) :D
     
  6. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    допустим в переменной "а" лежит текст, который тебе дали на сайте, а в переменная wb1 - твой веббраузер на форме
    Тогда вызов будет выглядеть так:
    TextToWebbrowser(a,wb1);
     
  7. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Спасибо сенсей, я попробую если что напишу что получилось) :D ;)
     
  8. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    А еще проще так:
    Code:
    wb1.Navigate('http://ecal.ru.forexprostools.com/e_cal.php?duration=daily&top_text_color=FFFFFF&header_text_color=FFFFFF&bg1=FFFFFF&bg2=CEEBFF&border=CBCBCB');
    (Эта ссылка есть в том тексте, который тебе выдал сайт. В виду того, что у нас HTML пуст будет лучше отображать эту ссылочку в полный экран, а не во фрейме)
     
  9. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Я прошу прощения но можно описать все более тодобней что да как и куда вставить?=) блин я вот уже 3 часа тыкаю и толку нет)) пожалуйста... :(
     
  10. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Вот еще динамические котировки нашел но если их поставить на сайт то они сами по себе обновляются. Т.е. не надо ни чего обновлять а как сделать в делфи точ так же не знаю.

    Как сделать чтобы я вставил код, например в мемо1 и веббраузер мне показал это frame?
    На сайте например на юкоз ( раньше там сидел) Если добавить что нибудь на сайт у них можно через визуальный html редактор добавить на сайт этот код и он будет на сайте работать нормально и не надо ни чего обновлять... вот и сам код

    <!-- InstaForex.com --><iframe src="http://informers.instaforex.com/ru/quotes_online/informer/sz=240_200&t=i&ticker=AUDUSD~EURCHF~EURGBP~EURJPY~EURUSD~GBPUSD~NZDUSD~USDCAD~USDCHF~USDJPY&tz=0&form=full&c1=e62b2b&c2=b8b8b8&c3=FFFFFF&style=logo&br=br_r&t=i&i=1" frameborder="0" width="240" height="200" scrolling="no" title="ИнстаФорекс - универсальный Форекс (Forex) портал для трейдеров"></iframe><noframes><a href="https://www.instaforex.com/ru/">ИнстаФорекс портал</a></noframes><!-- InstaForex.com -->
     
  11. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    то что вы мне дали этот код
    wb1.Navigate('http://ecal.ru.forexprostools.com/e_cal.php?duration=daily&top_text_color=FFFFFF&header_text_color=FFFFFF&bg1=FFFFFF&bg2=CEEBFF&border=CBCBCB');

    Он робит но во время выхода новостей он не показывает что она вышла а на их сайте показывает, после обновления и у меня в программе тоже показывает но вот а обновлять не хотелось бы надо как у них на сайте было, я на сайте не обновляю страничку а новости сами обновляются) надо бы как нить исправить))