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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2022, 22:51   #41
Noob_Infor
Пользователь
 
Регистрация: 17.10.2022
Сообщений: 34
По умолчанию

BDA, Одна ошибка исправилась, как я убрал, а эта осталась
Unit1.Form1.inc(3) : Переменной 'resources' присвоено значение, но оно нигде далее не используется
Noob_Infor вне форума Ответить с цитированием
Старый 22.10.2022, 22:53   #42
Noob_Infor
Пользователь
 
Регистрация: 17.10.2022
Сообщений: 34
По умолчанию

BDA, у меня есть картинки там
в дизайнере фон, две картинки PictureBox и кнопка
Noob_Infor вне форума Ответить с цитированием
Старый 22.10.2022, 23:02   #43
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Noob_Infor Посмотреть сообщение
две картинки PictureBox
Когда я в дизайнере добавил картинку в PictureBox, то в Unit1.Form1.inc появилась строка:
Код:
self.pictureBox1.Image := (System.Drawing.Image(resources.GetObject('pictureBox1.Image')));
У вас такой строки нет. Попробуйте удалить строку:
Код:
var resources: System.ComponentModel.ComponentResourceManager := new System.ComponentModel.ComponentResourceManager(typeof(Form1));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.10.2022, 18:08   #44
Noob_Infor
Пользователь
 
Регистрация: 17.10.2022
Сообщений: 34
По умолчанию

BDA, БОЖЕ , У МЕНЯ ПОЧТИ ПОЛУЧИЛОСЬ , НО ОНО НЕ КРУТИТСЯ ВОКРУГ ПЛАНЕТЫ, А ПРОСТО ИДЕТ ПО ЛИНИИ ВПЕРЕД, КАК ИСПРАВИТЬ ПОМОГИТЕЕЕЕ, Я РАДУЮСЬ
Noob_Infor вне форума Ответить с цитированием
Старый 23.10.2022, 18:17   #45
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Использовать формулу круга для задания координат. Формула круга x*x+y*y=r*r где x и y - координаты на плоскости (в окне), r - радиус окружности вокруг точки (0, 0). Я не просто так уточнил про точку с определенными координатами. Для задания центра вращения вам понадобится изменить формулу так, чтобы она содержала координаты центра.

Но можно использовать и тригонометрические функции. x = r * cos(a); y = r * sin(a)
macomics вне форума Ответить с цитированием
Старый 23.10.2022, 18:20   #46
Noob_Infor
Пользователь
 
Регистрация: 17.10.2022
Сообщений: 34
По умолчанию

macomics, Да я не знаю куда их тут вставить, я де бил

Код:
Unit Unit1;

interface

uses System, System.Windows.Forms;

type
  Form1 = class(Form)
    procedure button1_Click(sender: Object; e: EventArgs);
  {$region FormDesigner}
  internal
    {$resource Unit1.Form1.resources}
    pictureBox2: PictureBox;
    button1: Button;
    pictureBox1: PictureBox;
    {$include Unit1.Form1.inc}
  {$endregion FormDesigner}
  public
    constructor;
    begin
      InitializeComponent;
    end;
  end;

implementation
procedure Form1.button1_Click(sender: Object; e: EventArgs);
begin
  pictureBox1.Left := 100;
end;
end.
Noob_Infor вне форума Ответить с цитированием
Старый 23.10.2022, 18:21   #47
Noob_Infor
Пользователь
 
Регистрация: 17.10.2022
Сообщений: 34
По умолчанию

Noob_Infor, я вообще не знаю коды этого всего
Noob_Infor вне форума Ответить с цитированием
Старый 23.10.2022, 18:32   #48
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Ну осталось немного. Через дизайнер формы киньте Timer. Нажмите на таймер и в инспекторе объектов на вкладке Свойства измените Enabled на True, на вкладке События кликните 2 раза на пустое место справа от Tick. Попадете в обработчик тика, вставьте код:
Код:
  angle := angle + PI * 10 / 360;
  if angle > 2 * PI then
    angle := angle - 2 * PI;
  PictureBox1.Left := round(100 + 50 * sin(angle));
  PictureBox1.Top := round(100 + 50 * cos(angle));
Перед строкой implementation вставьте:
Код:
var
  angle: real;
Потом поиграйте с числами 10 / 360, 100, 50, чтобы отрегулировать скорость и форму орбиты.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.10.2022, 18:33   #49
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
Unit Unit1;

interface

uses System, System.Windows.Forms;

type
  Form1 = class(Form)
    procedure button1_Click(sender: Object; e: EventArgs);
  {$region FormDesigner}
  internal
    {$resource Unit1.Form1.resources}
    pictureBox2: PictureBox;
    button1: Button;
    pictureBox1: PictureBox;
    {$include Unit1.Form1.inc}
  {$endregion FormDesigner}
  public
    constructor;
    begin
      InitializeComponent;
    end;
  end;

{Добавляете здесь глобальную переменную, а на форму добавляете объект Timer}
var
   angle: Single;

implementation
procedure Form1.button1_Click(sender: Object; e: EventArgs);
begin
  pictureBox1.Left := 100;
end;

{Добавленный объект Timer должен выполнять следующий код.
   Не надо это копировать!
   Двойным кликом по таймеру на форме шаблон это процедуры должен появиться автоматически.}
procedure Form1.timer1_Timer(sender: Object; e: EventArgs);
// Определяем переменные, которые нам понадобятся для расчетов
var X0, Y0, R: Integer;
begin
// Изменяем угол
   angle := angle + PI / 360;
// Вычисляем радиус
   if pictureBox2.Width > pictureBox2.Height
      then R := pictureBox2.Width
      else R := pictureBox2.Height;
   if self.Width < self.Height
      then R := (self.Width - R) div 2
      else R := (self.Height - R) div 2;
// Вычисляем X0 и Y0
   X0 := self.Width div 2;
   Y0 := self.Height div 2;
// Определяем координату X для PictureBox2
  pictureBox2.Left := Round(X0 + R * cos(angle));
// Определяем координату Y для PictureBox2
  pictureBox2.Top := Round(Y0 + R * sin(angle));
end;
end.
ADD: BDA опередил.

Последний раз редактировалось macomics; 23.10.2022 в 18:37.
macomics вне форума Ответить с цитированием
Старый 23.10.2022, 19:17   #50
Noob_Infor
Пользователь
 
Регистрация: 17.10.2022
Сообщений: 34
По умолчанию

BDA, а что если в дизайнере нету таймера?
Noob_Infor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal ABCNET. Найти сколько зёрен поместится на шахматной доске и их вес a_clarke Помощь студентам 8 13.10.2015 15:17
Помогите пожалуйста. (Pascal) Amfetamin Помощь студентам 19 15.12.2014 23:59