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

Delphi Sources



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

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

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

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#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 .
А что вам именно надо?
Насчет изменения положения объектов, то в справке есть пример:

Код:
1
2
3
4
5
6
7
8
9
10
11
12
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

к примеру вот такая игра..
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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, время: 10:38.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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