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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.02.2011, 09:13
Poma Poma вне форума
Прохожий
 
Регистрация: 05.02.2011
Сообщения: 2
Репутация: 10
Вопрос PascalABC.Net Открытие html страниц

Помоги те мне. Есть код. Программа должна открывать страницы нужного мне сайта и при открытии одной страницы, переходить на следующую. Страница открывается, но на следующую не переходит. В чем ошибка?

Код:
#apptype windows
#reference 'System.Windows.Forms.dll'
#reference 'System.Drawing.dll'
 
uses System.Windows.Forms;
 
var MyForm: Form; web1: WebBrowser;  urls: array of string; i: integer;
 
procedure ReadInfo(sender: object; args: System.Windows.Forms.WebBrowserDocumentCompletedEventArgs);
var s: string;
begin
 
var f := new System.IO.StreamWriter(application.StartupPath+'\Temp.txt');
  f.Write(web1.DocumentText);
  f.Close;
var f2 := new System.IO.StreamReader(application.StartupPath+'\Temp.txt');
  s:= f2.ReadToEnd;
  f2.Close;
 
  var startindex:=pos('price_num',s);
  var endindex:=pos('span',s);
  var str:=copy(s,startindex+11,endindex-startindex-11);
  var st:=StrToInt(str);
  MessageBox.Show(st);
 
  inc(i);                     //здесь увеличиваем i
    web1.Url:= new System.Uri(urls[i]);  //и вызываем тоже с индексом i
    web1.ResetBackColor;
  end;
 
begin
  MyForm:= new Form;
 
  web1:= new WebBrowser;
  web1.Dock:= dockstyle.Fill;
  web1.DocumentCompleted+= ReadInfo;
 
  SetLength(urls,1000000);
  for i:= 0 to 100000 do      //здесь считаем с помощью i
  urls[i]:= 'http://www.example.com/user?id='+IntToStr(100000+i);
      //и индекс здесь тоже должен быть i, и прибавляем к 100000 тоже i, чтобы элементы разными были
 
  MyForm.Controls.Add(web1);
 
  web1.Url:= new System.Uri(urls[0]); //здесь 0 должен быть, так как переходит на первую страницу
  web1.ResetBackColor;
 
  Application.Run(myForm);
end.
Ответить с цитированием
  #2  
Старый 03.03.2011, 04:43
fuckall666 fuckall666 вне форума
Прохожий
 
Регистрация: 03.03.2011
Сообщения: 2
Репутация: 10
По умолчанию

Подскажите пожалуйста, как вы учились работать в PascalABC.net?

Дело в том что у меня курсовая "использование форм при разработке приложений на PascalABC.net"
Тут ведь нет конструктора/дизайнера форм! Как вообще с ними работать?
Да..маломальский интерфейс можно, но когда дело до ходит до динамически меняющегося положения объектов на форме, то все..
Ответить с цитированием
  #3  
Старый 04.03.2011, 21:01
Poma Poma вне форума
Прохожий
 
Регистрация: 05.02.2011
Сообщения: 2
Репутация: 10
По умолчанию

Я сам еще полностью не изучил pabc.net .
А что вам именно надо?
Насчет изменения положения объектов, то в справке есть пример:

Код:
uses GraphABC;
begin
  LockDrawing;
  for var i:=1 to 500 do
  begin
    Window.Clear;
    Brush.Color := clGreen;
    Ellipse(i,100,i+100,200);
    Redraw;
    Sleep(1);
  end;
end.
Ответить с цитированием
  #4  
Старый 29.03.2011, 16:27
fuckall666 fuckall666 вне форума
Прохожий
 
Регистрация: 03.03.2011
Сообщения: 2
Репутация: 10
По умолчанию

Хочу уметь переносить программы с PascalABC в PascalABC.net

к примеру вот такая игра..
Код:
uses vcl,PointRect;
type
    TDirection = (None,Up,Down,Left,Right);
var
   Direction : TDirection;
   x,i,wins,faults:word;
   go,timeron,faulting: boolean;
