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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2017, 12:56   #1
Hollydolly
Новичок
Джуниор
 
Регистрация: 19.11.2017
Сообщений: 1
По умолчанию Одномерный массив

Ребят, нужна помощь. Делаю работу в делфи, надо показать сложение векторов в Arrow chart.Все сделал, но только без использования массивов. Теперь надо сделать то же только с помощью массивов, а я не особо в курсе как с ними работать. В общем я задаю два вектора, каждый с помощью 4 координат(x0,y0,x1,y1) и считаю их сумму . Как теперь задавать эти векторы с помощью массивов???
Вот мой код:
var
Form1: TForm1;
x0,y0,x1,y1,x2,y2,S: real;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender:TObject) ;
begin
With Series1 do
begin
x0:=strtofloat(edit1.Text);
y0:=strtofloat(edit2.Text);
x1:=strtofloat(edit3.Text);
y1:=strtofloat(edit4.Text);
x2:=strtofloat(edit5.Text);
y2:=strtofloat(edit6.Text);

AddArrow(x0,y0,x1,y1,' ',clRed);
AddArrow(x1,y1,x2,y2,' ',clBlue);
AddArrow(x0,y0,x2,y2,' ',clGreen);
S:=sqrt(sqr(x2-x0)+sqr(y2-y0));
label7.Caption:='Длина результирующего вектора= '+floattostr(S)
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
chart1.SeriesList[0].Clear;
end;

end.

Последний раз редактировалось Hollydolly; 19.11.2017 в 15:55.
Hollydolly вне форума Ответить с цитированием
Старый 21.11.2017, 12:21   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Если с массивами, то я бы сделал так :
Код:
const
  strnam : string = ' x0  y0  x1  y1  x2  y2  x3  y3 Proc'  ;
var
  Form1: TForm1;
  ArrX,ArrY: array [0..3] of real ;
  N_input : integer ;
  S : real ;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i,j : integer ; VarEdt : real ;
begin
  if N_input >7 then
    begin
      // тут делаем то что надо с уже введенным массивом
      N_input := 0; Button1.Caption := ' x0 ' ;
    end
  else
    begin
     i := N_input div 2;
     j := N_input - i - i ;
     VarEdt := StrToFloat(Edit1.Text) ;
     if j=0 then ArrX[i] := VarEdt else ArrY[i] := VarEdt ;
     Inc (N_input) ; j := N_input*4+1 ;
     Button1.Caption := Copy(strnam,j,4) ;
   end;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  N_input := 0; Button1.Caption := ' x0 '
end;
Окно ввода одно, а вводится то, что в данный момент написано на кнопке. После 8 кликов оба массивы заполнены, на кнопке надпись Proc. Нажимаем - получаем ту хрень, которую надо было сделать с этими векторами - и возвращаемся в первобытное состояние. Красотишша !

Можно и по другому: Поместить на форму еще одну кнопку Proc, в начале она неактивна. После ввода 8 значений она активируется, а кнопка x0 - наоборот. Тогда в обработчик второй кнопки уходит вся хрень .
Изображения
Тип файла: jpg Form1.JPG (7.5 Кб, 60 просмотров)

Последний раз редактировалось digitalis; 21.11.2017 в 12:33.
digitalis вне форума Ответить с цитированием
Старый 22.11.2017, 12:03   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Ну что, помогло? Или - абы спросить ?
digitalis вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в libcef.dll только с Delphi 7, в Delphi XE3 - нет noname_06 Общие вопросы Delphi 6 08.05.2013 06:49
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54