Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 10:33   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию TWebBrowser - отображение строки не соответствует отображению строки в браузере

Как исправить???? В браузере нормально отображается "Ветер м/сек" строка, а в программе нет. выложил скрины

вот код программы (писанный на делфи 2010)
Основная

Код:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, OleCtrls, SHDocVw, XPMan, ShellAnimations,
  IdCookieManager, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls, ShellAPI, Menus, ImgList;

type
  TForm4 = class(TForm)
    Image1: TImage;
    WebBrowser1: TWebBrowser;
    IdHTTP1: TIdHTTP;
    IdAntiFreeze1: TIdAntiFreeze;
    IdCookieManager1: TIdCookieManager;
    TrayIcon1: TTrayIcon;
    ShellResources1: TShellResources;
    XPManifest1: TXPManifest;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Timer1: TTimer;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    ImageList1: TImageList;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure TrayIcon1DblClick(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
  private
  procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

uses Unit1, Unit2;

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
begin
Application.ProcessMessages;
WebBrowser1.Navigate('http://pogoda.gb7.ru/');
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
Application.ProcessMessages;
form1.Button1.Click;
sleep(100);
WebBrowser1.Refresh;
end;

procedure TForm4.Button3Click(Sender: TObject);
begin
form2.ShowModal;
end;

procedure TForm4.Button4Click(Sender: TObject);
begin
ShellExecute(Handle, nil, 'http://tobolsk.clan.su/', nil, nil, SW_SHOWNORMAL);
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://pogoda.gb7.ru/');
end;

procedure TForm4.N10Click(Sender: TObject);
begin
Close;
end;

procedure TForm4.N1Click(Sender: TObject);
begin
Button3.Click;
end;

procedure TForm4.N3Click(Sender: TObject);
begin
show;
end;

procedure TForm4.N4Click(Sender: TObject);
begin
hide;
end;

procedure TForm4.N6Click(Sender: TObject);
begin
ShellExecute(Handle, nil, 'http://tobolsk.clan.su/', nil,nil, SW_SHOWNORMAL);
end;

procedure TForm4.N8Click(Sender: TObject);
begin
Button2.Click;
end;

procedure TForm4.Timer1Timer(Sender: TObject);
begin
form4.Caption:='Погода в Тобольске 2011 ver. 1.1   '+timetostr(gettime);
end;

procedure TForm4.TrayIcon1DblClick(Sender: TObject);
begin
if Visible=true then
hide
else
Show;
end;

procedure TForm4.WMSysCommand(var Msg: TWMSysCommand);
begin
if Msg.CmdType = SC_MINIMIZE then
hide
else
inherited;
end;

end.
Изображения
Тип файла: jpg 1.JPG (117.7 Кб, 130 просмотров)
Тип файла: jpg 2.JPG (123.5 Кб, 128 просмотров)
cargo29 вне форума Ответить с цитированием
Старый 14.05.2011, 10:33   #2
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

вторая форма на которой происходит обработка

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
  StdCtrls, IdMultipartFormData, IdAntiFreeze, IdAntiFreezeBase;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    Button1: TButton;
    headmemo: TMemo;
    endmemo: TMemo;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    function Replace(str,x,y:string):string;
    procedure SendFile(patch:string; idhttp:TIdHTTP; php:string; edit:TEdit);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure Tform1.SendFile(patch:string; idhttp:TIdHTTP; php:string; edit:TEdit);
var stream:TIdMultiPartFormDataStream;
begin
stream:=TIdMultiPartFormDataStream.Create;
stream.AddFile('filename', patch,'text/html');
IdHTTP.HandleRedirects:=true;
try
  Edit.text:=idhttp.Post(php, stream);
finally
stream.Free;
end;


end;



function Tform1.Replace(str,x,y:string):string;
//str-строка в которой будет производиться замена
//x-подстрока которая должна быть заменена
//y-подстрока на которуб будет произведенна замена
var
buf1,buf2,buffer:string;
begin
buf1:='';
buf2:=str;
buffer:=str;
while Pos(x, buf2)>0 do
begin
buf2:=Copy(buf2,pos(x,buf2),(length(buf2)-Pos(x,buf2))+1);
buf1:=Copy(buffer,1,Length(buffer)-length(buf2))+y;
Delete(buf2,Pos(x,buf2), Length(x));
buffer:=buf1+buf2;
end;
Replace:=buffer;
end;




procedure TForm1.Button1Click(Sender: TObject);
var phpstring,s:string;
begin
Application.ProcessMessages;
getdir(0,s);
Memo1.Text:=(IdHTTP1.Get('http://www.gismeteo.ru/city/legacy/4590/'));
Memo1.Text:=copy(Memo1.Text, Pos('<table>', Memo1.Text), length(Memo1.Text)-Pos('<table>', Memo1.Text)+2);
Memo1.Text:=copy(Memo1.Text,1, Pos('</table>', Memo1.Text)+8);
Memo1.Text:='<table width="100%" border="1" bordercolor="#000000" cellpadding="0">'+Copy(Memo1.Text, Pos('<thead>', Memo1.Text), length(Memo1.Text)-Pos('<thead>', Memo1.Text)+2);
Memo1.Text:= Replace(Memo1.Text, ' class="wtlogo"','');
Memo1.Text:= Replace(Memo1.Text, ' class="current"','');
Memo1.Text:= Replace(Memo1.Text, ' class="df "','');
Memo1.Text:= Replace(Memo1.Text, ' class="df weekend"','');
Memo1.Text:= Replace(Memo1.Text, ' class="df"','');
Memo1.Text:= Replace(Memo1.Text, ' class="cloudness"','');
Memo1.Text:= Replace(Memo1.Text, ' class="persp"','');
Memo1.Text:= Replace(Memo1.Text, ' class="wind"','');
Memo1.Text:= Replace(Memo1.Text, ' class="wicon wind7"','');
Memo1.Text:= Replace(Memo1.Text, ' class="wicon wind0"','');
Memo1.Text:= Replace(Memo1.Text, ' class="wicon wind8"','');
Memo1.Text:= Replace(Memo1.Text, ' class="wicon wind6"','');
Memo1.Text:=headmemo.Text+Memo1.Text+endmemo.Text;
Memo1.Text:= Replace(Memo1.Text, '<th rowspan="2">&nbsp;</th>' ,'<th width="140" bgcolor="#D2FFFF" rowspan="2"><img src="logo.jpg" width="140" height="57" /></th>');
Memo1.Text:= Replace(Memo1.Text, '<th ','<th bgcolor="#D2FFFF" ');
Memo1.Text:= Replace(Memo1.Text, '<th>','<th bgcolor="#D2FFFF">');
Memo1.Text:= Replace(Memo1.Text, '<td>Ночь</td>', '<td bgcolor="#D2FFFF">Ночь</td>');
Memo1.Text:= Replace(Memo1.Text, '<td>Утро</td>', '<td bgcolor="#D2FFFF">Утро</td>');
Memo1.Text:= Replace(Memo1.Text, '<td>Вечер</td>', '<td bgcolor="#D2FFFF">Вечер</td>');
Memo1.Text:= Replace(Memo1.Text, '<td>День</td>', '<td bgcolor="#D2FFFF">День</td>');
Memo1.Text:= Replace(Memo1.Text, '<dl>','');
Memo1.Text:= Replace(Memo1.Text, '</dl>','');
Memo1.Text:= Replace(Memo1.Text, '<dd>','');
Memo1.Text:= Replace(Memo1.Text, '</dd>','');
Memo1.Lines.SaveToFile(s+'\index.htm');
phpstring:='http://pogoda.gb7.ru/add.php';
SendFile(s+'\index.htm', IdHTTP1, phpstring, Edit1);
end;

end.

_____________
Вы когда-нибудь научитесь давать создаваемым Вами темам
НОРМАЛЬНЫЕ АДЕКВАТНЫЕ НАЗВАНИЯ?!
Которые отражают СУТЬ проблемы?!
а не константацию того, что у Вас что-то не работает?!

я переименовал Вашу тему.
Но, строго говоря, такие темы надо просто закрывать или удалять!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.05.2011 в 11:52.
cargo29 вне форума Ответить с цитированием
Старый 17.05.2011, 10:06   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

народу много помогло )))) тему можно удалить! сделал. но причину так и не понял почему не правильно в программе отображалось а в браузере нормально
cargo29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Некорректное отображение страницы в браузере _PROGRAMM_ HTML и CSS 0 17.04.2010 17:58
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Отображение флєш в браузере Опера Syltan HTML и CSS 1 22.03.2010 06:35
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10