//$VCLDESIGN+
var
  Form1: Form;
  Shape1: Shape;
  Shape2: Shape;
  Shape3: Shape;
  Shape4: Shape;
  Shape5: Shape;
  Panel1: Panel;
  TextLabel1: TextLabel;
  TextLabel2: TextLabel;
  TextLabel3: TextLabel;
  TextLabel4: TextLabel;
  TextLabel5: TextLabel;
  TextLabel6: TextLabel;
  TrackBar1: TrackBar;
  Button1: Button;
  Timer1: Timer;
//$VCLDESIGN-

procedure KeyDown(Key:integer);
begin
TextLabel6.Caption:='Èãðà..';
case Key of
   VK_Left: begin Direction := Left; TrackBar1.Position:=TrackBar1.Position+1; end;
   VK_Up: begin Direction := Up; TrackBar1.Position:=TrackBar1.Position+1; end;
   VK_Right: begin Direction := Right; TrackBar1.Position:=TrackBar1.Position-1; end;
   VK_Down: begin Direction := Down; TrackBar1.Position:=TrackBar1.Position-1; end;
   VK_Escape: Halt;
   107: TrackBar1.Position:=TrackBar1.Position+1;
   109: TrackBar1.Position:=TrackBar1.Position-1;
  end;
end;

procedure BackToStart;
begin
     TextLabel6.Caption:='Àâàðèÿ!!!';
     Timer1.Stop;
         Shape5.Top:=384;
         Shape5.Left:=288;
end;

procedure Timer1OnTimer;
begin
    if((Shape5.Top <= 10)and(go=true)) then begin go:=false; inc(wins); TextLabel4.Caption:=IntToStr(wins);   TextLabel6.Caption:='Óñïåõ'; Direction:=none; Shape5.Top:=384; Shape5.Left:=288;end;
     if((Shape5.Top > Form1.Height div 2 - 5) and (Shape5.Top < Form1.Height div 2 + 5)) then go:=true;

    if (
       (InterSectRect(RectF(Shape1.Left,Shape1.Top,Shape1.Left+Shape1.Width,Shape1.Top+Shape1.Height),
                      RectF(Shape5.Left,Shape5.Top,Shape5.Left+Shape5.Width,Shape5.Top+Shape5.Height)))
    or (InterSectRect(RectF(Shape2.Left,Shape2.Top,Shape2.Left+Shape2.Width,Shape2.Top+Shape2.Height),
                      RectF(Shape5.Left,Shape5.Top,Shape5.Left+Shape5.Width,Shape5.Top+Shape5.Height)))
    or (InterSectRect(RectF(Shape3.Left,Shape3.Top,Shape3.Left+Shape3.Width,Shape3.Top+Shape3.Height),
                      RectF(Shape5.Left,Shape5.Top,Shape5.Left+Shape5.Width,Shape5.Top+Shape5.Height)))
    or (InterSectRect(RectF(Shape4.Left,Shape4.Top,Shape4.Left+Shape4.Width,Shape4.Top+Shape4.Height),
                      RectF(Shape5.Left,Shape5.Top,Shape5.Left+Shape5.Width,Shape5.Top+Shape5.Height)))
       )

                      then
                          if (faulting = false)
                          then
                              begin
                               faulting := true;
                               inc(faults);
                               TextLabel5.Caption:=IntToStr(faults);
                               BackToStart;
                              end
                          else
                      else faulting:=false;


  if (Shape1.Left > Form1.Width) then Shape1.Left:=0; Shape1.Left:=Shape1.Left+x;
  if (Shape2.Left < 0) then Shape2.Left:=Form1.Width; Shape2.Left:=Shape2.Left-(x+2);
  if (Shape3.Left > Form1.Width) then Shape3.Left:=0; Shape3.Left:=Shape3.Left+(x+2);
  if (Shape4.Left < 0) then Shape4.Left:=Form1.Width; Shape4.Left:=Shape4.Left-(x+3);

  case Direction of
       Left: begin Shape5.left:=Shape5.left-(x+2); if (Shape5.Left < 0) then Shape5.Left:=Form1.Width; end;
       Up: begin Shape5.Top:=Shape5.Top-(x+2); if (Shape5.Top < 0) then Shape5.Top:=Form1.Height-TrackBar1.Height; end;
       Right: begin Shape5.left:=Shape5.left+(x+2); if (Shape5.Left > Form1.Width) then Shape5.Left:=0; end;
       Down: begin Shape5.Top:=Shape5.Top+(x+2); if (Shape5.Top > Form1.Height-TrackBar1.Height) then Shape5.Top:=0; end;
  end;
