Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 4
Регистрация: 07.10.2012
Сообщений: 123
1

Как сделать ограничение на перемещение? Или я не знаю как называется это правильно. (См. внутри)

16.12.2012, 11:20. Просмотров 1826. Ответов 17
Метки нет (Все метки)


Если нажимать на кнопки ВПРАВО ВЛЕВО ВВЕРХ ВНИЗ робот Петька перемещается соответственно этим кнопкам. А как сделать так, чтобы Петька не заезжал на другие кнопки? Чтобы выдавалось, например, сообщение "Не могу дальше". Ну или без сообщения, просто чтобы остановился около других объектов на форме. Что и где нужно прописать?
Delphi
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
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons;
type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    Label1: TLabel;
    Shape1: TShape;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    SpeedButton4: TSpeedButton;
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
     private
    { Private declarations }
  public
    { Public declarations }
  end;
  var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
button1.Top:=button1.Top-1;
if (button1.Top<0)  then
    begin
         button1.Top:=0;
    end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
    button1.Top:=button1.Top+1;
if (button1.Top>471)  then
   begin
         button1.Top:=471;
        end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
button1.Left:=button1.Left+1;
if (button1.left>649) then
begin
  button1.Left:=649;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
button1.Left:=button1.Left-1;
if button1.Left<0 then
begin
  button1.left:=0;
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
CH,CW:integer;
begin
randomize;
  CH:=random(ClientHeight-speedbutton1.Height);
  CW:=random(ClientWidth-speedbutton1.Width);
  if (CH<0) or (CW<0)  then
    begin
     CH:=CH+speedbutton1.Height;
     CW:=CW+speedbutton1.Width;
     speedbutton1.Top:=CH;
     speedbutton1.Left:=CW;
    end
  else
    speedbutton1.Top:=CH;
    speedbutton1.Left:=CW;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
shape1.width:=shape1.width + 1;
shape1.height:=shape1.height + 1;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
shape1.width:=shape1.width - 1;
shape1.height:=shape1.height - 1;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
close;
end;
end.
0
Миниатюры
Как сделать ограничение на перемещение? Или я не знаю как называется это правильно. (См. внутри)  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2012, 11:20
Ответы с готовыми решениями:

Вернуть строку в режим ввода (не знаю как это правильно называется)
Добрый день! Значит, проблема: у меня есть программа, что-то из серии калькулятора множеств. Вот...

Как сделать, не знаю как это называется :)
Есть CMS где в tpl файле пишутся например {IP} и это соответственно выводит IP Как сделать так...

Отметка о прочтённом сообщении. Не знаю как это называется правильно, поэтому не могу написать правильный заголовок
Здравствуйте! Как видно из заголовка - я не могу правильно написать вопрос. А это, возможно....

Ребят как мне сделать вот такую штуку(скрин внутри) обратная связь или как она там называется
обратная связь или как она там называется, как такую сделать

17
Мишка Косолапый :)
284 / 254 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
16.12.2012, 11:58 2
Delphi
1
if (button1.top+button1.height>Button2.top) and (button1.top<Button2.top+button2.height) and (button1.left+button1.width>Button2.left) and (button1.left<Button2.left+button2.width) then
Примерно так, чтобы кнопка 1 не залазила на кнопку 2
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30867 / 20189 / 7874
Регистрация: 22.10.2011
Сообщений: 35,049
Записей в блоге: 6
16.12.2012, 12:03 3
Перед каждым шагом проверяй (есть такая функция IntersectRect) не будет ли BoundsRect твоего "Петьки" пересекаться с BoundsRect-ами других объектов, лежащих на форме (проверять все компоненты, прямо в цикле). Если проверка покажет, что IntersectRect новой позиции робота с BoundsRect какого-то другого контрола даст True - значит, позиции пересекутся, то есть, робот наедет на этот контрол. Шаг в таком случае не должен быть произведён.

Добавлено через 1 минуту
zuxa-zuxa, на форме как минимум 8 объектов, которые надо проверить. Ничего не отвалится, пока будешь все эти условия прописывать? Что за привычка, схватить первое доступное решение (причем не самое хорошее), и тут же его предлагать?
1
1 / 1 / 4
Регистрация: 07.10.2012
Сообщений: 123
16.12.2012, 12:15  [ТС] 4
Цитата Сообщение от UI Посмотреть сообщение
Перед каждым шагом проверяй (есть такая функция IntersectRect) не будет ли BoundsRect твоего "Петьки" пересекаться с BoundsRect-ами других объектов, лежащих на форме (проверять все компоненты, прямо в цикле). Если проверка покажет, что IntersectRect новой позиции робота с BoundsRect какого-то другого контрола даст True - значит, позиции пересекутся, то есть, робот наедет на этот контрол. Шаг в таком случае не должен быть произведён.

Добавлено через 1 минуту
zuxa-zuxa, на форме как минимум 8 объектов, которые надо проверить. Ничего не отвалится, пока будешь все эти условия прописывать? Что за привычка, схватить первое доступное решение (причем не самое хорошее), и тут же его предлагать?
А как пользоваться этой функцией в моей задаче?
0
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
16.12.2012, 13:02 5
Используешь ComponentCount и Components для поиска всех контролов на форме
Delphi
1
2
3
4
5
6
7
8
9
var
  I : Integer;
  aRect : TRect;
begin
  for I := 0 to ComponentCount - 1 do
    if Components[I] is TShape) then
      Continue
    else if IntersectRect(aRect, TControl(Components[I]).BoundsRect, Shape1.BoundsRect) then
      // Производим нужные действия.
За основу робота взял TShape, измени на что нужно.
0
1 / 1 / 4
Регистрация: 07.10.2012
Сообщений: 123
16.12.2012, 13:16  [ТС] 6
Цитата Сообщение от angstrom Посмотреть сообщение
Используешь ComponentCount и Components для поиска всех контролов на форме
Что за ComponentCount? Я просто не совсем еще в delphi разбираюсь. И куда нужно это прописывать?
0
Мишка Косолапый :)
284 / 254 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
16.12.2012, 13:23 7
Цитата Сообщение от UI Посмотреть сообщение
Что за привычка, схватить первое доступное решение (причем не самое хорошее), и тут же его предлагать?
Ну хоть такая)) Я других и не знал...
0
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
16.12.2012, 14:25 8
Цитата Сообщение от ArtemK Посмотреть сообщение
Что за ComponentCount?... И куда нужно это прописывать?
1. Смотри встроенную справку.
2. Чтобы не вписывать этот код в каждую кнопку, создай отдельную процедуру и пропиши её декларацию в секцию public, саму процедуру вызывай из "кнопок передвижения", где производишь перемещения робота.
0
Заблокирован
16.12.2012, 15:24 9
Я хотел предложить то же самое, но в несколько другом варианте. Причём в более лучшем. Но спорить с модераторами у меня нет никакой охоты. Они черезчур заносчивы и у них слишком много прав, и когда их перекашивает от злобы, если что скажешь поперёк, они начанют трясти мускулами.
В данном случаем каждый раз обращатся к компоненту, это лишняя трата времени, поэтому в моём предложении, при создании формы все данные о координатах компонентов заносились в массив, а в обработчике события нажатия клавиши формы, в цикле производилось работа с этим массивом.
1
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
16.12.2012, 15:39 10
Можно согласиться и с таким вариантом, но при этом любое изменение размеров формы может привести к неработоспособности программы, так как данные о контролах (BoundsRect) может не совпадать с данными в массиве при использовании Свойств Anchors, Align.
0
Заблокирован
16.12.2012, 17:03 11
Цитата Сообщение от angstrom Посмотреть сообщение
Можно согласиться и с таким вариантом, но при этом любое изменение размеров формы может привести к неработоспособности программы, так как данные о контролах (BoundsRect) может не совпадать с данными в массиве при использовании Свойств Anchors, Align.
А причём тут BoundsRect? Размеры формы меняй как хошь, а компоненты останутся на месте. Единственное что изменится, так координаты нижней точки окна. А координаты робота, они в своей перменной.
И вообще, в графике, если допускается измение каких либо параметров контекста вывода, например в играх, да и не только в них, все необходимые данные инициализируются заново. У формы есть свойство ресайз. Оно изменилось, так нужно задать его новые координаты. Если оно свернулось, то через соответсвующее свойство флагом запретить все манипуляции, с программой. Я думал это общеизвестно и не стал говорить об этом.
0
1 / 1 / 4
Регистрация: 07.10.2012
Сообщений: 123
16.12.2012, 19:35  [ТС] 12
Цитата Сообщение от Lirrk Посмотреть сообщение
А причём тут BoundsRect? Размеры формы меняй как хошь, а компоненты останутся на месте. Единственное что изменится, так координаты нижней точки окна. А координаты робота, они в своей перменной.
И вообще, в графике, если допускается измение каких либо параметров контекста вывода, например в играх, да и не только в них, все необходимые данные инициализируются заново. У формы есть свойство ресайз. Оно изменилось, так нужно задать его новые координаты. Если оно свернулось, то через соответсвующее свойство флагом запретить все манипуляции, с программой. Я думал это общеизвестно и не стал говорить об этом.
Может я на самом деле тупой, но я так и не понял что прописать в коде.((((

Добавлено через 5 минут
Цитата Сообщение от Lirrk Посмотреть сообщение
А причём тут BoundsRect? Размеры формы меняй как хошь, а компоненты останутся на месте. Единственное что изменится, так координаты нижней точки окна. А координаты робота, они в своей перменной.
И вообще, в графике, если допускается измение каких либо параметров контекста вывода, например в играх, да и не только в них, все необходимые данные инициализируются заново. У формы есть свойство ресайз. Оно изменилось, так нужно задать его новые координаты. Если оно свернулось, то через соответсвующее свойство флагом запретить все манипуляции, с программой. Я думал это общеизвестно и не стал говорить об этом.
Может я на самом деле тупой, но я так и не понял что прописать в коде.((((

Добавлено через 1 час 26 минут
Цитата Сообщение от UI Посмотреть сообщение
Перед каждым шагом проверяй (есть такая функция IntersectRect) не будет ли BoundsRect твоего "Петьки" пересекаться с BoundsRect-ами других объектов, лежащих на форме (проверять все компоненты, прямо в цикле). Если проверка покажет, что IntersectRect новой позиции робота с BoundsRect какого-то другого контрола даст True - значит, позиции пересекутся, то есть, робот наедет на этот контрол. Шаг в таком случае не должен быть произведён.

Добавлено через 1 минуту
zuxa-zuxa, на форме как минимум 8 объектов, которые надо проверить. Ничего не отвалится, пока будешь все эти условия прописывать? Что за привычка, схватить первое доступное решение (причем не самое хорошее), и тут же его предлагать?
Я так и не понял что нужно сделать.(((
0
Заблокирован
16.12.2012, 21:45 13
ArtemK,
Есть такая штука как TRect
В ней сохранятся такие вещи как координаты верхнего левого угла и нижнего правого некого объекта.
У любого компонента есть такие праметры как Left Top Width и Height
Для ваших целей вам не важно что за компонент, важно место, которое он занимает.
В TRect Left Top Bootom Right
У вас 11 обьектов + сама форма
Создаём массив на эти 11 обьектов
mass:= array [1..11] of TRect;
При создании формы нужно заполнить массив данными о координатах объектов.
Это можно сделать или через цикл тем методом, корый предложил UI
Или тупо присвоить
Вот например у вас кнопка But1
Скажем это первый объект
mass[1]:=(Rect(But1.left, But1.Top, But1.left + But1.Width, But1.Top + But1.Height));
потом другой элемент
mass[2]:=...........................
И так все 11

Потом, когда работаем с кнопками. У нас есть TRect Персонажа, то есть робота. у него меняются только перменные Left и Top
Изменяя их вы передвигаете робота.Но перед тем тем как иди, в цикле проверяем TRect робота имеющего новые предполагаемые координаты (они только предполагаются но не изменяются) с каждым TRect массива.
То есть прямоугольник персонажа проверяется на предмет вторжения в зону компонента. Если это происходит, выдаётся сообщение. если же нет - робот не натыкается на компонент и не персекает его, и ещё нужно сделать пороверку на пересечение границ окна - Left и Top в его Rect меняются и робот пермещается.
0
1 / 1 / 4
Регистрация: 07.10.2012
Сообщений: 123
16.12.2012, 22:43  [ТС] 14
Цитата Сообщение от Lirrk Посмотреть сообщение
ArtemK,
Есть такая штука как TRect
В ней сохранятся такие вещи как координаты верхнего левого угла и нижнего правого некого объекта.
У любого компонента есть такие праметры как Left Top Width и Height
Для ваших целей вам не важно что за компонент, важно место, которое он занимает.
В TRect Left Top Bootom Right
У вас 11 обьектов + сама форма
Создаём массив на эти 11 обьектов
mass:= array [1..11] of TRect;
При создании формы нужно заполнить массив данными о координатах объектов.
Это можно сделать или через цикл тем методом, корый предложил UI
Или тупо присвоить
Вот например у вас кнопка But1
Скажем это первый объект
mass[1]:=(Rect(But1.left, But1.Top, But1.left + But1.Width, But1.Top + But1.Height));
потом другой элемент
mass[2]:=...........................
И так все 11

Потом, когда работаем с кнопками. У нас есть TRect Персонажа, то есть робота. у него меняются только перменные Left и Top
Изменяя их вы передвигаете робота.Но перед тем тем как иди, в цикле проверяем TRect робота имеющего новые предполагаемые координаты (они только предполагаются но не изменяются) с каждым TRect массива.
То есть прямоугольник персонажа проверяется на предмет вторжения в зону компонента. Если это происходит, выдаётся сообщение. если же нет - робот не натыкается на компонент и не персекает его, и ещё нужно сделать пороверку на пересечение границ окна - Left и Top в его Rect меняются и робот пермещается.
Я прописал, как вы говорили. Но у меня ничего не работает. Проверьте пожалуйста, что не так???
Delphi
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
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons;
type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    Label1: TLabel;
    Shape1: TShape;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    SpeedButton4: TSpeedButton;
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure Label1Click(Sender: TObject);
    procedure Shape1ContextPopup(Sender: TObject; MousePos: TPoint;
      var Handled: Boolean);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  var
  Form1: TForm1; mass: array[1..11] of TRect;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
mass[11]:=(Rect(button1.left, button1.Top,button1.left + button1.Width,button1.Top + button1.Height));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
mass[1]:=(Rect(button2.left, button2.Top, button2.left + button2.Width, button2.Top + button2.Height));
button1.Top:=button1.Top-1;
//if (button1.Top<0)  then
//begin
//button1.Top:=0;
//end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
mass[2]:=(Rect(button3.left, button3.Top, button3.left + button3.Width, button3.Top + button3.Height));
button1.Top:=button1.Top+1;
//if (button1.Top>471)  thenbegin button1.Top:=471;end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
mass[4]:=(Rect(button4.left, button4.Top, button4.left + button4.Width, button4.Top + button4.Height));
button1.Left:=button1.Left+1;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
mass[3]:=(Rect(button5.left, button5.Top, button5.left + button5.Width, button5.Top + button5.Height));
button1.Left:=button1.Left-1;
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
mass[7]:=(Rect(label1.left, label1.Top, label1.left + label1.Width, label1.Top + label1.Height));
end;
procedure TForm1.Shape1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
mass[8]:=(Rect(shape1.left, shape1.Top, shape1.left + shape1.Width, shape1.Top + shape1.Height));
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
CH,CW:integer;
begin
mass[6]:=(Rect(speedbutton1.left, speedbutton1.Top, speedbutton1.left + speedbutton1.Width, speedbutton1.Top + speedbutton1.Height));
randomize;
  CH:=random(ClientHeight-speedbutton1.Height);
  CW:=random(ClientWidth-speedbutton1.Width);
  if (CH<0) or (CW<0)  then
    begin
     CH:=CH+speedbutton1.Height;
     CW:=CW+speedbutton1.Width;
     speedbutton1.Top:=CH;
     speedbutton1.Left:=CW;
    end
  else
    speedbutton1.Top:=CH;
    speedbutton1.Left:=CW;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
mass[9]:=(Rect(speedbutton2.left, speedbutton2.Top, speedbutton2.left + speedbutton2.Width, speedbutton2.Top + speedbutton2.Height));
shape1.width:=shape1.width + 1;
shape1.height:=shape1.height + 1;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
mass[10]:=(Rect(speedbutton3.left, speedbutton3.Top, speedbutton3.left + speedbutton3.Width, speedbutton3.Top + speedbutton3.Height));
shape1.width:=shape1.width - 1;
shape1.height:=shape1.height - 1;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
mass[5]:=(Rect(speedbutton4.left, speedbutton4.Top, speedbutton4.left + speedbutton4.Width, speedbutton4.Top + speedbutton4.Height));
close;
end;
end.
0
Вложения
Тип файла: rar lab16.rar (240.7 Кб, 1 просмотров)
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
16.12.2012, 22:53 15
Цитата Сообщение от Lirrk Посмотреть сообщение
А причём тут BoundsRect?
При том, если у ТС всё сделано по дефолту, то никаких нареканий к твоему методу, но, к примеру, он захотел при ресайзе формы чтобы один из контролов был прижат к нижнему краю. И что дальше с твоим методом? Всё он уже бесполезен.

Добавлено через 3 минуты
Всё ещё используешь этот код?
Delphi
1
2
3
4
5
6
7
8
9
10
11
...
  CH:=random(ClientHeight-speedbutton1.Height);
  CW:=random(ClientWidth-speedbutton1.Width);
  if (CH<0) or (CW<0)  then
    begin
     CH:=CH+speedbutton1.Height;
     CW:=CW+speedbutton1.Width;
     speedbutton1.Top:=CH;
     speedbutton1.Left:=CW;
    end
...
Я уже говорил автору этих строк что проверка
Delphi
1
  if (CH<0) or (CW<0)  then
бессмысленна, так как никогда не произойдёт. Random не может сгенерировать число меньше 0.
0
1 / 1 / 4
Регистрация: 07.10.2012
Сообщений: 123
16.12.2012, 22:57  [ТС] 16
Цитата Сообщение от angstrom Посмотреть сообщение
При том, если у ТС всё сделано по дефолту, то никаких нареканий к твоему методу, но, к примеру, он захотел при ресайзе формы чтобы один из контролов был прижат к нижнему краю. И что дальше с твоим методом? Всё он уже бесполезен.

Добавлено через 3 минуты
Всё ещё используешь этот код?
Delphi
1
2
3
4
5
6
7
8
9
10
11
...
  CH:=random(ClientHeight-speedbutton1.Height);
  CW:=random(ClientWidth-speedbutton1.Width);
  if (CH<0) or (CW<0)  then
    begin
     CH:=CH+speedbutton1.Height;
     CW:=CW+speedbutton1.Width;
     speedbutton1.Top:=CH;
     speedbutton1.Left:=CW;
    end
...
Я уже говорил автору этих строк что проверка
Delphi
1
  if (CH<0) or (CW<0)  then
бессмысленна, так как никогда не произойдёт. Random не может сгенерировать число меньше 0.
И как же поступить? Я уже все перепробовал и ничего не получается.(
Завтра сдавать мне, а я никак не сделаю.
0
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
16.12.2012, 23:00 17
Или я чего-то не понимаю, но тебе уже дали готовый код в другой твоей теме про робота Петьку. Ах нет, извиняюсь, это твой сотоварищ по несчастью задал такой же вопрос и получил готовый код.
0
1 / 1 / 4
Регистрация: 07.10.2012
Сообщений: 123
16.12.2012, 23:05  [ТС] 18
Цитата Сообщение от angstrom Посмотреть сообщение
Или я чего-то не понимаю, но тебе уже дали готовый код в другой твоей теме про робота Петьку.
Нет, он не готовый. Он для примера был. Но у меня тоже не пашет.

Добавлено через 2 минуты
Поставил я условия Left, Top и для объектов. Вроде работает, но с некоторыми глюками. Но сойдет! Ребят, всем спасибо за помощь!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2012, 23:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

При включении нетбука появляется, как бы окно, я не знаю что это такое, подскажите как можно убрать это (фото внутри)

Это яйца (икра, не знаю как называется) улиток?
Что это?

div-ное окно!или я не знаю как это сделать(
Ребят как сделать,чтобы при переходе по закладкам правая часть формы менялась без перехода на...

Нужна помощь по скрипту/макросу(не знаю как правильно называется)
Вбрела в голову идея. Для форума forum_name сделать автообновление аватара() и не знаю как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.