end;



procedure TrackBar1OnChange;
begin
Timer1.Stop;
  case TrackBar1.Position of
  0: x:=1;
  1: x:=2;
  2: x:=3;
  3: x:=4;
  4: x:=5;
  end;
Timer1.Start;
end;

procedure Button1OnClick;
begin
  if (Timeron = true) then begin timeron:=false; Timer1.Stop; end
  else  begin timeron:=true; Timer1.Start; end;
end;

procedure Form1OnCreate;
begin
  x:=2;
  wins:=0;
  faults:=0;
  faulting:=false;
  Go:=true;
  timeron:=true;
end;

procedure InitControls;
begin
  Form1:= Form.Create(0,0,640,533);
  Form1.InitControl(True,False,alNone,crDefault,clBtnFace,'Ïåðåéäè äîðîãó','');
  Shape1:= Shape.Create(Form1,32,288,65,41);
  Shape1.InitControl(True,True,alNone,crDefault,0,'0','');
  Shape2:= Shape.Create(Form1,408,216,73,49);
  Shape2.InitControl(True,True,alNone,crDefault,0,'0','');
  Shape3:= Shape.Create(Form1,224,136,41,49);
  Shape3.InitControl(True,True,alNone,crDefault,0,'0','');
  Shape4:= Shape.Create(Form1,472,64,73,49);
  Shape4.InitControl(True,True,alNone,crDefault,0,'0','');
  Shape5:= Shape.Create(Form1,288,384,33,33);
  Shape5.InitControl(True,True,alNone,crDefault,0,'0','');
  Panel1:= Panel.Create(Form1,0,448,625,49);
  Panel1.InitControl(True,True,alNone,crDefault,clBtnFace,'','');
  TextLabel1:= TextLabel.Create(Panel1,8,32,48,13);
  TextLabel1.InitControl(True,True,alNone,crDefault,clBtnFace,'Ñêîðîñòü','');
  TextLabel2:= TextLabel.Create(Panel1,160,8,35,13);
  TextLabel2.InitControl(True,True,alNone,crDefault,clBtnFace,'Ïîáåä:','');
  TextLabel3:= TextLabel.Create(Panel1,160,24,40,13);
  TextLabel3.InitControl(True,True,alNone,crDefault,clBtnFace,'Àâàðèé:','');
  TextLabel4:= TextLabel.Create(Panel1,208,8,6,13);
  TextLabel4.InitControl(True,True,alNone,crDefault,clBtnFace,'0','');
  TextLabel5:= TextLabel.Create(Panel1,208,24,6,13);
  TextLabel5.InitControl(True,True,alNone,crDefault,clBtnFace,'0','');
  TextLabel6:= TextLabel.Create(Panel1,376,8,138,29);
  TextLabel6.InitControl(True,True,alNone,crDefault,clBtnFace,'Îñòîðîæíî!','');
  TrackBar1:= TrackBar.Create(Panel1,0,0,150,25);
  TrackBar1.InitControl(True,True,alNone,crDefault,clBtnFace,'TrackBar1','');
  Button1:= Button.Create(Panel1,240,8,75,25);
  Button1.InitControl(True,True,alNone,crDefault,0,'Play/Pause','');
  Timer1:= Timer.Create;
  Timer1.Interval:= 10;
  Shape2.Shape:= stEllipse;
  Shape4.Shape:= stEllipse;
  Shape5.Shape:= stCircle;
  TextLabel6.Font.Color:= clRed;
  TextLabel6.Font.Size:= 18;
  TrackBar1.Max:= 5;
  TrackBar1.Position:= 0;
  TrackBar1.MarkerSize:= 20;
  TrackBar1.TickMarks:= tmBottomRight;
  Form1.OnCreate:=Form1OnCreate;
  Form1.OnKeyDown:=KeyDown;
  TrackBar1.OnChange:=TrackBar1OnChange;
  Button1.OnClick:=Button1OnClick;
  Timer1.OnTimer:=Timer1OnTimer;
  Form1.Position:= poScreenCenter;
  Form1.OnCreate;
  Form1.Show;
  Timer1.Start;
end;

begin
  InitControls;
end.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter